本文详细介绍了以太坊为实现快速最终性提出的3SF(3槽最终性)机制。文章首先回顾了SSF(单槽最终性)面临的挑战及其物理瓶颈,随后深入阐述了3SF如何通过管线化和合并投票克服这些困难,并探讨了其在现实中的工程挑战和未来发展方向。
本篇文章内容由 AI 与作者共同编写,最终的产出由作者审阅及润色。

本篇文章主要介绍 3SF (3 Slots Finality) 是如何运作的,以及如何在 3 个 slot 内达到最终性(Finality)。此外,还会介绍最初提出的 SSF(Single Slot Finality)及其面临的挑战,并解释为何目前开发倾向于 3SF。文章最后将比较 3SF 与 SSF 之间的差异。
目前 Beacon chain 所使用的 Gasper FFG 协议,需要等待 2 个 epoch(约 12.8 分钟)才能让一个区块达到最终性。这对于未来的全球结算层或是 L2 来说,等待时间实在太漫长了。为了解决这个痛点,近年由于 MEV 促成了“提议者与建构者分离(PBS)”架构的普及,使得由基础设施层提供“预确认(Pre-confirmation)”的可行性大幅提高,能为用户带来更快速的交易体验。然而,预确认终究只是建立在押金与惩罚机制上的“软性保证”;只要底层 L1 还需要 15 分钟才能最终化,提供保证的 L2 排序器或跨链桥就必须承担这 15 分钟内可能发生区块重组的巨大风险。我们终究不能只靠外挂的基础设施,而是必须从协议层(Protocol level)着手,打造真正的“快速最终性”。
在理解 SSF 与 3SF 之前,我们先来认识作为 SSF 基础的 PBFT。
PBFT(Practical Byzantine Fault Tolerance)是分布式系统中非常经典的共识机制。相较于传统 PoW 的概率性确认,PBFT 追求的是“绝对的确定性”:只要网络达成共识,区块就永远不能被推翻。
为了解决网络延迟与恶意节点作乱(拜占庭将军问题),PBFT 设计了严格的“多阶段确认”机制。假设我们需要全网超过 2/3 的节点同意:
为什么需要两次投票(Pre-vote 和 Commit)?因为在分布式网络中,每个人收到信息的时间不同。第一轮投票是确认“大家投的是同一个区块”,第二轮投票是确认“全网大多数人都已经达成共识”。经历完整的通讯往返后,区块才能获得绝对的最终性。
对 PBFT 想深入了解的,可以参考 若想搞懂区块链就不能忽视的经典:PBFT

Generated by AI
SSF 的设计试图将 PBFT 那套复杂的多轮投票流程,全部压缩在“单个 Slot”(目前是 12 秒)内完成。根据以太坊研究论坛上的 Simple SSF 提案,一个 Slot 内必须经历:
提案 → 第一次投票 → 签名聚合 → 第二次投票 → 第二次签名聚合。
为什么需要两次投票?两次分别投什么?
在分布式网络中,单次投票无法保证安全性(Safety)。如果网络发生延迟或分区,或者恶意提议者(Byzantine Proposer)故意只向一半的网络广播区块,单次投票会导致部分节点误以为达成了共识,进而引发严重的分叉。因此,SSF 必须遵循 PBFT 的两阶段确认:
致命的物理瓶颈:签名聚合(Signature Aggregation)
在纯粹的理论模型中,SSF 只需要经历 4 个单向的网络通讯步骤(提议 → 第一次投票 → 第二次投票 → 确认冻结),其通讯预算理应是非常优雅的 $4\Delta$。然而现实是残酷的。在拥有百万验证者的以太坊中,如果所有节点直接互相广播选票,传统 BFT $O(N^2)$ 的通讯复杂度会瞬间瘫痪整个 P2P 网络。
为了解决这点,以太坊规定选票必须先发送给特定的“聚合器(Aggregators)”,由它们通过密码学将成千上万的 BLS 签名“压缩”成单一证明,然后再向全网广播。
正是这个“一收一发”的聚合过程,成为了压垮 single slot 的稻草。聚合器必须先等待收集大家的选票(耗时 $\Delta$),计算完成后再将压缩后的聚合签名广播给全网(再耗时 $\Delta$)。这直接将每一次投票阶段的网络传播延迟翻倍,从原本的 $\Delta$ 膨胀成了 $2\Delta$。
因此,原本理论上轻盈的 $4\Delta$ 设计,在实务中为了容纳百万验证者,塞入了聚合步骤,最终变成了沉重的 $6\Delta$:

