以太坊共识设计背后的核心理念

with_blockmedia 发布于 2026-06-09 阅读 98

本文深入探讨以太坊共识协议设计背后的核心理念与哲学。以太坊采用双层结构:第一层是心跳层(动态可用性),确保即使在参与率大幅波动时也能持续出块;第二层是最终性层(经济最终性),通过可削减的经济惩罚实现安全确认。设计的关键包括:动态可用性使链在离线验证者众多时仍能运行;怠工泄漏机制在无法达成最终性时自动缩减离线验证者权益,恢复最终性;削刀惩罚基于可验证的加密证据;客户端多样性是安全模型的一部分。文章强调以太坊的目标是构建一个不需要人为干预即可持续运行的协议。

Image

作者:Luca Zanolini (@luca_zanolini),以太坊基金会协议共识团队研究科学家。

以太坊生产区块已经超过十年。经历了合并、客户端错误、云服务商宕机、每一次重大协议升级——这条链从未停止过。2023年5月,两个运行着超过50%验证者的共识客户端几乎同时出现错误,链在24小时内两次停止最终确认——第一次约25分钟,第二次不到一小时。然而,区块生产层——心跳——一直持续:交易被处理,应用层基本不受影响。最终确认被中断;链没有中断。

这不是偶然。这是设计选择——其中许多并不显而易见——累积的结果,这些选择从信标链开始塑造了协议。每个选择背后都有一个“为什么”:协议要满足的约束、要避免的失败模式、要保留的属性。

本文是对这些“为什么”的巡礼。不是规范讲解,不是路线图更新——而是一次对驱动协议结构的哲学的引导性审视:为什么协议有两层,为什么其中一层允许停止而另一层不允许,为什么违规行为会通过机械可验证的证据受到经济惩罚,为什么参与度可以崩溃而链仍然能自行恢复,以及为什么客户端生态是安全模型的一部分。协议和路线图的其他部分——PeerDAS、FOCIL、ePBS、后量子过渡——各自有其“为什么”;我将它们留待单独的文章。

第一个为什么:为什么链绝不能停止?

对于“当参与度低于阈值时区块链应该做什么?”这个问题,有一个诱人的答案:安全地停止,直到条件恢复。这是大多数经典BFT系统使用的答案。在一些为吞吐量优化的生产链中,从停止中恢复也可能需要人类协调和重启。这不是以太坊的答案。

原因有多层。具体来说,应用层无法容忍停止。DeFi协议依赖L1心跳来执行清算、发布预言机更新、让用户管理头寸;Rollup依赖它来发布批次、提交欺诈或有效性证明、以及处理提款;跨链桥依赖它来确认跨链状态。冻结的基础层会同时冻结所有这些。在Solana 2024年2月停止期间,链停止生产区块五小时,这意味着链上DeFi操作无法处理,头寸累积了用户无法在链上管理的风险。相比之下,在以太坊2023年5月的最终确认中断期间,链持续生产区块:最终结算被延迟,但操作连续性得以保持。

不那么明显但同样重要的是,需要重启的链必须有一个能够执行重启的社交层。必须有人识别问题、提出修复、说服验证者采取行动、并协调重启。那个社交层实际上成了信任假设的一部分:协议的活性依赖于一小部分人可用、一致且未被破坏。这与无许可协议应有的样子相反。

从对抗场景的极端情况来看,停止本身就是一个攻击向量。如果对手能够通过利用漏洞、使超多数客户端进入错误状态、或分割网络来迫使链停止,他们就拥有拒绝服务杠杆,而无需破坏诚实验证者。一个不能停止的协议——只要诚实的清醒多数正在生产区块——就消除了这个杠杆。

这三个原因并不等价,但它们指向同一个方向。只要足够多的诚实验证者清醒并能生产区块,协议就应该继续前进,并且应该在没有带外干预的情况下做到这一点。这是其余设计必须遵守的核心承诺。

你不能在一个协议中完成所有事情

