以太坊的未来 I:从 Beacon Chain 到 Beam Chain

gateio

GATE.IO芝麻开门

GATE.IO芝麻开门交易所(原比特儿交易所)是全球前10的交易所,新用户注册可免费领取空投,每月可得50-200U

点击注册 更多入口

更多交易所入口

一站式注册各大交易所、点击进入加密世界、永不失联,币安Binance/欧易OKX/GATE.IO芝麻开门/Bitget/抹茶MEXC/火币Huobi

点击进入 永不失联
介绍2024年,以太坊周围发生了许多重要事件。今年初,以太坊通过Dencun升级引入了blob。这次升级大大降低了现有汇总链的交易费用,为汇总链生态系统的快速扩展奠定了基础。 (Dencun升级后,OP链的费用降低 | 来源:Optimism X) 然而,随着生态系统中的dapp迁移到高度可扩展的汇总链和替代的Layer 1 (L1) 网络,Ethereum本身的用户活跃度开始下降。此外,随着汇总链不再向以太坊提交高额费用,社区开始出现担忧。 2024年也是以太坊面临挑战的一年,像Solana和Sui等以扩展性为重点的L1网络展示了强大的实力。这些网络产生的TPS(每秒交易量)使得汇总链上的活动显得相对较小。 在这种背景下,出现了类似“以太坊的汇总链路线图有缺陷”或“以太坊的发展太慢,难以成功”的批评声音。那么,以太坊真的走在正确的道路上吗?以太坊在2025年甚至2030年将会是什么样子? 本系列文章将从技术细节分析以太坊路线图中的部分内容,探讨其未来发展。第一部分将聚焦于Beam Chain。 Beam Chain 提案是什么?它为什么重要?如果要选出今年以太坊社区中讨论最多的话题,那可能就是以太坊研究员Justin Drake在Devcon上公布的Beam Chain提案。这一公告引起了广泛关注,也伴随着大量的讨论。接下来,让我们分析一下这个提案的意义。 Beam Chain提案的核心思想是彻底重构以太坊的共识层。Justin Drake提出了以下三个理由,说明为什么当前的共识层——Beacon Chain——需要重新设计: 通过过去的经验,更好地理解了MEV(最大化可提取价值)SNARK技术的快速进展(例如,zkVM的开发以惊人的速度进展,速度提高了10倍以上)消除Beacon Chain中存在的“技术债务” 目前,以太坊的共识层路线图包含了以下几个要素: 在这些领域中,标记为粗体的四个方面代表了超越单纯修改Beacon Chain的根本性变化。例如,链的SNARK化指的是将共识层的状态处理转换为ZK技术,这需要从哈希函数到Merkle化/序列化状态方法的根本性变更。 此外,更快的槽时间和更快的最终性是为了在保持安全性的同时实现性能提升的新设计——这是最初设计中未优先考虑的因素。实现这些变更需要对共识层进行广泛的修改。 Beam Chain提议通过一次硬分叉来实现这些变化。总结如下: 实现以太坊共识层的路线图需要对共识层进行完全重设计。为此,路线图中的主要变化将被打包成名为Beam Chain的硬分叉。它包括四个元素:更快的区块时间、更快的最终性、链的SNARK化和量子抗性。 接下来,让我们探讨如何实现这些变化以及它们所带来的技术影响。 Beam Chain设计的技术细节更快的槽时间和更快的最终性目前,以太坊的槽时间为12秒,且一个与槽连接的区块需要2-3个时期(大约15分钟)才能达到最终性。提高这些时间将对以太坊用户、应用程序以及在以太坊上构建的汇总产生积极影响。 更短的最终性(Orbit SSF)这一主题在以太坊研究人员中被称为SSF(单槽最终性),旨在将以太坊区块达到最终性的时间从大约15分钟减少到12秒内,从而为用户提供更快的确认。要理解单槽最终性,我们必须先理解以太坊当前的共识算法——Gasper。 Gasper的一个关键设计原则是确保在设定时间后,槽中提议的区块能够获得一定程度的经济安全,同时最大程度地减少每个验证者的通信负担。为此,以太坊将所有验证者分成多个委员会,分布在32个槽中。每个槽最多可包含64个委员会,目标是将每个委员会组成128个验证者(如果活跃验证者的总数超过该数量,委员会人数可增加)。 每个委员会中的验证者独立验证区块并进行投票,使用BLS签名。BLS签名机制允许将多个签名聚合为一个,这意味着委员会中的指定节点收集这些签名并将它们编译成一个紧凑的数据包。通过广播这个聚合的签名,下一个区块提议者可以以最小的数据确认该区块已被正确验证。 (BLS签名聚合:以太坊验证者之间的协作 | 来源:eth2book) 总之,以太坊的Gasper通过以下机制实现了可扩展性和经济安全: 验证者在6.4分钟的时间段内分布在不同槽中的委员会中,避免了所有验证者之间直接通信的需求。聚合签名过程确保了验证者对区块的投票可以通过少量数据进行验证。 然而,由于Gasper是基于时期(epoch)工作的,并且必须验证各时期之间的“连接性”,所以一个槽要达到最终性之前,必须验证连接性。在Gasper中,至少需要两个时期(64个槽)才能实现与以太坊完全经济安全等效的最终性。 这导致了如下的图示表示: (以太坊的经济最终性 | 来源:Orbit SSF) 这带来了各种挑战,并降低了用户体验。例如: 当从CEX(中心化交易所)提取资金到以太坊,或者反向操作时,确认时间可能长达约10分钟,显得相对过长。以太坊的rollup和dApp面临的风险是它们依赖的L1区块可能尚未最终确认,可能会被无效化。如果没有实施适当的对策,可能会导致问题。 例如,在2024年3月,由于以太坊链重组的处理不当,Polygon zkEVM经历了超过两天的链停顿。 减少最终性的时间并非不可能,像Tendermint等共识算法已经在多个协议中得到了应用。然而,采用Tendermint机制的挑战在于节点之间频繁的P2P通信,这带来了可扩展性的限制。 在Tendermint中,如果节点数量为N,它的消息复杂度为O(N^3)。这意味着随着节点数量的增加,它们之间的通信频率呈指数增长,限制了可扩展性。因此,像以太坊这样的协议,拥有大量验证者,不能直接采用Tendermint机制。 需要进一步的工作来解决这些问题,以便将Tendermint风格的共识应用于以太坊。 Orbit SSF的概述Orbit SSF旨在修改Gasper的委员会机制,以减少槽的最终性时间,同时保持较高的经济安全性。 该提案建议将32个槽的时期大小减少为单个槽(约12秒)。然而,如前所述,这将增加验证者通信的资源消耗,可能对以太坊的去中心化产生负面影响。 为了解决这个问题,Orbit SSF提出了以下方案: 通过增加每个以太坊验证者的最大质押金额,可以在验证者数量较少的情况下实现相同级别的经济安全性。 Orbit SSF建议引入一个单一的“超级委员会”,而不是每个槽都有多个委员会。拥有较高质押金额的验证者将几乎总是按比例被包括在委员会中,从而确保即使委员会较少,经济安全性水平仍然得以保持。 下一次以太坊升级Pectra包括EIP-7251,提议将验证者的最大质押金额(MaxEB)从32 ETH提高到2048 ETH。虽然这一提案对以太坊节点基础设施运营商具有吸引力,但它也是Orbit SSF的前提条件。 然而,如果质押金额较大的验证者几乎总是被包括在委员会中,较小的单独验证者可能会遭遇奖励减少,从而对以太坊的去中心化产生不利影响。为此,Orbit SSF调整了奖励机制,使得年化回报率(APR)随着质押金额的增加呈线性增长,同时确保较大验证者更频繁地被纳入委员会。 (Orbit SSF中验证者被纳入委员会的奖励与概率 | 来源:Orbit SSF) 此外,Orbit SSF转向了“基于委员会的最终性”。在Gasper中,委员会只有在两个或更多时期过去后才能对最终性作出贡献,而Orbit SSF允许每个槽分配的委员会实时贡献最终性。其目标是使委员会成为最终性的更积极贡献者,并更快地实现可扩展性。 (Orbit SSF中的最终性使用“限额与缓慢旋转”机制 | 来源:Orbit SSF) 关键在于委员会成员的组成。Orbit SSF提出了一种“缓慢旋转”机制,其中大额质押的验证者在委员会中几乎是固定的,而小额验证者则在委员会中轮换进出。这使得代表经济安全阈值的F值可以设置得非常高,同时保持验证者之间的最小通信开销,并确保最终性时间保持较低。 例如,设定n = 3并且设定一个非常大的F值,可以使以太坊在大约三个槽内实现最终性,从而实现Justin Drake提出的3槽FFG(快速最终性共识)。 然而,将F值提升到以太坊整个验证者集的级别并不容易。这可能会降低进行51%攻击的成本。因此,Orbit SSF面临的主要挑战是如何在确保以太坊安全性依然强大的同时,尽量不牺牲去中心化,技术性地提高F值。 短槽时间(4秒槽) 即使实现了SSF(或3槽最终性),以太坊用户仍然会经历至少12秒的交易确认时间。这给用户带来了两个主要缺点: 与Solana和Sui等其他L1相比,延迟较长。对MEV的高易受攻击性(由于区块时间缩短,MEV减少,这使得以太坊用户更容易受到MEV攻击)。 此外,12秒的区块时间对于汇总链尤其不利,特别是基于汇总链的Rollups。例如,Taiko通过将每个L2区块发布到L1来实现基于汇总链的Rollup。因此,Taiko的区块时间可能增加到至少12秒,有时甚至超过24秒。 为了解决这个问题,提出了两种解决方案: a. 将以太坊的区块时间减少到4秒或8秒 b. 使用预确认 降低以太坊的区块时间降低以太坊的区块时间是一个正在积极讨论的话题。它已经被正式化为EIP-7782,提议将槽时间从12秒减少到8秒,从而将以太坊的可扩展性提高33%。然而,8秒的槽时间可能对用户体验或基于汇总链的Rollups来说并不是最优的,达成更短的槽时间似乎更加可取。 话虽如此,较短的区块时间可能会导致验证者集合的集中化。由于物理限制,地理位置较远的验证者面临较长的通信时间,而4秒的槽时间可能会在某些情况下使通信变得不可行。 以太坊主网的区块传播时间统计数据提供了对4秒区块时间可行性的洞察。以下图表展示了区块传播时间的分布。 (CDF of message arrival times | 来源:Gossipsub消息传播延迟) 大约98%的区块在4秒内传播完成,而约2%的区块需要更长时间。根据这些数据,4秒的区块时间看起来是可行的。然而,区块时间不仅仅包括通信——它还包括执行和投票。考虑到这些因素,4秒的区块时间中只有大约2秒用于通信。在这种情况下,达成4秒的区块时间是具有挑战性的。 为了解决这个问题,必须减少传输数据的大小,最大化客户端P2P组件的性能,或者提高物理通信效率。 使用预先确认在此期间,预确认可以改善用户体验。预确认允许区块生产实体向用户承诺,“您的交易将包含在下一个区块中”,从而比槽时间更快地向用户交付结果。 预确认的优点是L1验证者可以在不需要分叉或客户端修改的情况下使用它。例如,Commit-Boost是一个允许以太坊验证者生成并安全传播预确认的软件。 Commit-Boost与MEV-Boost类似,是一个可选的验证者侧车,使验证者能够安全地生成和传播“承诺”。根据使用场景,这些承诺可以有多种形式: 通过使用第三种类型的预确认架构,即使区块时间较长,用户的感知延迟也可以显著降低。当验证者接收到用户的交易时,他们可以执行该交易并将结果返回给用户。由于此结果基于验证者的承诺,而不是区块创建,因此用户可以在毫秒级别内收到该结果。 然而,Commit-Boost的效果取决于验证者的采用。如果只有少数验证者使用它,对用户体验的影响将有限。尽管如此,Commit-Boost已经获得了以太坊社区的强烈支持,并有可能成为像MEV-Boost一样广泛使用的中间件。它得到了知名验证者运营商的支持,如Rocket Pool、Renzo、SSV、Luganodes、Nethermind、Puffer、A41和Figment。此外,它还获得了来自EF、Lido和Eigenlayer的资助,并得到了区块构建者Titan的强力支持。 然而,正如前面提到的,预确认更可能作为像MEV-Boost一样的链下辅助工具使用,而不是直接集成到协议中。 Beam Chain在更快区块时间中的作用 正如Justin Drake在演讲中所讨论的,Beam Chain的目标是减少区块时间。因此,研究和实施可能会集中在将区块时间减少到4秒,而不牺牲去中心化。这个问题可能会通过以太坊的完全snark化来解决,后面将对此进行进一步解释。 链snark化与抗量子能力Justin在演讲中表示,Beam Chain的目标是利用ZK技术对共识客户端进行snark化。这意味着什么?如何实现?为什么它是必要的? 链snark化目前,以太坊信标链通过要求验证者“重新执行”每个区块来验证最终状态根的正确性。这一重新执行过程带来了效率问题,并且提高了验证者的硬件要求,成为降低准入门槛的障碍。 Beam Chain的目标是用ZK技术的“验证”来取代这一重新执行过程,从而大幅降低验证者的硬件需求,使任何人都能在任何地方运行以太坊节点。为此,Beam Chain和以太坊将利用ZK SNARKs。 ZK在以太坊协议中的应用ZK SNARKs具备以下两个关键特性: 允许验证某个计算已经执行,而无需重新执行该计算证明的大小相比原始数据更为紧凑 ZK的应用方式是将以太坊共识所需的计算和数据转换为ZK证明,证明计算逻辑已被正确执行。这意味着验证者可以通过验证ZK证明来达成共识,而无需重新执行整个区块或存储更新后的状态。验证ZK证明比重新执行整个区块在数据规模和可扩展性方面更高效。 最终,这将极大降低以太坊验证者的硬件要求。例如,Vitalik在《The Verge》文章中表示,其目标是让验证者甚至能够在智能手表等资源受限的环境中运行。 需要完成哪些工作?第一步是对状态转换函数进行snark化。状态转换函数通常采用以下形式: f(S,B)=S’ 其中: S:区块链的前状态B:给定的区块S’:执行该区块后的区块链后状态f:状态转换函数 所有区块链都基于确定性的状态转换函数,以太坊也不例外。以太坊在共识层和执行层分别拥有不同的状态转换函数。如果这两个都实现snark化,就可以使用ZK来验证整个以太坊系统,从而实现完全轻量级的验证者。 在Beam Chain中,目标是对共识层的状态转换函数进行snark化。目前,以太坊共识层的状态转换函数在每个slot执行,并执行以下操作: 接收区块后更新slot和区块头信息验证提出区块的验证者签名验证区块内的交易在时期转换时处理提款、惩罚、区块最终确定等信息 该函数在验证者从其他验证者处接收区块时都会执行。如果这个函数被snark化,验证者就不再需要直接执行状态转换函数,而是只需验证一个证明,证明该函数已被正确执行。 那么,谁来生成ZK证明?通常可能会认为区块提议者应负责生成ZK证明,但并非所有验证者都有能力生成ZK证明。Beam Chain的目标是在标准笔记本上3秒内生成一个ZK证明。但即便这一目标达成,运行在智能手表或智能手机等设备上的验证者可能仍然无法生成ZK证明。 在这种情况下,网络可以依赖利他主义。共识层状态转换每个区块只需要一个ZK证明,并且该证明并不一定必须由区块提议者生成。换句话说,只要网络中至少有一个实体为每个区块生成ZK证明,就能确保Beam Chain的区块被正确生成。 未来:以太坊的完全 SNARK 化这一变更本身可能不会显著提升验证者的性能。共识层的状态转换函数涉及的操作相对较轻量,相比之下,执行层的状态转换函数更复杂。然而,主要瓶颈并不在于执行状态转换函数所需的资源,而是在于网络带宽。当验证者交换的数据(区块)变大时,他们在分配的时间内达成共识会变得更加困难。这也是以太坊在过去三年内一直保持 30M Gas 上限的原因之一。 如果该变更与执行层的 SNARK 化同步实施,验证者将只需要交换远小于完整区块的数据。这是因为 SNARK 证明相比原始数据要紧凑得多。完全 SNARK 化后,以太坊的验证者将交换更少的数据,从而降低对网络带宽的需求,相比当前系统更加高效。 总的来说,以太坊的完全 SNARK 化对验证者有以下优势: 验证者只需验证证明,而无需重新执行计算,降低计算需求验证者交换的是证明数据而非完整区块数据,减少网络带宽需求 因此,以太坊生态系统可能发生巨大变化,例如: “以太坊节点应用”可能允许验证者在移动设备上运行任何满足最低质押要求的人都能运行以太坊节点,大幅降低成为验证者的门槛 这将使验证者的参与更加便捷,并提升去中心化程度 抗量子签名仅对 Beam Chain 的状态转换函数进行 SNARK 化是否足以作为共识层? 以太坊在后量子时代将面临哪些问题?Beam Chain 还计划 SNARK 化的另一个领域是签名生成。目前,以太坊的共识层使用验证者签名作为证明数据,以最终确定区块并在分叉情况下确定正确的链。 以太坊目前采用 BLS 签名来实现这一目标。正如前文所述,BLS 签名具有聚合特性,可以将多个签名合并为一个,从而显著提升以太坊共识流程的效率。然而,这一签名机制存在一个根本性问题:它对量子计算机存在安全隐患。 以太坊信标链所使用的 BLS 签名基于椭圆曲线。椭圆曲线签名机制的安全性依赖于离散对数问题(DLP),而量子计算机的强大计算能力可能会攻破这一难题,使基于椭圆曲线的签名天然地受到量子计算机的威胁。 量子计算技术正在快速发展,例如谷歌近期在量子计算芯片领域的突破。谷歌声称,其 Willow 量子芯片能够在 5 分钟内完成超级计算机需要 10^25 年才能完成的计算。虽然目前这一进展尚未从根本上威胁到椭圆曲线的安全性,但如果量子计算按照这一速度持续发展,区块链系统可能会在几年内面临风险。 (向后量子密码学标准过渡 | 来源:NIST IR 8547) 美国国家标准与技术研究院(NIST)已经启动了抗量子签名算法的标准化工作,以应对量子计算机可能导致的现有系统崩溃问题。 以太坊同样重视这一问题。在 Beam Chain 中,目标是实现抗量子签名算法。 抗量子签名有多种类型,而 Justin 在 Beam Chain 的演讲中特别提到了基于哈希的签名算法。与椭圆曲线不同,哈希签名不依赖于数学难题,因此量子计算机更难攻破它们。因此,哈希签名被认为是抗量子的,Beam Chain 计划采用这一类签名。 挑战与 ZK 的作用主要挑战在于哈希签名缺少 BLS 签名的聚合特性。以太坊在共识过程中依赖签名聚合来提高效率。如果无法进行聚合,以太坊将难以支持大规模的验证者集。 ZK 可以解决这一问题。其核心在于利用“证明聚合”(Proof Aggregation)技术,该技术能够将多个 ZK 证明合并为单个证明。其机制如下: (证明聚合示意图 | 来源:Figment Capital) 验证者使用抗量子算法对区块进行签名。签名被发送至聚合器或聚合委员会。聚合器生成一个 ZK 证明,以验证签名的正确性。利用证明聚合技术,聚合器在接收新签名时,将新的证明与现有证明合并。 这种方法使以太坊能够在共识层实现与 BLS 签名聚合相同的效率,同时具备抗量子能力。 ZK 在 Beam Chain 中的作用总的来说,结合 ZK 的 Beam Chain 将带来以下优势: 允许验证者在共识层的状态转换函数中执行证明验证,而非重新计算,从而降低验证者的硬件需求。作为抗量子签名的聚合算法基础,提高共识层的效率。 zkVM 作为 Beam Chain ZK 的基础Beam Chain 中 ZK 的底层证明系统将采用 zkVM。基于 RISC-V 的 zkVM 允许对任何编程语言的程序生成证明,提供更高的灵活性。 (Beam 状态转换将被编译为 RISC-V 并在 zkVM 中证明 | 来源:Beam Chain 公告,作者 Justin Drake) 这与以太坊现有的客户端生态系统高度契合,以太坊的客户端是由多种语言开发的,这种多样性有助于增强系统的容错能力。在未来的 Beam Chain 中,不同的客户端可以使用多种编程语言编写状态转换函数,将其编译为 RISC-V,并在任何基于 RISC-V 的 zkVM 中进行证明。因此,zkVM 是 Beam Chain 的自然选择。 结论 如果 Beam Chain 成功实施,以太坊可能具备以下特性: 用户的交易确认时间缩短至 4 秒,并在 12 秒内实现最终确定性。验证者将在共识层使用 ZK 证明验证状态转换。如果执行层也完成 SNARK 化,验证者仅需极少的数据即可参与共识。验证者签名将具备抗量子能力防止量子计算机破坏以太坊的共识安全。 目前,Beam Chain 尚未被正式纳入以太坊的路线图,实现这一方案需要长期的研究、开发和测试。然而,如果以太坊最终推进 Beam Chain 分叉,其带来的用户体验提升可能是革命性的。 至此,我们探讨了通过 Beam Chain 视角,以太坊在未来五年可能的演变方向。在下一篇文章中,我们将从用户体验(UX)和抗审查性两个角度探讨 2025 年的以太坊可能呈现的样貌。 附录:Beam Chain 常见问题解答附录:Beam Chain 常见问题解答 (问):Justin Drake 的提案是私下讨论的,这是否与以太坊“开放性”的核心价值观相冲突? (答):不会。Beam Chain 提案只是建议一次性实施以太坊现有路线图中的某些部分。它是否会被采纳仍需社区讨论。上述所有内容已经有相关的 EIP 或在 Ethresear.ch 上的讨论帖,因此 Beam Chain 并不是一个提出全新或未公开方向的提案。此外,以太坊路线图的讨论是公开进行的,每两周一次的 All Core Devs Call 会议对所有人开放,任何人都可以参与。如果有人对路线图持不同意见,或者有新的想法,可以在这些会议上表达,或者通过 EIP 提案或 Ethresear.ch 文章的形式提交新建议。 总而言之,Justin 的 Beam Chain 提案并不是要改变以太坊的路线图,而是将路线图的部分内容归类到一个统一的名称或 Meme 之下。 (问):实现 Beam Chain 需要 5 年的时间,这是否太久了? (答):5 年可能看起来很长,但需要考虑以下两个因素: 以太坊建立在多客户端架构之上。以太坊拥有所有区块链中最多的验证者。 (共识客户端多样性 | 来源:以太坊客户端多样性) 以太坊的共识机制遵循基于 BFT 的协议,如果超过三分之一的验证者行为与其他验证者不同,区块将无法最终确定。如果以太坊仅依赖一两个客户端,那么这些客户端中的任何一个 bug 都可能影响区块生产。因此,以太坊一直致力于实现多客户端架构,并使用多种编程语言进行开发。这种多样性在以太坊当前的客户端生态系统中表现得十分明显。 如图所示,以太坊的共识层目前至少运行着四个客户端。为了将 Beacon Chain 替换为 Beam Chain,所有四个客户端团队必须进行合作开发。考虑到这一点以及以太坊庞大的验证者集合,Beam Chain 的开发过程必须优先考虑稳定性,无法在几个月或 1-2 年的时间框架内加速完成。 免责声明: 本文转载自【2077research】。所有版权归原作者所有【sm堆栈】。若对本次转载有异议,请联系 Gate Learn 团队,他们会及时处理。免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。

目录[+]