合并的交接条件:终末总难度与终末区块哈希在规范里怎么写 图 1
合并的交接条件:终末总难度与终末区块哈希在规范里怎么写 · 图 1

2022 年 9 月,以太坊把出块权从矿机交给了质押的验证者,这次升级通称”合并”。但合并不是一次预定日期的重启,而是一次由数据条件触发的自动交接——触发器本身写在 EIP-3675 里,这份规范 2021 年 7 月创建,状态为 Final。理解它如何判定”最后一块算力块”,比记住升级日期更能说明这次切换的巧妙与风险所在。

用累计难度画一条线

EIP-3675 给主网配置的核心参数叫 TERMINAL_TOTAL_DIFFICULTY,一个写死在客户端配置里的数字,主网取值是五万八千七百五十后面的二十二个零。规则是两条不等式的合取:某块自身的全链累计总难度达到或超过阈值,且它的父块累计总难度仍低于阈值——同时满足这两条的那个工作量证明块,就是”终末区块”。总难度是创世以来所有区块难度的累加,随出块单调增长,所以这条线不依赖任何人的宣告,任何一方只要重放区块头就能独立算出交接点在哪。这个设计让合并没有”宣布时刻”:矿机照常挖,验证者链照常走,双方链在数据层面自己对齐。

合并的交接条件:终末总难度与终末区块哈希在规范里怎么写 图 2
合并的交接条件:终末总难度与终末区块哈希在规范里怎么写 · 图 2

备用开关与阈值重置

规范同时准备了备用参数:TERMINAL_BLOCK_HASH 与配套的 TERMINAL_BLOCK_NUMBER。默认全零即停用;一旦填入某个具体哈希,交接点就改由哈希钦定,不再看总难度。这条旁路是为极端情况准备的——如果出块速度出现异常导致总难度线永远够不到,或者需要精确锁定一个已知块,治理上可以钦块代替画线。

更值得注意的是规范对失败的预演。它专门讨论了一种事故:客户端连接信标链的组件在阈值到达前掉线、此后一直离线,那么这台客户端可能继续跟在被废弃的算力链上出块或验证,浑然不觉主链已经换轨。规范的处方是把 TERMINAL_TOTAL_DIFFICULTY 重置到一个更接近当下的值,让所有滞后软件被强制甩到正确一侧。允许改参数这件事本身就说明:阈值是协调工具而不是真理,写死它是为了让所有人核对同一个数字。

交接那刻节点在做什么

对运行中的节点来说,合并没有停机窗口。执行层客户端在算力链上追到终末区块后,转换到信标链驱动的验证节奏:区块不再由算力的概率承诺背书,改由超过三分之二的质押权重投票确认。从这一刻起,出块空轮次成为历史,孤块与叔块的意义被最终性重新改写。用户在交易所充提、钱包同步时遇到合并窗口期公告,技术根源就在这一层:两条执行引擎在同一份状态上换驱动,节点重同步与重组边界需要短暂观察期。

安全提示

需要警惕的是把这段历史经验误用于其他链:各链切换共识机制的参数完全不同,有些链根本不用累计难度做触发器,套用以太坊的叙事去判断另一条链的”合并安全性”是常见错误。另外,凡是在讨论中遇到声称”某链合并后通胀减半所以必涨”之类的说法,应意识到共识机制变更不承诺任何价格走势。本文只是对已生效规范的机制说明,不构成投资建议;具体升级范围与时间请以官方规范与升级公告为准。

为什么选择累计难度而不是区块高度

用区块高度钦定切换点看起来更简单,但它回避不了一个事实:出块速度存在随机性与人为扰动空间,任何预设高度都可能被抢跑或滞后。累计总难度是全网算力的积分账本,改它需要实际付出对应数量的算力,伪造成本最高、核对最便宜,这正是它被选为交接线的原因。同类思路在其他系统中反复出现——需要双方无法各执一词的边界时,选一个由沉没成本背书、人人都能独立重算的量。合并后主网一度保留过一小段算力链残影,链上浏览器里能看到终末区块之后仍有少量算力块被挖出但永不被引用,它们正是这条判定线以外世界的化石,也是”条件触发而非日期触发”的实物证据。