论最大化PoS区块链产能

【声明:研究进行中】
【原文作者系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发送一次)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值