接下来的自然问题是,是否单一的共识协议能够同时提供这种永不停止特性和强大的最终确认。答案是否定的,原因是一个定理。

可用性-最终确认困境——区块链特有的CAP定理类比——证明没有任何单一协议可以同时保证:

  • 动态参与下的活性:即使清醒验证者集合波动,链仍然持续增长。
  • 网络分区下的安全性:即使网络临时分裂,已确认的交易也不能被回滚。

优先考虑第一个的协议必须接受,在分区分割期间,两边都会持续生产区块——而调和它们需要重组一边。优先考虑第二个的协议必须在参与度低于安全阈值时停止。

经典BFT协议——PBFTTendermintHotStuff——选择安全性:它们停止而不是在不确定性下确认。最长链协议,包括比特币的,选择可用性:它们持续延伸链,只提供概率性确认。两者不能兼得。

如果我们想要一条在生产层永不停止并且同时提供经济最终确认的链,不可能性结果告诉我们不能在一个单一协议内实现。我们必须组合至少两个具有不同保证的机制——一个始终推进的可用链,在其上叠加一个在条件允许时对该链前缀进行最终确认的最终确认机制。

这就是以太坊。两层结构不是风格选择;它是对不可能性结果的直接回应。

如今,这种形态由Gasper实现:LMD-GHOST作为可用链,与Casper FFG作为最终确认组件配对。两者紧密耦合——最终确认处于关键路径,完整验证者集合必须每个epoch投票——epoch是Casper FFG运行一个完整投票轮次的时间单位,需要连续两个epoch才能最终确认;每个epoch由32个slot组成,slot是心跳提议区块的时间单位,同时每个slot由一个验证者委员会投注证明,该委员会是验证者集合在该epoch划分出的32个不相交委员会之一——并且这种交互已被证明难以推理一个后续设计将两层解耦,包括它们的时间单位——心跳按其自身节奏运行,最终确认层按自身节奏运行——使用抽样委员会的心跳生产区块,以及一个滞后的最终确认组件。下面讨论的“为什么”对两者都适用。

心跳:动态可用性

第一层是心跳:应用层视之为区块生产的可用链组件。我们希望这一层具有的形式属性是动态可用性——在sleepy模型中的安全性和活性。安全性意味着诚实验证者不会采纳冲突的链;活性意味着链持续生产新区块。sleepy模型本身允许验证者随时清醒或睡眠,协议只假设当前清醒验证者中的大多数是诚实的。睡眠验证者不计入任何故障预算——既不是拜占庭(任意错误或对抗性),也不是崩溃。他们只是不参与,链继续运行而无视他们。

这很重要,因为现实世界中的参与度可能波动。运营者因升级而关闭节点;数据中心宕机;ISP错误路由流量;共识客户端出现漏洞。在2023年5月事件中,超过90%的slot仍然收到了提议的区块——链持续跳动,因为清醒且未受影响的验证者足以支撑它。如果将离线验证者计为故障的协议,吸收同一事件的余量将小得多。

动态可用性是这样一种属性:只要清醒多数是诚实的,协议就保持安全且有活性——无论同一时刻有多少验证者恰好离线。

心跳是应用层实际看到的。当DeFi协议谈论以太坊“正常运行”时,它们的含义是心跳正在生产区块。最终结算需要第二层;操作连续性需要第一层。

最终确认装置:让安全可问责

第二层是最终确认装置。它的工作是取用心跳已经生产的区块,并将链的前缀标记为最终——这意味着,在协议的经济安全模型下,如果没有可量化、可归属的成本,它们就不能被回滚。

心跳假设同步并容忍波动的参与度,而最终确认装置相反:它假设部分同步,需要超过全部活跃验证者集合的三分之二多数投票,并在无法达到该超多数时停止(而不是确认)。这是BFT风格的保证。重组一个已最终确认的区块要求至少1/3的总质押量为两个冲突的历史版本投票。

