Goldfish是PoS以太坊中LMD GHOST分叉规则安全的替代品
替代 PoS以太坊的 LMD GHOST分叉选择规则。这个叫做 Goldfish的协议与 LMD GHOST相似,所以不需要对现有的客户机实施进行大修,但是要提供安全认证。
为了更好的了解 Goldfish,我们首先来看一下 LMDGHOST是如何工作的:
假定在我们的简化网络模型中,最大的时延是 A的已知值(图中△)。在 LMD GHOST中,通过类似的方法获得了2 A的数值。在每一空隙中,随机地从全部确认器集合选出一名提交人和一名小型的验证小组。在每一次 lot的开头, lot的提议者都会执行 LMD GHOST分叉选择规则(其中有两项更改,分别是“提倡者提升”和“含糊的折扣”,这是对两次早期的攻击做出的回应),从而决定对标准区块链的奖励,并建议新的区块。
slot的委员会成员也会在 slot中间使用同样的分叉选择法则来决定对标准块的奖励,并且对此奖励投赞成票。LMD GHOST并没有规定任何确认规则,它让使用者自己判断哪个区块具有“足够”的投票数量,以确保他们不会脱离标准链条。
Goldfish与此基本结构密切相关,但是它为验证人员提供了一种附加的步骤来使他们对投票数量的观点与验证块进行同步:
在每一次 lot的开头, lot的提议者基于上一次 lot的投票,执行一个简单的 GHOST分叉选择规则来决定在什么地方提出一个区块。在进行到第三阶段的 slot时,委员会的委员们采用了同样的分叉选择原则,根据上一次的投票结果和提交人的投票结果,决定了在什么地方进行投票。最终,在进行到 slot的三分之二的时候,所有的验证人员都执行了一个清晰的 T深度验证规则。
Goldfish是基于两个主要技术,即投票缓冲区和表决过期来小心地使诚实的验证者的意见同步:
“投票缓冲区”(也被称作“视图”,第一次在新的“协商一致”协定中出现)。总之,对来自网络的投票进行缓冲,并在每个验证者的本地视图中仔细地将它们包括在内,确保所有诚实的验证者都会在 slot中对提案投赞成票。这就产生了重构的灵活性:诚实的建议将会被保留在标准体系中。安全(也就是输出帐簿的安全和活跃度)。
过期(亦称暂定表决)是指在每一次记号中,仅有先前记号的表决会影响该协定的执行(与“健忘”的金鱼相似, Goldfish协定的名字就是由此而来)。表决的期限使得表决集合变得很少,这将会对诚实的验证人在短期内的行为产生影响。所以,在任意时刻,仅有少量的协议消息需要被缓存和合并到一个诚实的验证者的视图中。所以,表决截止时间是进行有效和有效的表决的前提。表决截止对于支持波动性验证人的参与程度和支持在每个 slot更小的次抽样选民委员会中执行协议,这一点非常重要。
最终, Goldfish的确认规则将确定该区块在建立之后是否还在该标准链中。结果显示,在出块与区块确认的延迟期间,所导致的确认反转概率成倍下降。
Goldfish是一种非常简单的产品,它能被严格地保护。这种分析很快就有了结果:我们首先假定在我们的简化模式下,网络延时的最大值是 A (如图中△所示)。在进行安全论证时,我们要对这个假定和其它假定进行澄清。
如果打破了这一限制,在此情况下,网络将会出现短暂的异步?我们可以跟踪安全争论的步骤,来了解没有假定会发生的问题。我们发现,如果网络的真实延时超过2 A (也就是目前 PoS Ethernet中的8秒), Goldfish就不能及时地在 slot (t-1)上获取决定性的投票,从而导致重新配置。
这种结构并不好。但是,通过严密的安全论证,我们能够更好的理解我们的体系的安全取决于什么情况,以及原因和方式。我们能够作出更加理智的决策,以保证符合上述前提。比如,尽管攻击者在目前点对点网络协议中更易于造成某些网络延迟,但是近来,加强点对点协议(还因为与网络有关的数据可利用性抽样问题)再次吸引了人们的注意。这种协议具有较强的抵抗能力,能够合理地减轻延迟问题。另外,确定/责任的小工具(最后可以通过“单一的槽确定”来进一步加快)可以为重组提供支撑。
我们建议使用 Goldfish共识协议来替代 PoS以太坊信标中的 LMDGHOST。我们对 Goldfish自身进行了严密的安全性分析,并将最终/责任插件(以其他协商一致的协议为基础,比如 HotStuff)。其它 PoS以太坊共识的安全性问题依然存在,比如分叉选择和 finality小工具之间的互动,我们期望将来 PoS以太坊对这些领域的一致性进行更深入的改善。