主页 > imtoken官网钱包app > 一文看懂Goldfish共识协议:PoS Ethereum LMD GHOST分叉选择

一文看懂Goldfish共识协议:PoS Ethereum LMD GHOST分叉选择

imtoken官网钱包app 2023-01-30 06:16:07

原标题:Goldfish: A Provably Secure Replacement for LMD GHOST in PoS Ethereum

合并:从工作量证明 (PoW) 到权益证明 (PoS)

以太坊即将从工作证明 (PoW) 过渡到权益证明 (PoS),这是多年研究和开发的结晶。 虽然 PoS 带来了很多潜在的优势,但这也意味着以太坊正在放弃中本聪最长链协议(这当然是最简单优雅的共识协议之一,并且已经通过了中心化区块链的实战测试)。

以太坊 PoS 共识协议的一个众所周知的易受攻击的组件已被证明是其“LMD GHOST”分叉选择规则。 最近出现了多种针对它的攻击方法和补丁,但其安全性尚未得到证实。

在标题为“不再有 PoS 以太坊攻击? 在一份新的预印本论文中以太坊使用哪种共识协议,我们提出了 Goldfish 协议,它是 PoS 以太坊 LMD GHOST 分叉选择规则的一种可证明安全的替代方案。 我们相信这只是朝着更严格的协议设计和分析迈出的第一步,旨在增强以太坊的安全性。

以太坊的权益证明 (PoS) 协议

以太坊的权益证明(PoS)共识协议比优秀的 PoW 最长链协议复杂得多。 它实际上是两种不同共识协议的组合:一种是“finality gadget”(称为 Casper FFG),它在 6.4 分钟的 epoch 周期后敲定区块,另一种是控制“fork selection rule”(“LMD GHOST”)短)在纪元时间段内的链。 如果你对“你为什么这样做”感到好奇,你可以看看这个演讲。 这两个组件以非常重要的方式交互,此处用框图进行了描述:

以太坊经典和以太坊_以太坊钱包使用教程_以太坊使用哪种共识协议

具体来说,LMD GHOST 指导区块生产过程,并以 12 秒时隙时间尺度和验证者子抽样委员会运作。 因此,它可以被看作是 PoS 以太坊区块链接近尾声时较弱的“短期共识”的原因。 一旦在交易分类账上达成短期共识,它就会被移交给 Casper FFG 进行额外的强化,它在 32 个时隙(一个纪元,或 6.4 分钟)的时间尺度上运行,并涉及完整的验证器集。 因此,Casper FFG 负责提供更强的“长期共识”,提供确定性和负责任的安全性。

不幸的是,这种复杂性带来了挑战。 特别是 LMD GHOST 组件,以及 LMD GHOST 和 Casper FFG 之间的交互,都有在漏洞和补丁之间来回打地鼠的历史。 虽然目前采用的合并协议既没有公开已知的攻击也没有正式的安全分析/证明。

缺乏安全证明令人担忧,但这并不是因为简单学术模型中的证明必然能完美地表明现实世界的安全性。 相反,即使在一个简单的玩具模型中,我们也无法最终解释为什么协议是安全的,这表明我们实际上并不了解这些协议,或者它们的后果和相互作用的全部范围。

金鱼

在最近一篇题为不再有 PoS 以太坊攻击? 在我们的预印本论文中,我们提供了 PoS Ethereum 的 LMD GHOST 分叉选择规则的替代协议。 该协议称为 Goldfish以太坊使用哪种共识协议,类似于 LMD GHOST(因此它不需要对当前客户端进行大修),但它具有安全证明。

为了更好的理解Goldfish,让我们简单了解一下LMD GHOST的大致工作原理:

以太坊钱包使用教程_以太坊使用哪种共识协议_以太坊经典和以太坊

假设在我们的玩具网络模型中,消息引起的延迟至多是一个已知值

.在LMD GHOST中,时间同步在

时段。 对于每个槽,从全套验证器中随机选择一个提议者和一个小型验证器委员会。 在每个槽的开始,槽的提议者运行 LMD GHOST 分叉选择规则(有两个修改,“提议者提升”和“模棱两可的折扣”,它们是对早期两次攻击的响应补丁),以确定规范的区块链提示并提议一个新的块。

在插槽进行到一半时,插槽的委员会成员也使用相同的分叉选择规则来确定规范的区块链提示并对该提示进行投票。 LMD GHOST 没有指定确认规则,而是让用户决定区块树的哪些区块有“足够”的票数,以确信他们不会离开规范链。