这种保证有效的原因是该设计的第二个重要“为什么”:罚没。最终确认一个区块不仅仅是投票;它是进行证明的验证者用其密钥签署的密码学承诺。一些矛盾是直接可罚没的:在同一slot生产两个冲突区块、进行两次冲突证明、或生产其源/目标投票“包围”早期证明的证明。这些不是某种主观意义上的“投票错误”。它们是协议可以验证的已签署矛盾。

可罚没违规的选择反映了一个更深的原则:协议只惩罚它能证明的内容。一条可罚没的消息留下矛盾的已签署证据,任何参与者都可以验证,任何提议者都可以将其包含在链上。惩罚之所以可执行,正是因为违规是可归属的。如果1/3的质押量为两个冲突的已最终确认历史投票,协议可以识别做出矛盾的验证者并施加经济成本。

最终确认本身有几种风味。经典BFT协议通过停止而不是在不确定下确认来提供最终确认;最长链协议只提供概率性最终确认,其中随着更多区块建立在它之上,区块变得更难回滚。以太坊选择了经济最终确认——一个已最终确认的区块原则上可以回滚,但只有在可以精确归属给负责的验证者并通过罚没施加成本的情况下。这是与罚没不可分割的最终确认形式:去掉罚没,剩下的就是一个投票,而后来反悔的投票者无需付出代价。为此模型设计最终确认装置最难的部分不是投票规则——而是使投票规则成为协议可以惩罚违反行为的规则,没有误报,使用公开可验证的证据,并且方式能扩展到整个验证者集合。

当参与度崩溃时:闲置泄漏

两层设计涵盖了常见情况:心跳持续生产,最终确认装置持续最终确认。但当参与度下降到最终确认装置无法达到其2/3超多数时会发生什么——例如,因为一半验证者长时间离线?

天真的答案是“停止直到他们回来”。这再次是需要社交层协调恢复的答案。以太坊采取不同的路线:闲置泄漏

当链超过四个epoch没有最终确认时,协议进入泄漏状态。证明奖励停止,没有及时投票的验证者开始损失质押。惩罚随着验证者离线时间增长而加速,因此成本复合增长而不是以固定速率累加。对于一个有效余额为32 ETH的验证者,完全缺席大约三周可能使其余额被从活跃集合中驱逐。

泄漏的目的不是惩罚倒霉的诚实验证者。它是为了以有效权益为单位缩小活跃集合,直到实际清醒的验证者再次构成超多数。一旦他们做到了,最终确认装置可以恢复运行——无需硬分叉、无需协调重启、无需社交层决策。协议自行决定其恢复最终确认的路径。

这是设计中永不停止哲学的最强表达。在整个泄漏过程中,心跳持续生产区块。泄漏本身是自动修正,而非紧急情况。恢复时间取决于离线质押量以及验证者的有效余额,但关键是恢复路径是自动的:闲置的质押泄漏,直到仍在参与的验证者可以再次最终确认。

社交结构:客户端多样性

到目前为止,设计假设使验证者离线的故障是独立的:云服务商宕机影响一个运营者,硬件故障影响另一个。只要没有一个故障原因与大部分质押量相关,故障预算就是充裕的。

如果单个共识客户端占据超过三分之一活跃质押量,这个假设就会崩溃。该客户端的漏洞不再是一个运营者的问题——它同时是每个运营者的问题:

  • 超过1/3在一个客户端:一个阻止运行该客户端的验证者及时做出目标投票,或将其置于链的差异视图上的漏洞,可以将最终确认参与度降至2/3阈值以下。如果最终确认丢失超过四个epoch,链进入闲置泄漏。运行该客户端的验证者面临逐步升级的惩罚,直到他们迁移、恢复或退出。
  • 超过1/2在一个客户端:该客户端分叉选择规则中的漏洞可以主导链头,因为其证明权重超过所有其他客户端的总和。诚实的少数派可能发现自己被拉入其自身逻辑本会拒绝的链,或者分裂到多数不再跟随的分叉上。
  • 超过2/3在一个客户端:该客户端中的共识漏洞可以被最终确认。在大约13分钟内,链可以提交给一个被破坏的历史,该历史无法通过正常协议规则回滚而不罚没至少1/3签署该历史的质押。

