作者:Georgios Konstantopoulos, Mike Neuder

导言

4 月 2 日,歹意的 Ethereum 网络参与者运用 MEV-Boost 中继中的缝隙从一个 MEV 查找者那里窃取了 2000 万美元(请参阅 Flashbots 的报告)。接下来几天,开发者经过发布五个补丁来处理这个缝隙。这些补丁,加上网络推迟和验证器战略,导致 Ethereum 网络在 4 月 6 日出现了时刻短的波动。重组区块对网络健康会产生晦气影响,由于它们减缓了区块的生产速率并下降了结算保证(settlement assurances)。

在这篇文章中,由于查找者遭到进犯且网络暂时不稳定,咱们探讨了 MEV-Boost 与一致之间的相互作用,分析了 Ethereum 的权益证明机制的微妙之处,并列举了一些或许的行进途径。

MEV-Boost 及其重要性

MEV-Boost 是由 Flashbots 和社区设计的一个协议,旨在减轻最大可提取价值(MEV)对 Ethereum 网络的负面影响。

MEV-Boost 中有 3 个参与者:

1. 中继——相互信任的拍卖者,连接出块者和区块构建者

2. 构建者——构建区块的复杂实体,以最大化自己和出块者的 MEV

3. 出块者——Ethereum 的权益证明验证者

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

1. 构建者经过从用户、查找者或其他(私家或公共)订单流接收买卖创建一个区块

2. 构建者将该区块提交给中继

3. 中继验证块的有效性并计算它向出块者付出的金额

4. 中继向当前 slot 的出块者发送空白标题和付出值

5. 出块者评价他们收到的一切出价,并签署与最高付款相关联的空白标题

6. 出块者将此已签名标题发送回中继

7. 中继运用它们的原生信标节点发布区块,并将其回来给出块者。奖赏经过区块内的买卖和区块奖赏分配给建设者和提议者。

中继是一个受信任的第三方,促进出块者公正交流区块空间和构建者用于 MEV 提取的买卖排序。中继经过维护构建者免受 MEV 偷窃,防止出块者仿制构建者买卖以取走 MEV 而不分配给发现它的查找者/构建者来维护构建者。中继经过承认构建者区块的有效性、代表出块者处理每个 slot 上的数百个区块以及保证出块者付出的准确性来维护出块者。

MEV-Boost 是要害的协议基础设施,由于它使一切出块者都能够民主地拜访 MEV,而无需与构建者或查找者建立信任联系,这有助于 Ethereum 的长期去中心化。

Ethereum 的分叉挑选规矩与 MEV-Boost

在探讨进犯和呼应之前,咱们先来看看 Ethereum 的权益证明机制和相关的分叉挑选规矩。分叉挑选规矩答应网络就链头达到一致,《Ethereum 合并后的重组》这篇文章中对其做出了界说:

「分叉挑选规矩是一个由客户端评价的函数,它用已看到的区块和其他消息作为输入,并向客户端输出「标准链」。分叉挑选规矩十分重要,由于或许有多个有效的链可供挑选(例如,假如一起发布具有相同父块的两个竞争块)。」

分叉挑选规矩也与时刻相关,这对出块有重大影响。

slot 和 sub-slot 周期

在 Ethereum 的权益证明机制中,时刻被分割为每 12 秒为一组的 slot。权益证明算法随机分配验证者在该 slot 内提出块的许可证;这个验证者被称为出块者。在同一 slot 内,其他验证者被分配为依据其本地视图应用分叉挑选规矩来为链头进行验证(投票)的使命。这 12 秒的 slot 被细分为三个阶段,每个阶段消耗 4 秒。

在 slot 中产生的事情如下所示,其间 t= 0 表示 slot 的开端。

全面解读MEV-Boost工作原理及Ethereum分叉选择规则

在 slot 期间,最要害的时刻是在 t= 4 时的认证截止时刻。假如认证验证者在认证截止时刻前没有看到区块,他们将会投票给链上从前被接受的头部(依据分叉挑选规矩)。一个区块被提出的时刻越早,它就有更多的时刻传达,从而堆集更多的认证(由于更多的验证者在认证截止时刻前看到它)。

