增加以太坊退出队列的灵活性
本文推动了最近提出的EIP-7922 。
^src: https://www.youtube.com/watch? v=bl91wk5fB4g
作者: mike neuder 、 malesh pai 、 mikhail kalinin (mik-mal-mik) – 2025 年 4 月 1 日
\uparrow ↑但不是愚人节玩笑
内容
1. Introduction
2. Revisiting the current exit queue
3. Improving the exit queue
4. Connection to past work
总结;我们描述了EIP-7922中提出的以太坊出口队列的潜在变化。我们的ELI5文章讨论了以太坊今天如何管理验证者退出以及布拉格/Electra 升级中即将发生的变化。这篇文章主张对伫列进行额外的改变,以提高其效率,而无需改变协议的安全模型。
1. 简介
以太坊中的权益证明机制实现了退出队列,以确保最终交易的可信赖安全性(更多背景资讯请参阅「为什么要有退出队列?」 )。虽然限制验证者退出率(有时称为验证者流失)是必要的,但过度限制会影响诚实的验证者,因为他们如果需要退出则面临长时间延迟的风险。这对协议来说也是成本高昂的:标准金融理论告诉我们,相对缺乏流动性的资产必须提供更高的报酬率才能吸引相同数量的资本。此项规定在必要的情况下也适用于质押。因此,在遵守协议安全约束的情况下,出口队列应该尽可能有效率。
在本文中,我们提出了EIP-7922 ,该提案基于我们对出口队列设计的研究,提出添加动态流失限制。这项变革大大提高了验证者的生活质量,同时又不损害以太坊的安全性。
2. 重新检视目前的退出队列
如「 退出流程」所述,自愿退出的第一阶段是退出队列。 「流失」限制决定了在给定时期内可以退出的验证者数量,目前计算为\max(8, \lfloor \# \text{ validators} / 2^{16} \rfloor) max ( 8 , ⌊ # validators / 2 16 ⌋ ) ( get_validator_activation_churn_limit 03 月 20 月 25 月; lfloor 1,065,882/2^{16} \rfloor=16 ⌊ 1 , 065 , 882 / 2 16 ⌋ =每个时期16 次退出(例如,如果队列中有 160 个验证者,则新入队的验证者将在 10 个时期后退出)。
回想一下,我们限制利率是为了确保交易的经济安全性不会下降太快。理解每个时期 16 次退出安全模型的另一种方式是,它围绕验证器退出编码以下「约束」:
- 下一个 epoch 最多有 16 位验证者退出,并且
- 在接下来的两个时期内,最多有 32 名验证者退出,并且
- 在接下来的三个周期内,最多有 48 位验证者退出,并且
… - 在接下来的 n 个期间内,最多有 16 \cdot ⋅ n 个验证者退出,
…
等效地,对于 1,065,882 个验证者,我们可以将这些限制描述为最终交易的经济安全性下降率。交易的经济安全性减少的幅度不超过:
- 16/1,065,882 = 0.0015\% 16 / 1 , 065 , 882 = 0.0015 %在一个时期内,
- 32/1,065,882 = 0.0030\% 32 / 1 , 065 , 882 = 0.0030 %分为两个时期,
… - 3600/1,065,882 = 0.34\% 3600 / 1 , 065 , 882 = 0.34 %在 225 个时期(一天)内,
… - 50,400/1,065,882 = 4.7\% 50 , 400 / 1 , 065 , 882 = 4.7 %在 3,150 个时期(两周)内,
… - 108,000/1,065,882 = 10.1\% 108 , 000 / 1 , 065 , 882 = 10.1 % ,在 6,750 个时期(30 天),
… - 324,000/1,065,882 = 30.4\% 324 , 000 / 1 , 065 , 882 = 30.4 %在 20,250 个时期(90 天),
这些限制很容易解释。例如,我们可以将(5)理解为「最终确定的交易在未来 30 天内的损失不会超过其可信赖安全性的 10%」。回想一下,虽然交易的经济安全性随著时间的推移而降低,但长期重组/安全故障的机率也会降低。因此,随著时间的推移,交易的结算保证仍然保持极高水准。
关键观察:上述一些限制对协议来说更为重要,因此,无论历史提款情况如何,每个时期只允许 16 次退出是过于严格的。
我们透过一个例子来说明这一点。由于验证者人数为一百万,现行协议规定每个时期可以有 16 个验证者退出。两周内,这相当于 50,400 次退出。这直接意味著「两周内退出的验证者不得超过 5.04%(等同于股权)。」我们假设这是协议关心的唯一约束。现在想像一下,在过去的 13 天里,没有验证者退出协议,因此,两周的流失限制都没有被使用。如果占验证者总数 3%(30,000 名验证者)的大型质押业者想要立即提款,他们应该能够这样做 - 这并不违反两周 5.04% 的限制。然而,由于每个时期只能处理 16 个退出,因此他们被迫等待 1875 个时期(相当于 8.33 天)。
关键观察:如果我们启用协议来回顾退出历史记录,我们就不再需要对每个时期进行严格的限制。
例如,在目前提出的EIP-7922中,我们明确选择了以下约束:
建议的弱主观性限制:在任何连续的两周内,验证者退出的数量不得超过 50,400 个。
然后,我们只需要确保在每个连续的两周内都遵守约束,而无需在每个时期都设定退出限制。根据历史验证器退出资料动态调整的流失限制允许以太坊灵活地适应退出需求的高峰,同时在每两周内保持相同的安全性。
3. 改善出口队列
EIP-7922实现了这项变更。我们首先根据「 ETH数量」而不是「验证者数量」来重新计算退出金额,因为根据EIP-7251 ,验证者的余额可能有所不同。再次,以今天的价值计算,我们大约有 34 毫米的ETH被质押。这相当于每个时期有 16 \cdot ⋅ 32 = 512 ETH符合流失条件。由于 EIP-7251 的复杂性,每个时期的退出流失限制上限为 256 ETH (有关更多详细信息,请参阅“2.2 - 退出队列流失限制变化” )。在 3584 (= 256 \cdot ⋅ 14) 个时期内(约 17 天,下文中我们用其作为近似的弱主观性时期),总计有 256 \cdot ⋅ 3584 = 917504 ETH (占已质押的 3400 万ETH %)可以退出。
我们提出的 EIP 将这些值编码为出口伫列保证的单一约束:
EIP-7922 限制(使用现今的质押数量) -17 天内可流失的ETH不得超过 917504 (=256 \cdot ⋅ 256 \cdot ⋅ 14)(占质押总量 3,400 万ETH的 2.7%)。
至关重要的是,这一单一约束仍然是确保协议弱主观性保持完整的关键。透过在更短的时间范围内为出口队列提供更大的灵活性,该机制可以提高响应速度而不会损害安全性。下图展示了所提议的变更。
图 1.两个伫列都实现了相同的约束,确保在M+1 M + 1 个纪元时间范围内不会发生超过16 \cdot (M+1) 16 ⋅ ( M + 1 )次退出。当前队列透过设定每个时期允许退出次数的限制来强制执行这一点。我们提出了一个简化的队列,可以明确检查过去M+1 M + 1 个时期的单一限制。
有关该机制如何实现的更多详细信息,请参阅EIP-7922 。如1. Introduction中所提到的,目前退出队列的限制对ETH资产产生了财务影响。我们相信这次升级将对以太坊的质押生态系统产生深远的影响:
- 降低质押溢价:透过减少延迟和相关的流动性风险,这些机制可以降低吸引资本所需的质押奖励。
- 提高资本效率:更灵敏的退出机制使更广泛的以太坊生态系统中的资本配置更加动态。
- 增强协议稳健性:更好的退出机制降低了验证者在市场波动事件期间被「困住」的风险。
值得注意的是,可处理的提款数量仍然存在硬性限制,且该提案不保证任何退出速度。相反,其目的是让退出队列在处理提款需求突然激增时有更大的弹性。我们欢迎社群提出回馈,我们致力于将其纳入未来的网路升级。
4. 与过去工作的联系
这个 EIP 直接扩展了我们与Max Resnick合作撰写的关于最佳出口队列的先前论文。在这项工作中,我们引入了动态伫列系统MINSLACK 。与此 EIP 类似,MINSLACK 不是在每个时期处理恒定的最大验证者数量,而是根据历史资料和给定的安全约束集合来计算可以安全退出的验证者数量。具体来说,它检查「松弛」——最近几个时期未使用的提款能力——以确定允许的退出。 MINSLACK 利用了这个松弛,它认识到如果前几个时期退出的验证者数量少于允许的最大值,则协议可以在当前时期安全地处理更多的退出,同时在整个时间窗口内保持相同的整体负责任的安全保障。
此 EIP 是 MINSLACK 的简化版本,仅实作了3. Improving the exit queue中所述的单一约束。我们的分析证明,当所有验证者的退出紧迫性相似(同质值)时,MINSLACK 是最佳的。简单来说,在以太坊的安全性前提下,MINSLACK 实现了最快的退出速度。基于这个理论框架,我们相信具有对弱主观性时期进行编码的单一约束的 MINSLACK 演算法可以改善现状。如果社群认为需要在不同时间范围内增加更多约束,则此 EIP 可以轻松扩展以实现完整的 MINSLACK 演算法。此外,我们的论文也检视了退出竞标优先权的能力。我们表明,MINSLACK 的修改版本根据出价大小对伫列进行排序(实现优先权伫列)在异质值设定下几乎是最佳的。这可以作为退出队列流程的额外后续改进,如果社区感兴趣,我们很乐意进行讨论。
–
用
以及 mik-mal-mik 的 markdown





