共识算法深入:PoW/PoS、Casper FFG、Tendermint 与分叉规则

共识机制工程级对比:PoW 与 PoS 的安全性模型、以太坊 Casper FFG 的终局性机制、Tendermint/PBFT 的实用拜占庭容错、最长链/GHOST 等分叉选择规则,以及 Casper、Raft、Avalanche 等主流共识的适用场景矩阵。

导语:共识是区块链的"政治制度"

如果密码学解决"谁能做什么",共识解决的是**“所有节点如何对同一份历史达成一致”**——它是区块链的治理规则,决定了系统的吞吐、终局延迟与安全预算。

本篇从两个维度拆解:

  1. 资源维度:PoW(算力投票)→ PoS(权益投票)→ BFT(多轮消息)
  2. 分叉维度:最长链 → GHOST → 终局性规则(finality)

一句话总结:共识算法是"开放网络下拜占庭容错"的工程方案——不同算法在用"成本、延迟、去中心化"三角做不同的取舍。


1. PoW:算力买安全

1.1 挖矿的经济模型

出块条件:H(block_header) < target
目标值随全网算力动态调整(比特币每 2016 块调整一次)

矿工收益 = 区块奖励 + 交易费
比特币 2024 年:6.25 BTC + 费用(2028 减半至 3.125)

安全预算 = 算力投入 × 出块间隔
51% 攻击成本 ≈ 全网总算力的一半租借成本 × 所需持续时长

1.2 PoW 的威胁模型

攻击手段后果
51% 攻击控制 >50% 算力双花、交易审查、历史重组
Selfish Mining隐藏区块以获取超比例收益破坏公平性
算力租赁攻击短期租用算力降低重组成本
空块攻击只挖块不打包降低吞吐

关键防线:重组难度随确认数指数上升。6 个确认 ≈ 0.01% 双花概率(假设攻击者算力 ≤50%)。

1.3 PoW 的能源账单

比特币年耗电 ≈ 150 TWh(与荷兰相当)
每笔 PoW 交易的能耗远高于 PoS
这推动了 2022 年以太坊 PoS 转型的决策

一句话总结:PoW 用"物理算力"构建了无许可网络中最强的抗 Sybil 防线,但能耗与吞吐是它的天花板——它把安全性建立在"花钱买难度"上。


2. PoS:权益抵押代替算力

2.1 验证者机制(以太坊为例)

质押门槛:32 ETH
验证者职责:
  - 每个 Slot(12s)提议区块(随机选中)
  - 参与委员会投票(attestation)
  - 参与同步委员会

收益:提议奖励 + 投票奖励 + 基础收益
惩罚:离线罚金(inactivity leak)+ slash(双签、恶意投票 → 罚没质押)

2.2 惩罚机制:为什么 PoS 作恶更痛

行为惩罚
双签(equivocation)罚没全部或大部分质押
被证明的恶意投票罚没 + 声誉损失
长时间离线小额漏损(inactivity leak),加速链恢复

Nothing-at-stake 问题:PoS 中投票几乎零成本,若无惩罚,验证者会为所有分叉投票。slash 规则让"在错误分叉投票"有真实代价,从而消解该问题。

2.3 PoW vs PoS 安全模型对比

维度PoWPoS
Sybil 抵抗资源算力质押资本
攻击成本需买算力需买/借大量代币(可被罚没)
惩罚手段无(只能失去挖矿收益)罚没质押金(强威慑)
终局性概率性(6 块≈99.99%)确定性(2 epoch 内)
能耗极高极低
去中心化风险矿池集中大户/质押池集中

一句话总结:PoS 用"可罚没的质押"替代"不可回收的算力投入",安全模型从"成本壁垒"变成"惩罚威慑+利益对齐"——这也是它能把终局性做得确定的原因。


3. Casper FFG:以太坊的终局性引擎

3.1 检查点与投票

Casper FFG(Friendly Finality Gadget)是叠加在区块建议之上的终局性层:

Epoch 结构:
  Slot(12s)→ Epoch = 32 Slots(6.4 分钟)

每 Epoch 的检查点(checkpoint):
  source = 当前已确认的检查点
  target = 本 epoch 的检查点

