案例库 · 研发与科研 · 技术决策 · 1999
PBFT:让拜占庭容错复制在实际应用中变得足够快
Castro和Liskov的协议使复制服务在异步网络中,以实际可行的速度,用3f+1个节点容忍任意故障。
麻省理工学院
解法
到1999年,分布式系统已经能容忍崩溃,但不能容忍拜占庭故障——节点撒谎、伪造或任意行为。早期的BFT方案要么停留在理论上,要么太慢,要么假设同步,而攻击者可以通过延迟诚实的节点来破坏同步。
Miguel Castro和Barbara Liskov的“实用拜占庭容错”表明,在像互联网这样的异步网络中,复制可以用3f+1个副本容忍f个拜占庭故障。一个三阶段协议对请求排序,客户端在信任结果前等待f+1个相同回复。
关键在于算术:任意两个2f+1副本集合至少相交于一个正确节点,因此冲突结果不可能都获得足够支持。作者构建了一个拜占庭容错的NFS,并测得开销比早期协议低一个数量级。
生效的原因
- 两个2f+1的法定人数总是共享一个诚实的副本
- 三个阶段在副本间绑定请求的顺序
- 安全性不依赖时间假设,只有活性需要
- NFS实现证明了实际速度
取得的成效3f+1个副本让f个说谎者无害神来之笔
可借鉴之处
当故障可能是恶意的时,要使冗余规模让诚实法定人数必须相交:用3f+1个副本,任意两个2f+1多数派会共享一个正确节点。正确性来自计数,而非信任。
后续进展
PBFT成为实用拜占庭容错的标准参考,并成为后来BFT共识设计的基础,包括将拜占庭协议与区块链式复制结合的分布式账本。
资料来源
发现哪里写错了?告诉我们。