SSF 的设计:4 个步骤,每个步骤为 $\Delta$ 延迟,所以理论上为 $4\Delta$ 的延迟。来源: https://ethresear.ch/uploads/default/original/2X/b/b2e3bad804fd7b520b49902e89ab31bcfe56a06a.png
这意味着一个完整的 SSF Slot 实际上需要 $6\Delta$ 的网络传播时间。如果全球网络延迟稍微波动,整套流程就会超时。这导致 SSF 在实务上面临两难:要么网络频繁失去活跃性(Liveness),要么必须将 Slot 时间大幅延长(例如拉长至 24 或 32 秒),这完全违背了以太坊追求高效能结算层的初衷。这也是为什么 SSF 虽然是理论上的最优解,但在工程实现上极度困难。
$\Delta$
既然无法在单个 Slot 内硬塞入 $6\Delta$ 的通讯与两次聚合,研究员们转而借鉴了现代 CPU 与高效能 BFT 共识(如 HotStuff)最核心的技术——流水线化(Pipelining)。
3SF 放弃了在 1 个 Slot 内完成“提案 → 投票 → 聚合 → 二次投票”的执念,而是将这两次关键的 BFT 投票,优雅地拆解并“分摊”到连续的 3 个 Slot 中。更重要的是,为了不增加额外的消息负载,3SF 引入了一项共识协议的魔法:合并投票(Unified Vote)。
什么是合并投票?
在目前的以太坊中,决定哪条链是最长链的“分叉选择规则(LMD-GHOST)”与决定区块不可逆的“最终性工具(Casper FFG)”是分离的。而在 3SF 中,验证者的这“1 次投票”是一张带有多重意义的合并选票。
目前的 Beacon Chain,验证者所投的票确实同时包含了 Head Vote 和 FFG Vote 这两项意义,但这两票指向的 目标(Target) 通常是不同的(Head Vote 指向最新的区块,FFG Vote 指向 Epoch 的边界区块)。
当一个验证者在 Slot $N$ 投出一张票时,他实际上在同时做三件事:
这就像是在同一份签名中,同时打包了 PBFT 的 Pre-vote 与 Commit。通过流水线化的方式,上一个区块的“聚合签名”会直接被打包进下一个区块中。这让原本在 SSF 内会卡死的等待时间,变成了流畅的接力赛:

Generated by AI
视图合并(View Merge):确保流水线流畅的“视角同步”机制
Remember me for faster sign in
在 3SF 的流水线设计中,最脆弱的一环就是 Slot 1 的快速确认。如果验证者们因为网络延迟或攻击者的恶意干扰,导致大家看到的“链头”不一致,那么 Slot 1 就无法在有限的时间内凝聚 2/3 的共识,整条流水线接力就会卡死。
为了确保这场“接力赛”不掉棒,研究员引入了视图合并。它不是另一轮投票,而是在验证者投出那张关键的“合并选票”前,强制执行的视角校准:
这解决了什么问题?
在旧有的 LMD-GHOST 机制中,攻击者常利用“平衡攻击 (Balancing Attacks)”在微秒级的时间差内释放信息,让诚实节点在两个分叉间犹豫不决。而视图合并通过强制同步提议者的视角,确保了只要网络延迟在容许范围内,全网诚实节点都能“看见同一个世界”,进而投出一致的选票。
从补丁到协议完整性
相较于过去为了对抗重组而强加的 Proposer Boost(这更像是一种凭空给予的“权宜之计”),视图合并是从协议层的角度确保了视图的一致性。它让提议者不再是凭空获得权重,而是成为一名“导航员”,引导验证者在正确的基础上进行合并投票。
这套机制让 3SF 的流水线不仅在理论上优雅,更具备了在真实、存在敌意的网络环境下稳定运行的鲁棒性。
网络活跃性与容错极限
SSF 是一种高度耦合的设计。它将 BFT 的所有阶段强硬地绑定在一个 12 秒的 Slot 内。这意味着系统对网络的同步性有着极高的要求(必须严格满足 $6\Delta$ 的极限)。一旦 P2P 网络发生短暂的拥塞,或是聚合器(Aggregators)由于地理延迟无法及时产出聚合签名,验证者就无法投下第二张票。这会导致该 Slot 直接失效(Empty Slot),甚至引发频繁的短暂分叉,严重损害区块链的活跃性。
相对地,3SF 通过流水线化解开了这层硬性束缚。在 3SF 中,如果 Slot 1 的聚合签名由于网络延迟来不及被打包进 Slot 2,网络并不会因此停摆。依赖 LMD-GHOST 分叉选择规则,链依然能继续出块并保持活跃性;只是这批区块的“最终性”会被推延到 Slot 4 或 Slot 5 达成。3SF 继承了 Gasper 协议“宁可延迟最终化,也绝不停机”的优良传统。
6Δ vs 5Δ 的时空交换
SSF 为了在单个 Slot 内完成所有确认,必须塞入两个投票聚合阶段。其结构如下:
3SF 则将单个 Slot 的复杂度降为 $5\Delta$。虽然这看起来只节省了 $1\Delta$,但在全球规模的网络中,这代表时段长度能缩减约 16%。
从严格的密码学角度来看,3SF 达成“绝对最终性”的时间确实比 SSF 慢(36 秒 vs. 12 秒)。但这是否意味着 3SF 的用户体验倒退了?答案是否定的,因为这里存在一个工程上的巧思:分层的确认机制(Layered Confirmation)。
对于绝大多数的 DApp 用户、L2 排序器(Sequencer)或是中心化交易所而言,当 Slot 1 结束,区块收集到超过 2/3 验证者的第一张合并选票时,该区块就已经达成了 “快速确认(Fast Confirmation)”。
要推翻一个具备 快速确认 的区块,攻击者必须让超过 1/3 的验证者同时进行“双重投票”。在以太坊目前的经济模型下,这意味着攻击者将面临数百亿美元级别的 Slash(罚没)惩罚。因此,就“经济安全性”而言,Slot 1 结束时的确定性已经足以视为交易成功。这使得 L2 能够在短短 12 秒内就获得极高强度的底层结算保证,体感时间与 SSF 完全一致。
听起来 3SF 借由流水线化完美解决了问题,但这并非毫无代价。在将 3SF 推向以太坊主网的过程中,仍面临以下挑战:
签名聚合的绝对极限与验证者瘦身计划
尽管 3SF 将每个 Slot 的网络通讯次数从 2 次降为 1 次,但这“1 次”依然无比沉重。以太坊目前拥有超过百万名验证者,要在几秒钟的 $\Delta$ 延迟内,通过 P2P 网络 Gossip 传递百万个 BLS 签名并完成聚合,依然会拥塞整个 P2P 网络,导致节点带宽瘫痪。
为了突破这个工程限制,以太坊研究社区目前有两条路径,试图为验证者集合“瘦身”:
务实 transition:先 Rainbow,后 Orbit
在近期的研究《Paths to SSF revisited》中,目前工程实现上更倾向于 优先推动 Rainbow Staking 上线。原因在于,Orbit SSF 作为全新的动态抽签机制,与 3SF 的底层共识设计深度绑定,开发周期长。相对而言,Rainbow Staking 从“经济学角色分工”切入,可以在不彻底修改共识引擎的前提下,先将百万名 Solo Stakers 从繁重的 P2P 签名广播中解放出来。这种“先解绑经济角色,再升级共识引擎”的策略,能有效避免 3SF 的开发进程被过度拖延。
3SF 彻底移除了现行 Gasper 协议中 Epoch 的概念,让最终性以流水线的方式,随着每一个 Slot 逐次推进。这不仅大幅降低了用户的“体感确认时间”,让 L2 跨链与全球结算能做到近乎即时,更为未来将 Slot 时间缩短至 8 秒或 4 秒铺平了道路。
在以太坊走向 Lean Consensus 与高效能验证的蓝图中,3SF 是在“快速的经济最终性”与“严酷的网络物理限制”之间取得的最优解。在克服上述挑战后,还需要与现行的 ePBS, FOCIL, PeerDAS 等其他提案进行整合。依照官方蓝图,目前的 Faster Finality 还处于探索阶段,毕竟 Lean Consensus 最快也要 3 年以后才会上线,这过程中或许还会发现更好的解法。
Special thanks to TSK and Juno for reviewing and improving this post
- 本文转载自: medium.com/taipei-ethere... , 如有侵权请联系管理员删除。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!