验证者投票(attestation):
  (source, target) 配对
  若 ≥2/3 质押权重投票支持 → 该检查点被 justified
  连续两层 justified 后 → finalized(终局性达成,不可回滚)

3.2 安全性证明

两个致命属性:
  1. Plausible Liveness:只要 2/3 以上质押在线,链总能推进
  2. Accountable Safety:两个互相冲突的检查点若都被 finalize,
     则至少 1/3 质押被 slash(可被惩罚性证明)

核心引理(三明治攻击):
  攻击者想让已 finalize 的链被替代,必须让验证者对自己矛盾的检查点投票
  → 这必然触发 slash 条件(冲突投票)
终局性流程:
  block → checkpoint(epoch 边界)→ justified → finalized
                                        ↑
                         2/3 质押投票确认连续两层

3.3 与分叉选择规则的配合

以太坊的分叉选择 = LMD-GHOST + Casper FFG:

LMD(Latest Message Driven)GHOST:
  从创世开始,每个高度选择"获得最多最新投票"的子块
  是 GHOST 协议的优化版(快速、只需最新投票信息)
  配合 FFG 的终局性约束 → 已 finalize 的区块不可被分叉

一句话总结:Casper FFG 把 PoW 的"概率终局"升级为"确定性终局"——2/3 质押投票即终局,冲突终局必然导致巨额 slash,这让 12 秒出块 + 12.8 分钟终局成为可能。


4. PBFT 与 Tendermint:消息驱动的确定性共识

4.1 PBFT 的三阶段

实用拜占庭容错(PBFT)在已知验证者集合下用多轮消息达成确定性共识:

视图(View)内三阶段:
  Pre-prepare:主节点(primary)提议区块
  Prepare:   各副本广播准备消息(收到 2f+1 个 → 准备完成)
  Commit:    广播提交消息(收到 2f+1 个 → 提交,达成共识)

容错能力:n ≥ 3f + 1(f 为可容错节点数)
  例如 4 个节点可容忍 1 个拜占庭节点
角色:Client → Primary(主节点)→ Replicas(副本)

          C
          │ Request
          ▼
        Primary
       ╱     ╲
   Replica  Replica ...  (n = 3f+1)
     ╲     ╱
      共识点:2f+1 个 Prepare + 2f+1 个 Commit

4.2 Tendermint:把 BFT 放进区块链

Tendermint(Cosmos SDK 的共识层)结合了 PBFT 与 PoS:

每个高度一轮 Propose → Prevote → Precommit → Commit:

  Proposer 提议区块(按质押权重轮换)
  Prevote  广播投票(+2/3 → 锁定)
  Precommit 广播预提交(+2/3 → 提交区块)

  若 Precommit 未达成 → 下一轮新 proposer,重复
  区块一旦提交 → 立即 finalize(无需确认数)
特性Tendermint
终局性立即(每个区块提交即终局)
出块时间~1-3 秒
容错≤1/3 质押作恶可容忍
网络要求部分同步网络(对延迟敏感)
无许可性否(需质押注册验证者)
代表Cosmos Hub、Binance Chain、众多应用链

4.3 PBFT 系 vs 中本聪系

维度中本聪共识(PoW/PoS 最长链)PBFT/Tendermint
终局性概率性/延迟终局即时终局
网络假设最终一致(异步友好)部分同步(需网络可达)
节点数量无许可、可扩展上万通常几十到几百
吞吐较低(全网验证)高(有限验证者)
分叉允许临时分叉不允许(轮次锁定)
适用公链联盟链/应用链

一句话总结:PBFT/Tendermint 用"已知验证者 + 多轮投票"换来即时终局和高吞吐,代价是放弃无许可加入——两类共识本质是在"去中心化程度"与"终局/吞吐"之间做不同取舍。


5. 分叉选择规则:如何决定哪条链才是"主链"

5.1 最长链(中本聪)

规则:选择累计工作量最大的链(链长只是代理指标)

重组条件:攻击者需要比主链多 1 个块才能回滚
6 个确认后,重组概率指数下降

5.2 GHOST 家族

GHOST:不只是链长,还计入叔块(uncle),抵抗"自然分叉浪费"攻击
LMD-GHOST:只看最新投票 → 更快的收敛(以太坊 PoS 采用)