从网络健康的视点来看,区块发布的最佳时刻是 t= 0 (依据标准规矩)。但是,由于区块价值跟着时刻单调递加,出块者有动机推延其区块的发布,以便更多的 MEV 堆集。有关详细信息,请拜见  Timing games in Proof-of-Stake  和本讨论 。

曾经,出块者能够在认证截止时刻后(乃至接近 slot 的结束)发布区块,只要下一个验证者在建立其后续 slot 的区块之前观察到该区块即可。这是由于子区块承继父区块的权重,分叉挑选规矩在叶节点停止。因而,推延区块发布没有任何副作用。为了帮助将理性行为(推延区块发布)转向诚笃行为(按时发布),施行了「诚笃重组」(honest reorg)。

出块者奖赏机制和诚笃重组

两个新的概念被引进到一致客户端中,对认证截止时刻有要害的影响。

1. 出块者奖赏机制——旨在经过授予出块者等同于 40% 悉数认证权重的分叉挑选「奖赏」来尽量削减重组平衡进犯。重要的是,这个奖赏仅持续整个 slot。

2. 诚笃重组——运用出块者加速,答应诚笃的出块者强制重组认证权重低于 20% 的区块。这现已在 Lighthouse 和 Prysm 中实现(从 v 4.0 - Capella 发布版开端)。这个改动是可选的,由于它是出块者作出的决议计划,不影响认证验证者的行为。因而,咱们不用将其一起应用于一切客户端,它也没有与任何特定的硬分叉相关联。

需求注意的是,在一些特别状况下会防止运用诚笃重组:

1. 在 epoch 鸿沟区块期间 

2. 假如链没有终究确定 

3. 假如链头不是重组前 slot 的头部

状况 3 保证诚笃重组只会从链中删除一个区块,这起到了断路器的作用,使得链能够在极端网络推迟期间持续生成块。这也反映了提案者对网络的看法的决心下降了,由于他们无法确定其提议增强的块是否将被视为标准。

下图展示了怎么改动诚笃行为以施行重组战略。

全面解读MEV-Boost工作原理及Ethereum分叉选择规则

在这种状况下,让 b 1 代表一个迟到的块。由于推迟,b 1 只要第 n 个 slot 的 19% 的证明权重。剩下的 81% 的证明权重分配给父块 HEAD,由于许多证明者没有在证明截止期之前看到 b 1 。

假如没有诚笃的重组,第 n+ 1 个 slot 的提案者会将 b 1 视为链的头并构建子块 b 2 。提案者没有尽力重组 b 1 ,尽管它只要 19% 的证明权重。在第 n+ 1 个 slot,b 2 具有提案者的增强,假定它按时交付,b 2 将经过堆集该 slot 的大多数证明成为标准。

有了诚笃的重组,状况大不相同。现在,第 n+ 1 个 slot 的提案者看到 b 1 的 19% 证明权重低于重组阈值,因而他们建立一个以 HEAD 为父块的块,并强制重组 b 1 。当咱们抵达第 n+ 1 个 slot 的证明截止期时,诚笃的证明者将比较 b 1 (19% )与 b 2 (来自提案者增强的 40% )的相对权重。一切客户端都实现提案者增强,因而 b 2 将被视为链的头,并将堆集第 n+ 1 个 slot 的证明。

针对解绑进犯的中继和信标节点修复 

在 4 月 2 日的 unbundling 进犯中,提案者运用中继缝隙向中继发送了一个无效的签名头。在接下来的几天里,中继和中心开发团队发布了许多软件补丁,以减轻重复进犯的风险。五个首要更改如下:

中继更改: 查看数据库中已知的歹意提案者(仅由超声波中继在生产中运用,并已被删除)。 查看中继是否已将完整块传递到 P2P 网络中的某个 slot。 在块发布之前引进 0-500 ms 范围内的均匀随机推迟(已从一切中继中删除)。

信标节点更改(仅适用于中继信标节点): 在广播之前验证信标块。 在发布区块之前查看网络是否存在过错承认。 这些更改的结合导致了一致不稳定性,这一问题加重了由于大部分验证者现在运用上述诚笃重组战略而产生的影响。

意外的结果 

上述的五项更改都在中继块发布的热途径中引进了推迟,这增加了中继块在承认截止时刻之后广播的概率。下图显现了这五项查看的次序以及引进的推迟怎么导致区块发布超越承认截止时刻。

