V神:以太坊信标链(Beacon Chain)的拟议替代设计

行业热点3年前 (2021)发布 qkledit
149,168 0 0

替代设计旨在提供一些关键属性,如单槽经济最终性和允许较低的**存款。

本文提出了以太坊信标链的拟议替代设计,该信标链可在未来长期切换(取代目前计划切换的CBC)。此替代设计旨在提供一些关键属性:

  • 在正常情况下,它提供了有意义的单时段经济最终性(即类似tendermint的属性):单时段重组的成本要高得多,即使大多数人串通,也可以实施,从而降低共识可提取价值(CEV)
  • 摆脱了对LMD鬼分岔选择的严重依赖,避免了已知的缺陷,并引入复杂的混合分岔选择规则来修复这些缺陷。
  • 可允许较低的**存款规模和较高数量的验证器
  • 保留经济最终性的属性,它最终接近一个非常大的数字(百万以太)

准备工作

使consensus成为一种异步且安全的一致性算法(如tendermint、Casper FFG…)。我们假设这个一致性算法有一些时隙或视图的概念,并且它试图在每个固定的时间段内达成一致性。我们还假设它以一组加权验证器作为输入(现有的BFT一致性算法可以很容易地修改以添加此属性)。

在下面的设计中,我们修改了consense,以便需要最终性的集合在每个视图中都是不同的。也就是说,Conconsus将使函数获得uValidator_uuSet(视图编号:int)-gt;;将[validator,int](int表示验证器余额)映射为输入,而不是可以为新视图生成验证器集的验证器集。getuValidatoruSet应具有以下属性:验证程序集根据从一个视图到下一个视图的最大1/R值进行更改,其中R(例如,R=8192)是恢复期的长度。更正式地说,我们希望:

V神:以太坊信标链(Beacon Chain)的拟议替代设计

其中x返回x的值的**值之和,diff返回每个键值的差(例如,diff({A:0.1,B:0.2},{B:0.1,C:0.3})={A:0.1,B:0.1,C:-0.3})。

在实践中,两组相邻验证器之间的差异将包括现有验证器的泄漏平衡以及以等于泄漏平衡的速率引入新验证器。

注意,这意味着如果两个终端的视图数量足够多,则可以在不减少的情况下确定双终端;这是有意为之,协议的工作方式与Casper FFG处理非活动泄漏的方式相同。

机制

我们使用两阶段分叉选择:

选择最后一个uu完成uuu块

从最新的uu最终确定的uuu块中,应用一些其他交叉选择(例如LMD重影)来选择头部

共识算法的视图将在每个插槽中进行尝试,并将基于get_uuupost_uuuuu状态(最新的uuuuuu完成的uuuuu块)。数据的验证程序集生成功能将作为输入传入。在视图I中,必须在Block.sLoot+I处从最新的uuu最终确定的uuuu区块链到最新的uuuuuuuu最终确定的uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。如果提示的父项是分叉选择的获胜者,则验证人需要准备并提交建议。

如果在某个视图中协商成功,则该视图中的提案将成为新的最新“最终”区块,以更改未来回合的验证程序集。如果失败,它将在下一个插槽/视图中进行下一次尝试。

V神:以太坊信标链(Beacon Chain)的拟议替代设计

注意:插槽应始终等于当前视图编号加上每个先前验证程序集中成功完成的视图编号之和。

我们受到以下处罚:

  • 用一致性算法确定周期约化罚
  • 不活动惩罚:如果链未能实现最终性,所有非参与者都将受到惩罚。该罚款旨在将R/2插槽后的余额减半。

属性

如果区块获得最终性,为了确定竞争区块,需要出现以下情况之一:

一些委员会被摧毁,其中≥ 其中1/3将减少,以实现不同区块的双重最终性

最近的委员会离线了。在R/3插槽之后,委员会进行足够的轮换,以便在不减少的情况下终止不同的区块。然而,这是以严重的不活动惩罚为代价的(≥ 攻击者余额的1/3)

在任何一种情况下,即使一个端块恢复了usize*委员会uu SIZE/3 ETH,也至少需要销毁存款。如果我们设置commit_usize=131072(ETH2委员会中每个插槽的验证器数量理论上限制为400万),那么该值为1398101 ETH。

该计划的其他重要特征包括:

  • 验证器的负载将非常稳定,并且无论存储了多少个验证器,每个插槽的委员会都将被处理为大小事务
  • 核查人员的工作量较低,因为他们可以在没有被要求加入委员会时睡觉
  • 可以允许休眠验证器在不牺牲安全性的情况下快速退出和退出

扩展:具有较小委员会的链终结性

如果出于效率原因,我们必须减少委员会规模,我们可以进行以下调整:

我们不选择最新的终止块,而是选择终止块作为最长终止区块链的末端(但拒绝恢复多于提交)uuahead)

getuvalidatoruuSet应仅使用来自超出提交信息的状态的数据,然后再进行前瞻

视图编号应该正好是插槽编号(这样可以更容易地推断,在不同的链中使用同一组验证器是为了达成共识,这只有在可能破坏某些最终性的情况下才会发生)

这保留了上述所有属性,但也引入了一个新属性:如果一个块获得多个终止(即,该块终止,且其子代链又获得k-1个终止,则总共k个会影响该块的顺序终止),然后,恢复区块需要违反多个委员会的终止保证。这允许多个委员会的安全级别重叠:一个人需要委员会大小*存款大小*k/3 ETH来恢复k个终止,直到k=提交uuu前瞻,委员会此时被划分。

还请注意,出于P2P子网安全的原因,前瞻机制无论如何都是值得的,因此使用它来设计系统可能是一个好主意。如有必要,让客户决定如何处理最终冲销。

具体值的例子

V神:以太坊信标链(Beacon Chain)的拟议替代设计

请注意,破坏最终性所需的ETH数量假设攻击者控制的验证器数量远远超过总承诺的一半(即数百万ETH);此数字是攻击者将丢失的数字。任何拥有2730-174762 ETH的人都不能进入并摧毁ETH,以逆转单个插槽的终止。

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...