买方问“交易在哪个最新区块?”与卖方问“何时不再因正常分叉而撤销?”必须给出两种答复。Gasper 把 LMD-GHOST 风格的叉选择与 Casper FFG 检查点最终性组合起来:最新的有效投票影响当前 head,满足协议门槛并按规则链接的检查点可逐步得到 justified、finalized 状态。head 改变不等于已 finalized 的检查点被常规改写。

flowchart LR
  V[验证者最新可用投票] --> H[LMD-GHOST: 选择当前 head]
  H --> T[新交易暂时纳入]
  V --> J[FFG: 检查点投票]
  J --> F[justified → finalized]
  F --> A[应用按预先约定的终局策略兑现]
  T -.不能自动推出.-> A

最终性不是“有任意大比例在线节点的一条多数意见”,需核对投票源/目标检查点、权重与历史链接;头部选择也不是只找高度最大或只看最近一笔投票。永久不稳定的网络可以阻止足够投票达成最终性,安全性与活性不能互换论证。长期离线的新节点还涉及弱主观性:即使能下载历史区块,也需要在协议允许的期限内从可信来源取得足够新且可信的检查点,否则不能仅凭一条自洽历史确定规范网络。

head 前进但 checkpoint 停滞

设共同祖先后有 A/B 两条暂时分支:新的验证者最新投票更倾向 A,可使当前 fork-choice 输出 A 为 head;这只是在给定本地已知、符合验证规则的区块及投票集合上选眼下要继续接的历史。另一个路径是检查点证明:投票必须把规定的 source/target 检查点、链上的历史链接与足够权重联系起来。如果这些条件尚未满足,新 head 上的托管事件只能记为暂时观察,不能把 head 选择结果冒充 FFG 的最终性证据。常规重组可改变尚未最终确认的订单状态,应用需要保存块哈希及终局检查点,而不是只记一个“最高高度”。

长期不在线的节点重新加入时,下载来的历史签名可能形式正确,仍须找一个可信且足够新近的检查点来锚定网络。弱主观性处理的是长期退出/历史分叉下的起点选择问题,不能靠“再下载一份旧账本”自动消除。若锚点由单一服务商提供,服务商如何被验证和替换又成了独立风险。本文没有冻结的 CL 或测试网实验,不能把上述分叉图视作已测的 LMD-GHOST/FFG 选票轨迹。

练习一:分叉 A head 更近却没有足够权重为新检查点投票,应用能宣称 A 上交易已最终确认吗?答案:不能;头选择与最终性证书不同。练习二:新节点只从单个陌生 peer 下载远古至今的自洽历史,能完全免除可信起点吗?答案:不能;弱主观性要求独立获取可信且足够新近的锚点。无冻结共识客户端,带权投票、最终性停滞与锚点恢复 NOT_RUN。

可迁移原则:将可快速更新的观察头与慢速不可回滚承诺分层。参考:Gasper 官方说明、Ethereum 共识规范(原文、网络 fork、源码 SHA 待核);导航:区块链(15):PoS 权重、普通惩罚与可罚没行为 · 16 · 区块链(17):执行、共识客户端与验证者怎样拼成一个节点。