Paradigm 介绍 Goldfish:PoS 以太坊中 LMD GHOST 分叉规则的安全替代品

比推 view 39839 2022-9-12 15:48
share to
Scan QR code with WeChat

合并:从工作量证明到权益证明

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

以太坊 PoS 共识协议中,一个众所周知的脆弱组件已被证明是“LMD GHOST”选择分叉规则,最近发生了多次攻击和打补丁,其安全性仍未得到证明。

在题为“PoS 以太坊不再被攻击 ?”的文章中,我们提出了 Goldfish,它是 PoS 以太坊中 LMD GHOST 选择分叉规则可证明的、安全的替代品。我们认为这只是朝着更严格的协议设计和分析迈出的第一步,目的是加强以太坊的安全性。

以太坊的权益证明协议

以太坊的权益证明 (PoS) 共识协议比 PoW 复杂得多。

它实际上是两种不同共识协议的组合:一个“finality gadget”(称为 Casper FFG),在 6.4 分钟长的 epoch 后最终确定区块,以及在每个 epoch 内管理链的选择分叉规则 fork-choice rule(称为“Greedy Heaviest Observed Subtree”,简称LMD GHOST)。这两个组件以复杂的方式相互交互,下面用框图进行描述:

Paradigm 介绍 Goldfish:PoS 以太坊中 LMD GHOST 分叉规则的安全替代品

具体来说,LMD GHOST 指导区块生产过程,并以 12 秒的时间Slot和验证者的子抽样组合运行。因此,它可以被认为是在 PoS 以太坊区块奖励前负责较弱的“短期共识”。一旦就交易账本达成短期共识,它就会被移交给 Casper FFG 进行额外的加固,它在包含 32 个插槽(slots) = 6.4 分钟的时间尺度上运行,并涉及完整的验证器集。因此,Casper FFG 负责提供更强大的“长期共识”,提供最终性和负责任的安全性。

不幸的是,这种复杂性伴随着挑战。特别是,LMD GHOST 组件,以及 LMD GHOST 和 Casper FFG 之间的交互,都存在反反复复的攻击、打补丁。目前为 Merge 采用的协议既没有公开的攻击,也没有正式的安全分析/证明。

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

Goldfish

在题为“PoS 以太坊不再被攻击 ?”的文章中,我们提供了 PoS 以太坊的 LMD GHOST 分叉选择规则的替代品。该协议称为 Goldfish,类似于 LMD GHOST(因此不需要对当前客户端实现进行大修),但带有安全证明。

为了更好地理解Goldfish,让我们先预览下 LMD GHOST 的大致工作原理:

Paradigm 介绍 Goldfish:PoS 以太坊中 LMD GHOST 分叉规则的安全替代品

假设我们的简化网络模型中消息引起的最大延迟为已知值 A(如上图中的△)。在 LMD GHOST 中,相似步骤得到的值为 2A 。对于每个间隙,从完整的验证者集中随机选择一个提议者和一个小的验证者委员会。在每个slot开始时,slot的提议者运行 LMD GHOST 分叉选择规则(有两个修改,“提议者提升”和“模棱两可的折扣”,它们是响应两个早期攻击的补丁)以确定规范的区块链奖励和提出一个新的区块。

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

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

Paradigm 介绍 Goldfish:PoS 以太坊中 LMD GHOST 分叉规则的安全替代品

在每个slot的开始,slot的提议者根据前一个 slot 的投票运行简单的 GHOST 分叉选择规则,以确定在哪里提议一个块。进入slot的三分之一时,该时段的委员会成员使用相同的分叉选择规则,该规则基于前一个时段的投票和提议者转发的投票,来确定在哪里投票。 最后,在进入slot的三分之二时,所有验证者都运行一个明确定义的 T 深度确认规则。

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

投票缓冲(也称为view merge,最早出现在新的共识协议 Highway 上)。简而言之,缓冲从网络收到的选票,以及在每个验证者的本地视图中精心定时包含这些选票,保证了在具有诚实提议者的slot中,所有诚实的验证者都投票支持提议者的提议。这导致了重组弹性:诚实的提议者的提议保证保留在规范链中。随之而来的是安全性(即输出账本的安全性和活跃性)。

投票到期(也称为临时投票)意味着在每个slot内,只有前一个slot的投票会影响协议的行为(类似于“健忘”的金鱼,Goldfish 协议名称源于此)。投票到期使投票集很小,这可能会影响诚实验证者的短期未来行动。因此,在任何时间点,只有少数协议消息需要在诚实验证者的视图中进行缓冲和合并。因此,投票到期是投票缓冲效率/可行性的先决条件。投票到期对于支持波动的验证者参与水平以及支持在每个slot较小的子样本选民委员会中运行协议,而不是在整个验证者集中运行协议也至关重要。

最后,Goldfish 的确认规则会确认区块是否在创建后的一段时间内仍在规范链上。分析表明,由此产生的确认翻转概率在出块和区块确认之间的延迟中呈指数级降低。

Goldfish 面临的挑战:异步(Asynchrony)

Goldfish 很简单,可以接受严格的安全证明。这一分析立即取得了成果:请记住,我们一开始就假设我们的简化模型中的网络延迟上限为 A (上图中的△表示) 。在证明安全性的过程中,我们必须明确这一假设和其他假设。

如果违反了这个界限,即如果网络暂时异步,会发生什么?我们可以追踪安全论证的步骤,看看在没有假设的情况下会出现什么问题。我们看到,如果实际网络延迟大于 2A(即当前 PoS 以太坊中的 8 秒),那么 Goldfish 将无法及时获得slot (t-1)的决定性选票以在slot t 的基础上进行构建,该协议可能会受到重组的影响。

这样的重组是不好的。但至少由于严格的安全论点,我们可以更好地了解我们系统的安全性关键依赖于哪些条件,以及为什么以及如何。我们可以做出更明智的决定,以确保满足这些先决条件。例如,虽然在当前的点对点网络协议中,攻击者可能更容易引起一些网络延迟,但最近(也由于与网络相关的数据可用性采样挑战)对强化的点对点协议重新产生了兴趣,这些协议重新启用共识层的权益分配来指导对等点的选择。这样的协议更加抗攻击,并且可以合理地缓解延迟问题。此外,确定性/问责制小工具(最终可能会通过“单槽确定性”进一步加速)为任何重组提供了支持。

还需要做什么

我们提出了 Goldfish 共识协议,旨在作为 PoS 以太坊信标链中 LMD GHOST 的替代品。我们对 Goldfish 本身进行了严格的安全分析,并结合了终局/问责制小工具(基于另一个共识协议,例如 HotStuff)。其他 PoS 以太坊共识安全挑战仍然存在,例如,来自分叉选择和 finality gadget 的交互,我们期待在未来看到 PoS 以太坊在这些方面的进一步共识安全改进。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 揭秘一级市场熊市投资偏好:游戏、NFT及元宇宙 Next: 黑客利用 DAO Maker 的漏洞 通过 Tornado Cash 转移了 50 万美元的 DAI

Related