“在最多 $f$ 个副本可能任意作恶、认证通信且副本数满足典型的 $n\ge3f+1$ 条件时,实用拜占庭容错通过 pre prepare、prepare 与 commit 法定人数实现确定状…”
形式陈述 ​
PBFT 是在认证异步网络中实现确定性状态机复制的经典拜占庭容错协议。系统以 pre-prepare;某副本在日志中已有该消息,并收集来自不同备份的 prepare 后达到 prepared,随后广播 commit;它在自身已 prepared 且收到来自不同副本的 commit 后达到 committed-local,再按序执行。大小为
直觉
PBFT 的两轮副本投票分别建立“足够多节点接受同一序号—摘要”与“足够多节点知道该接受状态已广泛形成”。quorum 计数保证证书交叠,协议规则则保证交集中的正确节点不为同一视图、序号支持冲突值;view change 再携带 prepared 证据,使新 primary 不能遗忘已经获得安全锁定的请求。
例子与边界
prepared 需要一条匹配 pre-prepare 与来自两个不同备份的 prepare,本地提交还需三条匹配 commit。primary 停顿或作恶会触发 view change,由新 primary 依据带证据的历史继续。PBFT 的 safety 不依赖已知消息延迟界;liveness 需要网络最终足够及时且正确 primary 最终稳定。消息认证阻止冒充正确副本,但故障副本仍能签发冲突消息。协议假设副本执行确定性操作或以受控方式处理非确定性。
当
推论与应用
拜占庭故障下的状态机复制由认证消息与 quorum 证书实现,底层是消息传递。PBFT 的正常路径、checkpoint 与 view change 成为后续 BFT 协议的基线;经典正常路径需要副本间二次量级通信,后续协议常围绕降低消息数、延迟和副本开销改进。安全性依赖交集与锁定规则,活性则依赖部分同步和正确主节点,二者不能用“有
参考资料
- Miguel Castro and Barbara Liskov, “Practical Byzantine Fault Tolerance,” OSDI 1999,Full paper, §§2–4, system model, normal-case protocol, checkpoints, and view changes。
- Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996,Chs. 14–17, Byzantine agreement and state-machine replication context。