Gasper 分叉选择是什么?LMD-GHOST 与 Casper FFG 怎么分工 图 1
Gasper 分叉选择是什么?LMD-GHOST 与 Casper FFG 怎么分工 · 图 1

结论先说

以太坊的”唯一真相”不是靠某条规则钦定的,而是每个验证者按同一套分叉选择算法各自计算出来的。这套算法叫 Gasper,由两部分拼成:LMD-GHOST 负责”此刻链头是谁”的实时选择——在每条分叉上,沿着各验证者最新投票累计权重最大的子树走下去;Casper FFG 负责”哪些区块永不回头”的周期性最终化——每两个时隙对(epoch)一轮的 checkpoints 拿到三分之二质押权重背书就定版(最终性概念见以太坊最终性是什么?)。两者合起来回答了同一个问题的两面:链往前长的时候听谁的,长出来的部分什么时候算数(验证投票机制见attestation(验证)是什么?验证者怎么投票)。

分叉为什么需要规则

只要网络存在传播延迟,同一高度就可能同时存在两个合法区块:出块者几乎同时出块、某个验证者晚一步才看到对手分支、或者攻击者故意扣留区块制造竞争。没有统一规则,不同节点会跟不同的链,网络就地分裂。分叉选择规则(fork choice rule)就是写进客户端的那本”裁判手册”:给定同样的区块图和投票数据,任何诚实节点都必须算出同一个链头。

Gasper 分叉选择是什么?LMD-GHOST 与 Casper FFG 怎么分工机制示意

LMD-GHOST 怎么找链头

规则可以拆成两个词。GHOST 是”最重观测子树”:从根往下走,每到分叉点不比较链长,而是比较两边各自收到的验证者支持权重,往重的一边走。LMD 是”最新消息驱动”:每个验证者只有一票,且只按他最新一次 attestation 计票——同一验证者在两条分叉上重复投票的”双重表态”消息会被直接丢弃,不给计分(与双花类罚则的关系见双花(equivocation)是什么?验证者怎么被罚)。实现上,客户端为每个验证者维护一张”最新消息表”,逐槽更新;计算链头时从最近的已确认检查点出发,在过滤后的区块树里贪心地走向”最新质押支持量”更大的孩子,直到叶子。权重不是票数简单相加,而是验证者的有效余额加权——这让它天然抗女巫(时间单位见slot 和 epoch 是什么?以太坊的时间单位)。

Casper FFG 怎么锁历史

LMD-GHOST 保证的是”活着的共识”,它选的链头理论上还可能被重组。最终化由 FFG 这半边负责:验证者在每个 epoch 对”来源—目标”检查点对投票,凑够三分之二质押权重,目标检查点升格为”已论证”(justified),下一轮再对则升格”已最终化”(finalized)。检查点树走的是 BFT 式的多数决逻辑(BFT 原理见BFT 是什么?拜占庭容错的原理),与逐槽的 GHOST 分工并行:Gasper 的组合方式是”先用 FFG 找出不可回退的锚点,再从锚点出发用 LMD-GHOST 向前生长”。要撤销一个已最终化的区块,攻击者必须让至少三分之一总质押被销毁——经济上近乎自杀。

两套规则的接缝与角落案例

值得知道的是裁判手册处理过的疑难:其一,“弹跳攻击”——攻击者操纵最新检查点的更新时间点让不同节点看不同分支,防御是把检查点更新限制在 epoch 开头的固定窗口;其二,“平衡攻击”——约三分之一质押在两条分叉间来回倒票拖住最终性,防御路径之一是让不活跃质押在超时后逐渐流失(不活跃流失机制另文详述);其三,检查点与区块树的错位——若某分支持有最新检查点,LMD-GHOST 必须从它出发,客户端通过过滤区块树排除不可行分支。这些细节说明一件事:分叉选择不是”最长链”一句话,而是一整组经过攻防打磨的边界条款。

对普通用户意味着什么

日常层面,这套规则体现为钱包里的”确认数”体验:新区块先以”unsafe→safe→finalized”的梯度获得信任,交易所和桥对哪一级入账各有政策(三档差异见以太坊最终性是什么?一类核验说明)。协议层面,它解释了重组为什么罕见但非零(重组机制见重组(reorg)是什么?为什么已打包的交易可能消失)、客户端多样性为何重要——多个客户端独立实现同一份分叉选择规范,是防止”一个 bug 分裂全网”的保险(客户端多样性背景见共识客户端和以太坊客户端是什么关系)。

风险提示

分叉选择与最终化参数(槽时长、检查点节奏、罚则比例)随协议升级调整,本文不含具体数值承诺,机制描述以共识规范与 ethereum.org 文档为基准(核验时间 2026 年 7 月 22 日)。任何”某交易所几分钟后必到账”式断言都应以链上状态与其官方公告为准。本文不构成投资建议。

小结

Gasper 的回答是:活着的链听”最新投票加权最重”的分支(LMD-GHOST),沉底的历史由三分之二质押的检查点投票焊死(Casper FFG)。一个管生长,一个管封存,两份职责共享同一份验证者投票数据。看懂这条分工,重组、最终性与”链头”这类词就有了共同坐标。