以太坊"合并"三步走全拆解:史上最激进硬分叉背后,藏着哪些致命执行风险?

ETH
Bellatrix硬分叉以太坊合并PoS转型执行风险节点客户端最终性TTD
1 小时前来源: blockweeks.com
以太坊"合并"三步走全拆解:史上最激进硬分叉背后,藏着哪些致命执行风险?

本文由BlockWeeks编译整理

Merge(合并)是以太坊从工作量证明(PoW)共识转向权益证明(PoS)的过渡,也是以太坊历史上最复杂、最激进的一次代码变更。它的激活流程与此前任何一次硬分叉都不同:包含三个主要步骤,并要求节点运营者从只运行一个软件客户端,变成同时运行两个客户端。作为按市值和锁仓总价值计算全球最大的通用型区块链,以太坊此次转型牵动的价值与声誉都极为庞大。

合并要解决什么:两条链的融合

目前以太坊的交易通过名为 ethash 的 PoW 共识协议完成最终确认。与这条 PoW 链并行运行的,是信标链(Beacon Chain)——一条自 2020 年 12 月起就在独立运行以太坊新 PoS 共识协议 Gasper 的独立区块链。

Merge 的目标是把两条链融合:让以太坊现有区块链完全依赖信标链来产生网络共识,并彻底抛弃工作量证明。今天我们所熟知的以太坊将不再通过 ethash 处理交易,而只作为执行层(EL,Execution Layer)存在,供去中心化应用和用户广播交易。作为以太坊计算引擎的以太坊虚拟机(EVM)将继续在执行层上正常运作。

信标链则成为以太坊的共识层(CL,Consensus Layer):来自执行层的交易在此被接收、处理并最终敲定。把执行层交易打包成区块、并通过 Gasper 协议完成最终确认,将成为信标链验证者的职责。合并之后,想要跟随以太坊主链,所有验证者和全节点运营者都必须同时运行两个软件客户端——一个执行层客户端和一个共识层客户端。

第一步:Bellatrix 硬分叉

首先,以太坊共识层执行一次名为 Bellatrix 的硬分叉。Bellatrix 在共识层引入了新的信标链区块结构,以便容纳携带执行层交易的区块。它同时内置了一套指令,使得共识层节点在执行层达到特定「终端总难度」(TTD,Terminal Total Difficulty)之前,不会开始把执行层交易塞进信标区块。所有共识层节点都必须在指定的 slot 高度(相当于 PoW 链上的区块高度)之前升级到 Bellatrix。Bellatrix 完成之后,共识层节点就开始监听 TTD。

关键设计:为什么用 TTD 而不是区块高度

终端总难度衡量的是以太坊执行层累计的挖矿难度。这里的「难度」指矿工为区块链追加新块有多难,代表矿工通常需要尝试多少个组合才能找到生成下一个区块的正确哈希。随着矿工投入的算力(哈希率)增长,难度会自动上升。TTD 就是把以太坊历史上所有区块的挖矿难度加总。

历史上执行层的硬分叉激活从不依赖某个特定 TTD,而是依赖预先设定的区块高度。Merge 放弃了这一做法,原因在于「快速分叉」(fast fork)攻击的可能:攻击者可以利用少数算力分叉执行层,并以快于主链的速度挖到指定区块号。一旦发生这种情况,共识层可能误将与攻击者的少数派链完成合并,而不是与主链合并。因此开发者选择用 TTD 作为触发合并的门槛,因为它被恶意行为者操纵的难度要大得多。

但用 TTD 作门槛也有代价:TTD 是一个极难预测的数值,这也让 Bellatrix 之后 Merge 激活时点的预测变得棘手且不精确。这一后果在核心开发者首次尝试于 Ropsten 测试网激活合并时就暴露了出来——原始的 TTD 设定值并不准确,导致激活时间与预期出现偏差。

第二步与第三步:Paris 与执行层切换

当执行层达到 TTD 阈值时,会触发两个执行层升级提案,其中之一是 EIP-4399:它改变了链上随机数的生成方式,不再依赖挖矿难度为 dApp 生成随机整数。两个 EIP 都在 TTD 达标的那一刻同时激活。与此同时,一直在等待并监听该 TTD 数值的共识层节点,也从此刻开始处理来自执行层的交易。

需要强调的是客户端发布与利益相关方沟通的节奏。为准备 Bellatrix 硬分叉,以太坊基金会预计会提前数周发布一篇博客,列出 Paris 与 Bellatrix 两个升级对应的客户端版本,供节点运营者提前下载。这些初始版本中会填入一个异常巨大的 TTD 数值作为占位符。由于 Bellatrix 在特定 slot 高度激活,该升级的日期与预计时间也会同步告知相关方。

Bellatrix 完成后,新的 TTD 数值会通过第二篇博客再次告知节点运营者。这次不需要再对共识层或执行层客户端做一次完整升级,最低限度只需在两类客户端中各加一行代码,手动覆盖此前的 TTD 值即可。此时也可能提供可选的客户端升级,但那是各客户端团队自行决定的事,绝非跟随 Merge 最后阶段所必需的强制发布。

TTD 覆盖值公布之后,就进入等待新阈值被触及的阶段。虽然会有粗略的时间估算,但 Paris 激活的确切日期与时间无法精确预知。

不容忽视的执行风险

1. 时点不可预测带来的运营真空

TTD 无法精确预测,意味着所有依赖以太坊的服务都无法事先锁定「合并那一刻」的准确时间。对于需要暂停或冻结充提的业务而言,这构成了实实在在的运营挑战。

2. 双客户端架构的运维压力

合并后节点运营者必须同时运行执行层与共识层客户端,任何一侧配置错误或版本不匹配,都可能导致节点掉队。测试网(Sepolia、Goerli)上的提前演练因此变得至关重要。

3. 出块与最终性逻辑的根本改变

合并之后,区块将不再以区块高度、而是以 slot 和 epoch 为单位完成最终确认。验证者每 12 秒处理一个 slot,32 个 slot 组成一个 epoch,即每 6.4 分钟一个 epoch。信标链上的交易在 2 个 epoch 后达到最终性,约合 12.8 分钟。对于那些建立在不同交易最终性与确认速度假设之上的交易所、DEX 和其他 DeFi 应用,这些即将到来的变化必须提前预判和准备,以避免功能中断或被利用。

结语:概率虽小,冲击不小

以太坊从 PoW 转向 PoS,是加密货币历史上最受关注、影响最深远的 Layer 1 区块链升级,此前从未有哪个在规模与重要性上可与以太坊比肩的网络经历过如此剧烈的变化。由于开发者投入了海量测试与准备,上述风险严重冲击用户与 dApp 的概率并不高;但一旦文中描述的任何一种情形出现,以至于网络需要通过紧急硬分叉来回滚升级,以太坊作为通用型区块链的价值与声誉都可能受损。

因此,所有利益相关方都应清楚这些风险,并采取措施减轻潜在问题对自身网络使用的影响,例如在可能出现中断的关键窗口暂停或冻结充提。同时,验证者、dApp 与服务提供商应通过在 Sepolia 和 Goerli 测试网上参与后续激活演练来做准备,这既能确保节点运营者掌握跟随合并升级的最佳实践,也能在主网激活前暴露流程中的问题。此外,以太坊基金会、客户端团队与可信媒体在激活期间对合并相关虚假信息的警觉尤为关键——包括错误的 TTD 数值、错误的客户端版本、错误的时间预期以及错误的操作指引,并需快速协同,清楚地告知相关方下一步该准备什么,直到合并升级彻底完成。