Goldfish 严格遵循这个一般结构,但为验证者引入了一个额外的阶段来同步他们对投票计数和确认块的看法:

以太坊钱包使用教程_以太坊使用哪种共识协议_以太坊经典和以太坊

在每个时隙开始时,时隙提议者根据前一个时隙的投票运行简单的 GHOST 分叉选择规则,以确定在何处提议区块。 进入第三个时隙,该时隙的委员会成员使用相同的分叉选择规则,根据前一个时隙的投票和提议者转发的投票决定投票的位置。 最后,在时隙的三分之二处,所有验证器都运行定义明确的 T 深度验证规则。

Goldfish 基于两项关键技术,投票缓冲和投票过期,以仔细同步诚实验证者的观点:

投票缓冲(也称为视图合并)首先出现在高速公路上。 简而言之,缓冲从网络收到的选票,并仔细定时将这些选票包含在每个验证者的本地视图中,保证在有诚实提议者的时隙中,所有诚实的验证者都投票支持提议者提案。 这导致了重组弹性:诚实提议者的提议保证保留在规范链中。 随之而来的是安全性(即输出分类账的安全性和活跃性)。

投票到期(也称为临时投票)是指在每个时隙时间段内,只有前一个时隙的投票会影响协议的行为(金鱼协议以健忘的金鱼命名)。 投票到期使投票集变小,这可能会影响诚实验证者的短期未来行动。 因此,在任何时间点,只有少量协议消息需要缓冲并合并到诚实验证者的视图中。 因此,投票到期是投票缓冲的效率/可行性的先决条件。 投票到期对于支持波动的验证者参与水平以及支持在每个槽的较小的二次抽样选民委员会而不是整个验证者整体上运行协议也很重要。

最后,Goldfish 协议的确认规则确认一个区块在创建后的某个时间是否仍在规范链上。 分析表明,最终性逆转概率在块生产和块确认之间的延迟中呈指数衰减。

有关 Goldfish 协议及其安全性分析的更多详细信息,请查看我们的预印本。

金鱼协议的挑战:异步

Goldfish 协议非常简单,可以接受严格的安全证明。这种分析立即取得成果:请记住,我们首先在我们的玩具模型中假设网络延迟的上限

. 在证明安全性的过程中,我们被迫明确这一假设和其他假设。

如果违反此界限会发生什么,即如果网络暂时异步? 我们可以跟踪我们的安全论证的步骤,看看在没有假设的情况下出了什么问题。我们看到,如果实际网络延迟超过

(即在当前的 PoS 以太坊中为 8 秒),那么 Goldfish 将无法及时获得插槽 t-1 的决定性投票以在插槽 t 中构建它们。 该协议可能需要重组。

这样的重组是不好的。 但至少由于严格的安全论证,我们对系统安全性的关键依赖条件、原因和方式有了更好的理解。 我们可以做出更明智的决定,以确保满足这些先决条件。 例如,在当前的 P2P 网络协议中,交易对手可能更容易引起一些网络延迟,而最近人们对强化 P2P 八卦协议重新产生了兴趣,这些协议在共识层重用权益分配来指导对等方选择。 这样的协议更加健壮并且合理地减轻了延迟问题。 此外,最终性/问责小工具(最终可能会通过“单槽最终性”进一步加速)为任何重组提供后备支持。

还有什么需要做的

我们提出了 Goldfish 共识协议,旨在替代 PoS 以太坊信标链中的 LMD GHOST。 在预印本论文中,我们对 Goldfish 协议本身进行了严格的安全分析,并结合确定性/责任性小工具(基于另一种共识协议,例如 HotStuff)。 其他 PoS 以太坊共识安全挑战仍然存在,例如,来自分叉选择和终结性小工具的交互,正如我们在本文第 6.1 节中描述的那样。 我们期待在未来看到 PoS 以太坊在这些领域的进一步共识安全改进!

如果您正在研究(或有兴趣研究)这些方向中的任何一个,我们很乐意听取您的意见! 您可以通过 Twitter @fradamt、@jneu_net、@ErtemTas 和@dntse 联系我们。

致谢:特别感谢 Aditya Asgaonkar、Carl Beekhuizen、Vitalik Buterin、Justin Drake、Dankrad Feist、Sreeram Kannan、Georgios Konstantopoulos、Barnabé Monnot、Dan Robinson、Danny Ryan 和 Caspar Schwarz-Schilling 进行的富有成果的讨论,并感谢 Achal Srinivasan 提供精美插画,返回搜狐查看更多