在施行这些查看之前,很多滞后于 t = 0 (例如 t = 3 )的已签名头部一般不会产生问题。由于中继的开销十分低,因而它将在 t = 4 之前发布区块,而无需等待承认截止时刻。

但是,由于这五个修补程序的推迟引进,中继现在或许部分负责拖延广播。让咱们看看下面的假定性区块发布过程。

全面解读MEV-Boost工作原理及Ethereum分叉选择规则

中继在 t = 3 时从出块者处接收到已签名头部。到了 t = 4 ,中继仍在履行查看,因而广播将在承认截止时刻之后进行。在这种状况下,出块者发送的推迟已签名头部和中继引进的一些额外推迟的结合导致了未能在承认截止时刻之前广播。假如没有诚笃的重组,这些区块很或许现已进入链上。如图 2 所示,接下来 slot 的诚笃出块者不会由于这些区块迟到而成心进行重组。但是,假如错过了承认截止时刻,则这些区块将被下一个出块者重组。

因而,在进犯后的几天中,分叉块的数量急剧增加。

全面解读MEV-Boost工作原理及Ethereum分叉选择规则

Metrika 的两周数据显现,在最坏的状况下,一小时内或许会有 13 个区块(4.3 %)被重新组织,这是正常状况的约 5 倍。跟着中继器推出各种更改,分叉块的数量急剧增加变得显着。感谢中继操作员和中心开发人员的伟大社区尽力,一旦了解到影响,许多更改被撤回,网络康复到了健康状态。

截至今天,最有用的更改是信标节点块验证和宣布之前的狡赖查看。歹意的出块者不能再经过向中继发送无效头部并保证中继信标节点在发布之前不看到狡赖块来履行进犯。尽管如此,中继仍然面临着 MEV-Boost 和 ePBS 中提出的更一般的狡赖进犯。

下一步行动

在这篇文章中,咱们强调了 MEV-Boost 的作业原理以及它对 Ethereum 一致的要害性。咱们还对与时刻有关的 Ethereum 分叉挑选规矩中的一些较少知道的方面进行了详细分析。经过运用「解绑」进犯和开发人员的反应作为事例研讨,咱们强调了分叉挑选规矩与时刻有关的方面的潜在脆弱性以及其对网络稳定性的影响。

考虑到这一点,研讨界应该评价什么是「可接受」的重新组织次数,并考虑狡赖进犯的更一般曝光状况,以确定是否应该施行缓解办法。

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

1. 施行头锁机制,以维护 MEV-boost 免受等价过错进犯。这还需求更改一致客户端软件并或许需求标准更改以扩展证明提交期限。

2. 增加 MEV-Boost 软件的缝隙赏金计划的数量和传达力度。

3. 扩展模拟软件以探索 sub-slot 守时怎么影响网络稳定性,这能够用于评价怎么调整证明提交期限以削减重组。

4. 优化中继上的区块发布途径以削减不必要的推迟——这现已在探索傍边。

5. 承认 MEV-boost 是中心协议功用,并将其纳入一致客户端,即「enshrined-PBS (ePBS)」。两个 slot 的 ePBS 容易遭到显着的进犯,因而施行「头锁机制」仍然是一种挑选。

6. 经过环绕推迟和认证截止时刻的问题加入更多的 hive 和/或 spec 测试。

7. 经过构建中继标准的其他实现,鼓舞中继客户端的多样性。

8. 考虑调整对于显着进犯的赏罚,但要记住即使进行完整的 32 个 ETH 的赏罚,也或许无法阻止在极大的 MEV 时机存在时的歹意行为。

9. 重新审视 sub- slot 计时,并考虑调整区块传达阶段(例如,将认证截止时刻从 t= 4 调整到 t= 6 )。

总的来说,咱们对 MEV 和 mev-boost 生态的再次鼓起感到振奋。经过解绑进犯和缓解办法,咱们现已了解了推迟,MEV-boost 和一致机制之间的要害联系;咱们希望协议能够持续加强以应对这种状况。

此时快讯

【数据:当前注册成为以太坊验证者需等待近一个月】5月15日消息,据wenmerge.com数据显示,当前注册成为以太坊验证者需等待约639小时(近27天),目前排队等待的验证者数量超4.9万。此外,目前等待退出的验证者数量约为50,等待时间约为40分钟。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注