对比:
  最长链在"网络延迟高的多分叉"场景收敛慢
  GHOST 类对分叉更宽容,选择子树投票最多的路径

5.3 Avalanche:随机子采样投票

每轮随机选 K 个节点查询其偏好 → 按多数更新本地偏好
重复多轮 → 概率收敛
特性:无需全局广播、亚秒级终局(概率性)、对分叉极度宽容

5.4 分叉规则对比矩阵

规则机制终局类型抗重组适用
最长链累计工作量/难度最大概率性高(需算力超越)BTC、早期 ETH
GHOST计叔块子树权重概率性中高ETH 早期(未实现完全)
LMD-GHOST最新投票优先概率性 + FFG 终局高(PoS 下)以太坊 PoS
Casper FFG2/3 质押检查点确定性极高(slash 威慑)以太坊 PoS 终局层
TendermintPBFT 轮次锁定即时确定性极高Cosmos 应用链
Avalanche随机采样概率性(快速)高Avalanche 子网

一句话总结:分叉规则决定了"链分裂时谁能活下来"——中本聪看累计工作、GHOST 看子树权重、FFG 看质押终局,越后端的规则越追求"快速收敛 + 不可回滚"。


6. 主流共识机制全景矩阵

机制资源终局性出块间隔去中心化代表网络
PoW算力概率性10s~10min高(但池化)Bitcoin、Litecoin
PoS质押确定性(FFG)秒级中高Ethereum、Solana(变体)
DPoS委托投票概率性秒级中低EOS、TRON、BitShares
PBFT验证者即时秒级低(许可)Hyperledger Fabric
TendermintPoS + PBFT即时1-3s中Cosmos
Avalanche采样投票概率性亚秒高Avalanche
Narwhal/TuskDAG+BFT即时秒级中高Sui
BFT-DAGDAG 排序即时秒级中高Aleph、DAG 系

6.1 如何选择共识

公链开放世界:PoW(最大去中心化)或 PoS(性能+终局)
联盟链固定成员:PBFT/Raft(高吞吐、可审计)
应用链/多链生态:Tendermint/IBC(互操作友好)
高吞吐 DeFi 结算:确定性终局优先(Tendermint、Solana)

一句话总结:没有"最好"的共识,只有"最匹配需求"的共识——公开、无许可、抗审查优先选 PoW/PoS,性能与终局优先选 BFT 系,这是所有联盟链与高吞吐公链的决策逻辑。


7. 共识安全的攻击面

7.1 长程攻击(Long-range Attack)

PoS 特有:攻击者获取早期验证者的私钥 → 从创世伪造一条新链
  防线:弱主观性(weak subjectivity)——新节点信任近期的检查点
        而不是从创世独立验证

7.2 腐败激励(Bribe 与 Whales)

验证者数量少 → 单一巨鲸可控制 >1/3 → 阻止终局
攻击者公开贿赂(如 MEV 提取 + 私下贿赂):
  公链的"贿赂"防线弱(无监管),靠理性验证者选择长期利益

对策:更低的质押门槛、抗 MEV(PBS/MEV-Boost)、惩罚可见性

7.3 活性攻击(Liveness Attack)

验证者集体离线 → 无法达成 2/3 → 链停滞
PoS 的 inactivity leak 会逐渐烧掉离线者的质押
  使在线者权重相对上升 → 链恢复活性

一句话总结:共识安全不只在数学层面——长程攻击、巨鲸集中、活性停滞都是工程现实;弱主观性、slash 与泄漏机制就是对这些"非密码学威胁"的补丁。


8. 总结

  1. PoW:算力买安全,概率终局,去中心化最强
  2. PoS:质押买安全,slash 威慑 + 确定性终局(Casper FFG)
  3. BFT 系:PBFT/Tendermint 即时终局,适合许可/应用链
  4. 分叉规则:最长链 → GHOST → FFG,从"比长度"进化到"比权重/终局"
  5. 选型逻辑:去中心化 ↔ 性能/终局,永远在做权衡

延伸阅读:

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页

「blockchain」更多文章

  1. 跨链互操作:跨链桥、轻客户端验证与信任假设
  2. Layer2 扩容:Rollup 架构、数据可用性与跨 L2 桥
  3. 以太坊 EVM 与状态模型:账户、世界状态、Gas 与存储