更新时间:2025-04-14 03:15:00 编辑:丁丁小编
来源:点击查看
简介
编译:邓通,金色财经
特别感谢 Justin Drake、Hsiao-wei Wang、@antonttc 和 Francesco 的反馈和审阅。
以太坊的「合并」标志着从工作量证明到权益证明的重大转变,实现了这一目标后,以太坊已经稳定运行了两年多。然而,尽管权益证明在稳定性、性能和避免中心化风险方面表现出色,仍有许多技术和经济方面的改进空间。我的 2023 年路线图将这些改进分为两部分:技术特性提升和经济变化以应对中心化风险。本文将聚焦于「合并」部分,探讨权益证明技术设计的改进方向和实现途径。
单槽最终性和质押民主化
当前,以太坊需要 2-3 个 epoch(约 15 分钟)才能完成一个区块,并且需要 32 ETH 才能成为质押者。这是一个为了在最大化参与质押的验证者数量、最小化完成时间和最小化运行节点的开销之间取得平衡而做出的妥协。然而,这三个目标是相互冲突的:为了实现经济最终性,每个验证者都需要签署两条消息,这意味着如果验证者数量很多,要么需要很长时间来处理所有签名,要么需要非常强大的节点来同时处理所有签名。
以太坊的关键目标是确保即使成功的攻击也会给攻击者带来高昂的成本,这就是「经济最终性」的含义。如果没有这个目标,我们可以通过随机选择一个委员会来最终确定每个时隙,但这种方法的问题在于,如果攻击者控制了 51% 的验证者,他们可以以非常低的成本进行攻击。因此,我们需要全套验证者参与来实现经济最终性。
理想情况下,我们希望保留经济终结性,同时在两个方面改善现状:在一个时隙内终结区块(理想情况下,保持甚至减少当前 12 秒的长度),以及允许验证者用 1 ETH 进行质押(从 32 ETH 降至 1 ETH)。
然而,更快的确定性和更民主化的质押目标都与最小化开销的目标相冲突。最近的研究提出了一些解决这个问题的可能方法。
单槽最终性如何工作?
单槽最终性涉及使用在一个时隙内最终确定区块的共识算法。许多算法(例如 Tendermint 共识)已经实现了这一点,但以太坊需要支持不活动泄漏的特性。幸运的是,已经有提案修改 Tendermint 式共识以适应不活动泄漏。
问题最难的部分是如何使单槽最终性在验证者数量非常高的情况下发挥作用,而不会导致极高的节点运营商开销。为此,有几种领先的解决方案:
选项 1:暴力破解——努力实现更好的签名聚合协议,可能使用 ZK-SNARKs,这实际上允许我们处理每个插槽中数百万个验证器的签名。
选项 2:Orbit 委员会 - 一种新机制,允许随机选择的中型委员会负责最终确定链,但以保留我们正在寻找的攻击成本属性的方式。Orbit SSF 开辟了一个妥协选项空间,范围从 x=0(Algorand 式委员会,没有经济最终性)到 x=1(以太坊现状),在中间开辟了点,以太坊仍然具有足够的经济最终性以实现极度安全,但同时我们获得了只需要中等规模的随机验证者样本参与每个时段的效率优势。
选项 3:两层质押 - 一种机制,其中质押者分为两类,一类的存款要求较高,另一类的存款要求较低。只有存款要求较高的层级会直接参与提供经济最终性。关于存款要求较低的层级究竟有哪些权利和责任,有各种提案。常见想法包括将权益委托给更高层级的权益持有者的权利,随机抽取的较低层级权益持有者证明并需要完成每个区块,以及生成纳入列表的权利。
与现有研究的联系
实现单槽最终性的途径 (2022):https://notes.ethereum.org/@vbuterin/single_slot_finality
以太坊单槽最终性协议的具体提案 (2023):https://eprint.iacr.org/2023/280
Orbit SSF:https://ethresear.ch/t/orbit-ssf-solo-staking-friendly-validator-set-management-for-ssf/19928
对 Orbit 风格机制的进一步分析:https://notes.ethereum.org/@anderselowsson/Vorbit_SSF
Horn,签名聚合协议 (2022):https://ethresear.ch/t/horn-collecting-signatures-for-faster-finality/14219
大规模共识的签名合并 (2023):https://ethresear.ch/t/signature-merging-for-large-scale-consensus/17386?u=asn
Khovratovich 等人提出的签名聚合协议:https://hackmd.io/@7dpNYqjKQGeYC7wMlPxHtQ/BykM3ggu0#/
基于 STARK 的签名聚合 (2022):https://hackmd.io/@vbuterin/stark_aggregation
Rainbow 质押:https://ethresear.ch/t/unbundling-staking-towards-rainbow-staking/18683
还剩下什么要做?需要权衡什么?
有四种主要可行的路径(我们也可以采用混合路径):
维持现状:不做任何工作,保持质押原样,但这会使以太坊的安全体验和质押中心化属性变得比本来更糟糕。
Orbit SSF:避免「高科技」,并通过巧妙地重新思考协议假设来解决问题。我们放宽了「经济终结性」要求,这样我们就要求攻击成本高昂,但可以接受攻击成本可能比现在低 10 倍。主要的工作是验证 Orbit 机制是否安全并具有我们想要的属性,然后完全形式化并实施它。此外,EIP-7251(增加最大有效余额)允许自愿验证者余额合并,这会立即减少链验证开销,并作为 Orbit 推出的有效初始阶段。
强力 SSF:避免了巧妙的重新思考,而是用高科技强行解决问题。要做到这一点需要在很短的时间内(5-10 秒)收集大量签名(100 万以上)。
具有两层质押的 SSF:避免了巧妙的重新思考和高科技,但它确实创建了一个两层的质押系统,仍然具有中心化风险。风险在很大程度上取决于较低质押层获得的特定权利。例如,如果低层级质押者需要将其证明权委托给高层级质押者,那么委托可能会中心化,最终我们就会得到两个高度集中的质押层级。如果需要对低层级进行随机抽样来批准每个区块,那么攻击者可以花费极少量的 ETH 来阻止最终性。如果低层级质押者只能制作纳入列表,那么证明层可能仍处于中心化状态,此时对证明层的 51% 攻击可以审查纳入列表本身。
可以组合多种策略,例如:添加 Orbit 而不执行单槽最终性;使用蛮力技术减少最小存款规模而不执行单槽最终性;使用保守参数执行 Orbit SSF,并使用蛮力技术使其超高效;添加彩虹质押而不执行单槽最终性。
它如何与路线图的其他部分互动?
除了其他好处之外,单槽终结性还降低了某些类型的多块 MEV 攻击的风险。此外,在单槽终结性世界中,证明者 - 提议者分离设计和其他协议内块生产管道需要以不同的方式设计。暴力策略的弱点是,它们使得缩短槽时间变得更加困难。
单一秘密 Leader 选举
今天,哪个验证者将提出下一个区块是预先知道的。这会产生一个安全漏洞:攻击者可以监视网络,识别哪些验证者对应哪些 IP 地址,并在验证者即将提出区块时对其发起 DoS 攻击。
解决 DoS 问题的最佳方法是隐藏哪个验证者将生成下一个区块的信息,至少在区块实际生成之前。单一秘密领导者选举协议通过使用一些加密技术为每个验证者创建一个「盲」验证者 ID 来解决这个问题,然后让许多提议者有机会对盲 ID 池进行改组和重新盲化。在每个时段,都会选择一个随机的盲 ID。只有该盲 ID 的所有者才能生成有效的证明来提议区块,但没有人知道该盲 ID 对应哪个验证者。
现有研究的链接
Dan Boneh 的论文(2020 年):https://eprint.iacr.org/2020/025.pdf
Whisk(以太坊的具体提案,2022 年):https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763
ethresear.ch 上的单一秘密领导者选举标签:https://ethresear.ch/tag/single-secret-leader-election
使用环签名的简化 SSLE:https://ethresear.ch/t/simplified-ssle/12315
还剩下什么要做?需要权衡什么?
实际上,剩下的就是找到并实现一个足够简单的协议,以便我们可以轻松地在主网上实现它。我们非常重视以太坊是一个相当简单的协议,我们不希望复杂性进一步增加。我们看到的 SSLE 实现增加了数百行规范代码,并在复杂的加密中引入了新的假设。找出一个足够有效的抗量子 SSLE 实现也是一个悬而未决的问题。最终可能会出现这样的情况:只有当我们出于其他原因(例如状态树、ZK-EVM)在以太坊协议的 L1 上引入通用零知识证明机制时,SSLE 的「边际额外复杂性」才会下降到足够低的程度。另一种选择是根本不理会 SSLE,而是使用协议外的缓解措施(例如在 p2p 层)来解决 DoS 问题。
它如何与路线图的其他部分互动?
如果我们添加证明者 - 提议者分离 (APS) 机制,例如执行票证,那么执行块(即包含以太坊交易的块)将不需要 SSLE,因为我们可以依赖专门的块构建器。但是,对于共识块(即包含协议消息(例如证明、可能包含列表的部分等)的块),我们仍将受益于 SSLE。
更快的交易确认
以太坊的交易确认时间进一步减少是有价值的,从 12 秒减少到 4 秒。这样做将显著改善 L1 和基于汇总的用户体验,同时使 defi 协议更加高效。它还将使 L2 更容易去中心化,因为它将允许大量 L2 应用程序在基于汇总上工作,从而减少 L2 构建自己的基于委员会的去中心化排序的需求。
它是什么?它是如何工作的?
这里大致有两种技术:减少时隙时间,例如减少到 8 秒或 4 秒。这并不一定意味着 4 秒的最终性:最终性本质上需要三轮通信,因此我们可以将每轮通信设为一个单独的块,在 4 秒后至少会得到初步确认。允许提议者在时隙过程中发布预确认。在极端情况下,提议者可以实时将他们看到的交易纳入他们的块中,并立即为每笔交易发布预确认消息。提议者发布两个相互冲突的确认的情况可以通过两种方式处理:通过削减提议者,或通过使用证明者投票决定哪一个更早。
现有研究的链接
基于预确认:https://ethresear.ch/t/based-preconfirmations/17353
协议强制提议者承诺 (PEPC):https://ethresear.ch/t/unbundling-pbs-towards-protocol-enforced-proposer-commitments-pepc/13879
并行链上的交错周期(2018 年实现低延迟的想法):https://ethresear.ch/t/staggered-periods/1793
剩下要做什么,又有哪些权衡?
目前还不清楚减少时隙时间的实用性。即使在今天,世界上许多地区的质押者也很难足够快地获得证明。尝试 4 秒的时隙时间存在集中验证者集的风险,并且由于延迟,在少数特权地区之外成为验证者是不切实际的。提议者预确认方法的弱点是它可以大大改善平均情况下的包含时间,但不能改善最坏情况下的包含时间。此外,还有一个悬而未决的问题,即如何激励预确认。提议者有动机尽可能长时间地最大化他们的可选性。如果证明者签署了预确认的及时性,那么交易发送者可以将部分费用以立即预确认为条件,但这会给证明者带来额外的负担,并可能使证明者更难继续充当中立的「哑管道」。另一方面,如果我们不尝试这样做并将最终确定时间保持在 12 秒(或更长),生态系统将更加重视第 2 层制定的预确认机制,跨第 2 层的交互将需要更长的时间。
它如何与路线图的其他部分互动?
基于提议者的预确认实际上依赖于证明者 - 提议者分离 (APS) 机制,例如执行票证。否则,提供实时预确认的压力可能会对常规验证者造成过于集中的压力。
其他研究领域
51% 攻击恢复
人们通常认为,如果发生 51% 攻击,社区将齐心协力实施少数派软分叉,确保好人获胜,坏人因不活动而泄露或被削减。然而,这种对社交层的过度依赖程度可以说是不健康的。我们可以尝试减少对社交层的依赖,使恢复过程尽可能自动化。完全自动化是不可能的,因为如果是的话,这将算作一个 >50% 容错的共识算法,但我们可以实现部分自动化:例如,如果客户端审查了客户端已经看到足够长时间的交易,客户端可以自动拒绝接受一条链作为最终确定的,甚至拒绝接受它作为分叉选择的头部。一个关键目标是确保攻击中的坏人至少不能快速获得胜利。
增加法定人数阈值
今天,如果 67% 的质押者支持,区块就会最终确定。有人认为这过于激进。如果将这一百分比增加到 80%,那么增加的非最终性时期数量将相对较低,但以太坊将获得安全性:特别是,许多更具争议的情况将导致最终性的暂时停止。这似乎比「错误的一方」立即获胜要健康得多,无论是错误的一方是攻击者,还是客户端有错误。这也回答了「单独质押者的意义何在」这个问题。只要单独质押者不参与 51% 攻击,这种攻击就不会获得「干净利落的胜利」,并且单独质押者会积极帮助组织少数派软分叉。
抗量子性
Metaculus 目前认为,尽管误差较大,但量子计算机很可能在 2030 年代的某个时候开始破解密码学。量子计算专家,例如 Scott Aaronson,最近也开始更加认真地考虑量子计算机在中期内实际工作的可能性。这对整个以太坊路线图都有影响:这意味着目前依赖于椭圆曲线的每个以太坊协议部分都需要某种基于哈希或其他量子抗性的替代方案。这特别意味着我们不能假设我们将能够永远依靠 BLS 聚合的优异特性来处理来自大型验证器集的签名。这证明了在权益证明设计性能假设方面的保守性是合理的,也是更积极地开发量子抗性替代方案的原因。