每个连续阈值对应不同的协议属性被置于风险中:活性、分叉选择完整性、最终确认。超过2/3,协议的经济安全论证可能崩溃:由善意验证者最终确认的、由漏洞导致的历史,迫使恢复进入丑陋的社交和操作困境,而不是正常的协议路径。

因此,客户端多样性不是社区伦理;它是安全模型的一部分。2023年5月的最终确认事件是最清晰的实证演示:Prysm和Teku中的漏洞共同拿走了足够多的质押以破坏最终确认,但由于Lighthouse、Nimbus和Lodestar未受影响,链持续生产区块,闲置泄漏完成了其余工作。如果单个客户端运行了超多数验证者,同样类型的相关故障可能会严重得多;如果漏洞影响了共识有效性或分叉选择,错误的链历史甚至可能被最终确认。

协议不能直接强制客户端多样性——它不能告诉验证者运行哪个软件。它能做的是让运行少数客户端对个体而言更安全。大型客户端群体中的漏洞可能使许多验证者同时处于最终确认或分叉选择的错误一边;较小群体中的同一漏洞具有较小的爆炸半径,无论对网络还是对运营者都是如此。

为什么验证者保持清醒

到目前为止的设计给了协议正确的结构来持续生产区块并从干扰中恢复。但如果验证者集合本身崩溃——如果太少运营者出于经济动机运行节点、保持在线、并在问题出现时响应——则这一切都不起作用。

在每个slot级别,每个诚实、在线的验证者会因及时投票获得证明奖励——每年数千次,提供稳定、可预测的收益。区块提议者和同步委员会成员在被选中时会获得额外奖励。在闲置泄漏之外,离线惩罚大约与在线奖励对称:小、可恢复、与停机时间成比例。关键在于,错过奖励本身就是惩罚——在一个其他所有人都在赚钱的系统中,落后等同于损失相对份额的质押。不对称只在泄漏期间启动。

想要停止运营的验证者可以通过退出队列自愿退出,而不会被罚没或损失本金。协议区分“我要离开”(优雅退出)和“我就是不出现”(闲置惩罚),只有后者被视为对抗性。

这些机制的累积效果是验证者群体广泛分布——成千上万的独立运营者——并且普遍有动力保持在线。这种广泛分布是本文每一其他属性的前提。动态可用性假设“清醒质押的大多数是诚实的”通常成立;闲置泄漏假设有足够多的验证者保持清醒,以便在处理链的同时让闲置质押泄漏;客户端多样性假设“没有单一客户端主导”在规范上是成立的。所有三个都依赖于一个大型、多样化且有结构化激励参与的验证者集合。

一条不需要被拯救的链

上述所有内容中反复出现的模式是一样的:在其他设计可能依赖带外协调来处理失败情况的地方,以太坊试图让协议本身负责。两层分裂意味着一层的停止不会阻碍另一层。动态可用性意味着失去一半验证者不会阻止区块生产。闲置泄漏意味着失去太多验证者无法最终确认时,不需要人类协调重启。罚没意味着安全违规带有可归属的经济成本,而不仅仅是社交成本。客户端多样性意味着任何单一软件中的漏洞在爆炸半径上都是有限的。

这些机制有一个共同属性:它们使链的持续运行不依赖于任何特定个体。没有特定的验证者、没有特定的客户端、没有特定的运营者、没有特定的开发者、没有特定的组织。这就是协议对最大化去中心化的承诺在操作层面的样子——不是社区口号,而是内置于机制设计中的属性。

最终,这就是设计的意义。一条永不停止的链是一条其安全模型不包含“然后人类协调恢复”的链。以太坊共识协议背后的“为什么”是一个旨在被留在这里运行的协议——正确、无限、不由任何特定人——背后的“为什么”。

  • 原文链接: x.com/with_blockmedia/st...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论