Paradigm:探讨 MEV-Boost 和共识机制之间的关系

行业资讯11个月前更新 领域OK
53 0 0

原文标题:《Time, slots, and the ordering of events in Ethereum Proof-of-Stake》

Paradigm:探讨 MEV-Boost 和共识机制之间的关系

原文编译:wesely,GWEI Research

4 月 2 日,一名恶意的以太坊网络参与者利用 mev-boost-relay 中的漏洞窃取了一位 MEV 搜索者的 2000 万美元(请参阅 Flashbots 的事后分析)。在接下来的几天里,开发人员通过发布五个补丁来解决这个 bug,并结合现有的网络延迟和验证器策略,在 4 月 6 日导致以太坊网络出现短暂不稳定期。重新组织对于网络健康是不利的,因为它会降低区块生产率并减少结算保证。

什么是 mev-boost?为什么重要?

mev-boost 是由 Flashbots 和社区设计的协议,旨在缓解最大可提取价值(MEV)对以太坊网络造成负面影响。

每个区块的大致事件序列是:

提议人将此已签名头部发送回中继站点。

Relay 是一种相互信任的第三方,促进了来自于 proposer 的对于 block space 公平交换以及来自 builder 的 transaction sequencing for MEV extraction。Relay 保护 builders 免受 MEV 偷窃,其中 proposers 复制 builder transactions 来获取 MEV 而不是分配给发现它的 searcher/builder。Relay 保护 proposers 确认 builder 区块有效性、代表 proposer 每个时隙处理数百个区块,并确保 proposer 支付的准确性。

以太坊的分叉选择规则和 mev-boost

在我们深入攻击和响应之前,我们先来看一下以太坊的权益证明(PoS)机制及其相关的分叉选择规则。分叉选择规则允许网络就链头达成共识。根据《合并后以太坊重组》:

关于分叉选择规则较少知道的一个方面是它与时间的关系,这对区块生产有重大影响。

插槽和子插槽周期

在以太坊 PoS 中,时间被划分为 12 秒增量称为插槽。PoS 算法随机指定验证器获得该插槽提议一个区块;此验证器被称为提议者。在同一插槽中,其他验证器被指派任务:通过应用 fork-choice 规则投票支持他们本地视图中链头所在位置上最新版本的区块。12 秒间隔被分为三个阶段,每个阶段消耗 4 秒。

在插槽中最关键的时刻是在 t= 4 的认证截止时间。如果一个认证验证器在认证截止时间之前没有看到一个块,他们将会投票给链上先前接受的头部(根据分支选择规则)。越早提出一个块,它就有更多的时间传播,因此它积累了更多的见证(因为更多的验证器在认证截止日期之前看到了它)。

历史上,在认证期限之后甚至靠近插槽结束时建议者仍可以发布区块,只要下一个验证器在构建其后续插槽区块之前观察到该区块即可。这是父级区块继承重量和分支选择规则在叶节点处终止导致没有延迟发表区块带来负面影响。为了帮助推动理性行为(延迟区块发布)朝着诚实行为(按时发布)的方向发展,「诚实重组」被实施。

提案者提升和诚实的重组

两个新概念被引入到共识客户端中,对证明截止日期具有关键影响。

请注意,在某些特殊情况下避免进行诚实性重新排序:

条件 3 确保诚实性重新排序仅从链中删除单个块,这作为断路器使得链能够在极端网络延迟期间继续生成块。这也反映了提案人对其网络视图的信心降低,因为他们不能再确定其提议者增强块将被视为规范。

在这种情况下,让 b 1 代表一个晚到的区块。由于延迟,b 1 仅具有第 n 个槽位 19 %的证明权重。剩余 81 %的证明权重分配给父区块 HEAD,因为许多验证者在认证截止日期之前没有看到 b 1 。

通过诚实地重新组织,情况就大不相同了。现在第 n+ 1 个时间段的提案人发现对于 b 1 的 19% 认证权重低于重新组织阈值, 因此他们以 HEAD 作为 b 2 的父级来构建一个新区块,并强制性地进行了重新组织 b 1. 当我们达到 n + 1 时间段的认证截止日期时, 诚实验证器将比较 b 2 (40% 来自提案人增强)与 b 1 (19% )相对权重。所有客户端都执行提议人增强,因此 b 2 将被视为链头,并将积累时隙 n+ 1 的认证。

针对解绑攻击的中继和信标节点修复

在 4 月 2 日的解绑攻击中,提议者利用了一个中继漏洞,通过向中继发送无效的签名头来进行攻击。随后几天,中继和核心开发团队发布了许多软件补丁以减轻重复攻击的风险。五个主要变化如下:

2.信标链节点更改(仅适用于接力信标链节点):

这些变化的组合导致共识不稳定,而大部分验证器现在都使用上述诚实重组策略进一步加剧了这种情况。

未预料到的后果

以上 5 个更改每一个都会增加接力区块发布热路径上的延迟时间,从而增加了接力区块可能会超过证明截止期限而被广播的概率。下图显示了这五个检查的顺序以及引入延迟如何导致块发布超过证明截止期限。

然而,随着这五个补丁引入的延迟时间增加,中继现在可能部分负责延迟广播。让我们看一下以下假设情况下的区块发布。

中继在 t= 3 时从提议者处接收到已签名的头部。到了 t= 4 ,中继仍在执行检查,因此广播发生在证明截止期之后。在这种情况下,提议者发送已签名头部晚和中继引入一些额外的延迟相结合导致错过了证明截止期。如果没有诚实重组,则这些块很可能会进入链上。如我们在图 2 中所看到的那样,随后插槽的诚实提议者不会故意重新组织由于时间太晚而被拒绝的块。然而,在有诚实重组的情况下,错过证明截止期意味着该块将被下一个提议者重新组织。

Metrika 2 周的数据显示,在最糟糕的情况下,一个小时内有 13 个区块(4.3 %)被重新组织,这比正常情况多了约 5 倍。随着中继推出各种变化,分叉块数量的急剧增加变得明显起来。由于中继操作员和核心开发人员做出了巨大的社区努力,一旦理解了影响,许多更改就被撤销,并且网络恢复到健康状态。

那么我们该怎么办呢?

在这篇文章中,我们强调了 mev-boost 的工作原理以及它对以太坊共识的重要性。我们还详细介绍了与时间相关的 Ethereum 分叉选择规则中一些不太为人知的方面。通过使用拆分攻击和开发者的响应作为案例研究,我们强调了分叉选择规则中与时间相关的方面潜在脆弱性及其对网络稳定性的影响。

此外,目前正在积极探索多个未来方向:

总体而言,我们对 MEV 和 mev-boost 生态系统周围重新激发起来的能量感到兴奋。通过拆分攻击和缓解措施,我们已经了解了延迟、mev-boost 和共识机制之间关键关系;我们希望协议能够持续强化。

非常感谢 Bert Miller、Danny Ryan、Alex Stokes、Francesco D’Amato、Michael Sproul、Terence Tsao、Frankie、Joachim Neu、Chris Hager、Matt Garnett、Charlie Noyes 和 samczsun 对本文的反馈,以及 Achal Srinivasan。

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...