论最大化PoS区块链产能

   日期:2020-05-28     浏览:94    评论:0    
核心提示:【声明:研究进行中】【原文作者系CasperLabs经济学家Onur Solmaz】智能合约平台(如Ethereum)的网络参数控制出块频率、块算力或块大小。配置这些参数可决定全网每秒最大算力。我们希望通过选取合适的参数,使算力最大化。协议执行由被称为轮(rounds)的循环组成。每轮都由一个领导者(验证器)负责在该轮开始时出块。我们用区块周期来表示每轮时长,记为 Δ 。区块周期包含执行首批交易并打包进新块的时间,也包含该块传遍全网的时间。理论上,在上一轮结束前,领导者应有充裕的时间接收并验证前导区块区块

【声明:研究进行中】
【原文作者系CasperLabs经济学家Onur Solmaz】

智能合约平台(如Ethereum)的网络参数控制出块频率、块算力或块大小。配置这些参数可决定全网每秒最大算力。我们希望通过选取合适的参数,使算力最大化。

协议执行由被称为轮(rounds)的循环组成。每轮都由一个领导者(验证器)负责在该轮开始时出块。我们用区块周期来表示每轮时长,记为 Δ 。区块周期包含执行首批交易并打包进新块的时间,也包含该块传遍全网的时间。理论上,在上一轮结束前,领导者应有充裕的时间接收并验证前导区块,以便在本轮开始时声明该前导区块为本轮区块的父区块。如若不然,链就会分叉。

为防止验证器创建任意大小或任意多操作的区块,在协议层面,区块被施加了一定的限制。这些协议参数如下:

  1. 区块周期:定义如上。
  2. 区块大小上限:区块最大值,用字节表示。
  3. 区块负载上限:区块中执行交易的最大操作数。

工作核心目标是研究最大化平台效率的工作原理。具体讲,就是尽量提高网络算力 Pn ,即网络可处理的平均操作数;同时,尽量压缩与区块周期成正比的终决前时间。因此,若产能上涨增加了区块周期,我们将权衡[1]全网性能和用户体验。

区块周期可分为四个阶段,定义如下:

  1. 执行期:领导者开始依次执行交易池中的交易。当区块大小和负载接近上限时,领导者判定区块完成,并打包父块、默克尔根等相关信息。
  2. 传播期:该新出块传遍其他验证器。
  3. 验证期:其他验证器通过自己执行交易来验证区块。
  4. 表决期:验证器交换消息,并就区块达成共识。


定义每个验证器每秒执行的操作数为处理能力 P 。假设所有验证器处理能力相同,网络满负荷,此时,区块负载达到上限,记为 ω :

替换之前的公式可得上述公式。

在继续提升 Pn 之前,我们还需找到区块大小与传播时间的关联。

区块传播


收到较小区块的结点数量多于收到较大区块的结点数量。换言之,我们假设较小的区块总是比较大的区块传播的快。

区块链分叉的概率(或比率)经计算[2]:

换言之,若想保持分叉率(所谓孤块、叔块、孤块率)不变,那么增加区块大小或负载上限将必然增加区块周期。虽显而易见,但用数学方法表达却很有用。

网络处理能力的大趋势

传播时间 δp 对于区块大小 ν 的变化率,决定了当我们考虑更大的区块时,网络处理能力是增加,还是减少。为了说明这一点,我们考虑下面的例子。

关于区块大小的常量传播时间


这是完全理想情况——传播时间完全取决于区块大小。

关于区块大小的线性传播时间

曲线与常量情况一致。

若传播时间具有线性复杂度,ω 增加将提高网络处理能力。区块越大,产能越高。

关于区块大小的平方级传播时间


当 ω 趋于无穷时,Pn 接近 0 ,与之前情况相反。超过极值对应的 ω ,区块越大,产能越小。

这些例子清楚表明何时我们需要权衡产能与终决前时间。底线是,若传播时间复杂度少于或等于 O(n) ,我们就需要权衡;而当传播时间复杂度高于 O(n) 时,是否需要权衡,取决于参数。

区块传播模型

简明gossip(对话)协议

简明gossip协议定义如下:

相当于上述线性情况,a 是系数。若实际符合该区块传播方案,我们将权衡产能与终选前时间。

比特币区块传播(我们与之相似)

上述gossip协议未在区块链中使用。区块在链中传播涉及更多消息,矿工们会公布他们收到的区块,并发送请求下载没有的区块,避免浪费带宽。

(图示:交换信息,只需将区块消息从结点A到结点B发送一次)

为这类区块传播推导一个显式并不容易,或许也不可能。然而,即使无法导出这样的公式,我们仍然可以运行仿真来拟合模型。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服