作者:Vitalik;编译:邓通,金色财经特别感谢JustinDrake、Hsiao-weiWang、@antonttc和Francesco的反馈和审阅。最初,“合并”是指Ethereum协议自推出以来历史上最重要的事件:期待已久且来之不易的从工作量证
作者:Vitalik;编译:邓通,金色财经
特别感谢JustinDrake、Hsiao-weiWang、@antonttc和Francesco的反馈和审阅。
最初,“合并”是指Ethereum协议自推出以来历史上最重要的事件:期待已久且来之不易的从工作量证明到权益证明的过渡。如今,Ethereum已经成为一个稳定运行的权益证明系统近两年了,这种权益证明在稳定性、性能和避免中心化风险方面表现非常出色。然而,权益证明仍有一些重要领域需要改进。
我2023年的路线图将其分为几部分:改进技术特性,例如稳定性、性能和对较小验证者的可访问性,以及经济变化以应对中心化风险。前者接管了“合并”的标题,而后者成为“祸害”的一部分。
请注意,这一切都取决于Ethereum的一个关键目标:确保即使成功的攻击也会给攻击者带来高昂的成本。这就是“经济最终性”一词的含义。如果我们没有这个目标,那么我们可以通过随机选择一个委员会(例如Algorand所做的那样)来最终确定每个时隙来解决这个问题。但这种方法的问题在于,如果攻击者确实控制了51%的验证者,那么他们可以以非常低的成本进行攻击(恢复最终确定的区块、审查或延迟最终确定):只有委员会中的部分节点可以被检测为参与攻击并受到惩罚,无论是通过削减还是少数软分叉。这意味着攻击者可以多次反复攻击该链。因此,如果我们想要经济最终性,那么基于委员会的简单方法是行不通的,乍一看,我们确实需要全套验证者参与。
理想情况下,我们希望保留经济终结性,同时在两个方面改善现状:
在一个时隙内终结区块(理想情况下,保持甚至减少当前12秒的长度),而不是15分钟
允许验证者用1ETH进行质押(从32ETH降至1ETH)
第一个目标由两个目标证明,这两个目标都可以看作是“使Ethereum的属性与(更中心化的)注重性能的L1链的属性保持一致”。
首先,它确保所有Ethereum用户都能从通过最终确定机制实现的更高级别的安全保障中受益。如今,大多数用户都无法享受这种保障,因为他们不愿意等待15分钟;而通过单槽最终确定机制,用户几乎可以在交易确认后立即看到交易最终确定。其次,如果用户和应用程序不必担心链回滚的可能性(除非出现相对罕见的不活动泄漏情况),那么它就简化了协议和周围的基础设施。
第二个目标是出于支持单独质押者的愿望。一次又一次的民意调查反复表明,阻止更多人单独质押的主要因素是32ETH的最低限额。将最低限额降低到1ETH将解决这个问题,以至于其他问题成为限制单独质押的主要因素。
领先的单槽最终性提案
问题最难的部分是弄清楚如何使单槽最终性在验证者数量非常高的情况下发挥作用,而不会导致极高的节点运营商开销。为此,有几种领先的解决方案:
选项1:暴力破解——努力实现更好的签名聚合协议,可能使用ZK-SNARKs,这实际上允许我们处理每个插槽中数百万个验证器的签名。
Orbit利用验证者存款规模预先存在的异质性来获得尽可能多的经济最终性,同时仍将给予小型验证者相应的角色。此外,Orbit使用缓慢的委员会轮换来确保相邻法定人数之间的高度重叠,从而确保其经济最终性仍然适用于委员会轮换边界。
选项3:两层质押-一种机制,其中质押者分为两类,一类的存款要求较高,另一类的存款要求较低。只有存款要求较高的层级会直接参与提供经济最终性。关于存款要求较低的层级究竟有哪些权利和责任,有各种提案(例如,参见Rainbow质押帖子)。常见想法包括:
将权益委托给更高层级的权益持有者的权利
随机抽取的较低层级权益持有者证明并需要完成每个区块
生成纳入列表的权利与现有研究有哪些联系?
实现单槽最终性的途径(2022):https://notes.ethereum.org/@vbuterin/single_slot_finality
Ethereum单槽最终性协议的具体提案(2023):https://eprint.iacr.org/2023/280
OrbitSSF: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还剩下什么要做?需要权衡什么?
有四种主要可行的路径(我们也可以采用混合路径):
维持现状
OrbitSSF
强力SSF
具有两层质押的SSF
(1)意味着不做任何工作,保持质押原样,但这会使Ethereum的安全体验和质押中心化属性变得比本来更糟糕。
(2)避免“高科技”,并通过巧妙地重新思考协议假设来解决问题:我们放宽了“经济终结性”要求,这样我们就要求攻击成本高昂,但可以接受攻击成本可能比现在低10倍(例如,攻击成本为25亿美元,而不是250亿美元)。人们普遍认为,Ethereum今天的经济终结性远远超出了它所需要的水平,它的主要安全风险在其他地方,所以这可以说是一个可以接受的牺牲。
主要的工作是验证Orbit机制是否安全并具有我们想要的属性,然后完全形式化并实施它。此外,EIP-7251(增加最大有效余额)允许自愿验证者余额合并,这会立即减少链验证开销,并作为Orbit推出的有效初始阶段。
(3)避免了巧妙的重新思考,而是用高科技强行解决问题。要做到这一点需要在很短的时间内(5-10秒)收集大量签名(100万以上)。
(4)避免了巧妙的重新思考和高科技,但它确实创建了一个两层的质押系统,仍然具有中心化风险。风险在很大程度上取决于较低质押层获得的特定权利。例如:
如果低层级质押者需要将其证明权委托给高层级质押者,那么委托可能会中心化,最终我们就会得到两个高度集中的质押层级。
如果需要对低层级进行随机抽样来批准每个区块,那么攻击者可以花费极少量的ETH来阻止最终性。
如果低层级质押者只能制作纳入列表,那么证明层可能仍处于中心化状态,此时对证明层的51%攻击可以审查纳入列表本身。
可以组合多种策略,例如:
(1+2):添加Orbit而不执行单槽最终性。
(1+3):使用蛮力技术减少最小存款规模而不执行单槽最终性。所需的聚合量比纯(3)情况少64倍,因此问题变得更容易。
(2+3):使用保守参数执行OrbitSSF(例如128k验证者委员会而不是8k或32k),并使用蛮力技术使其超高效。
(1+4):添加彩虹质押而不执行单槽最终性。它如何与路线图的其他部分互动?
除了其他好处之外,单槽终结性还降低了某些类型的多块MEV攻击的风险。此外,在单槽终结性世界中,证明者-提议者分离设计和其他协议内块生产管道需要以不同的方式设计。
暴力策略的弱点是,它们使得缩短槽时间变得更加困难。单一秘密Leader选举我们要解决什么问题?
今天,哪个验证者将提出下一个区块是预先知道的。这会产生一个安全漏洞:攻击者可以监视网络,识别哪些验证者对应哪些IP地址,并在验证者即将提出区块时对其发起DoS攻击。它是什么?它是如何工作的?
解决DoS问题的最佳方法是隐藏哪个验证者将生成下一个区块的信息,至少在区块实际生成之前。请注意,如果我们删除“单一”要求,这很容易:一种解决方案是让任何人都可以创建下一个区块,但要求randao揭示小于2256/N。平均而言,只有一个验证者能够满足此要求-但有时会有两个或更多,有时会有零个。将“保密”要求与“单一”要求结合起来一直是一个难题。
单一秘密领导者选举协议通过使用一些加密技术为每个验证者创建一个“盲”验证者ID来解决这个问题,然后让许多提议者有机会对盲ID池进行改组和重新盲化(这类似于混合网络的工作方式)。在每个时段,都会选择一个随机的盲ID。只有该盲ID的所有者才能生成有效的证明来提议区块,但没有人知道该盲ID对应哪个验证者。
量子计算专家,例如ScottAaronson,最近也开始更加认真地考虑量子计算机在中期内实际工作的可能性。这对整个Ethereum路线图都有影响:这意味着目前依赖于椭圆曲线的每个Ethereum协议部分都需要某种基于哈希或其他量子抗性的替代方案。这特别意味着我们不能假设我们将能够永远依靠BLS聚合的优异特性来处理来自大型验证器集的签名。这证明了在权益证明设计性能假设方面的保守性是合理的,也是更积极地开发量子抗性替代方案的原因。