形式陈述
拜占庭故障允许故障进程任意偏离协议:发送矛盾消息、伪造本地状态、选择性沉默、串谋或按对手策略行动。模型需明确至多
直觉
崩溃进程只是停止工作,拜占庭进程却可能有目的地制造彼此不一致的现实,因此协议必须让正确节点即使收到相互冲突的信息仍保持一致。
例子与边界
一个副本可向节点 A 声称“提交 0”,同时向节点 B 声称“提交 1”,称为 equivocation。数字签名能证明消息来源并限制伪造,但不能阻止持钥故障节点签署冲突消息;阈值和协议仍需重新分析。将网络丢包、软件 bug 或被攻陷节点都粗略称为 Byzantine 之前,必须确定对手能力和信道假设。
推论与应用
该模型用于复制状态机、区块链、航空航天和对抗环境协议。它驱动可靠广播、拜占庭共识、PBFT 和可验证秘密共享等构造。
参考资料
- Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996,Chs. 6 and 14, Byzantine processes and agreement。
- Miguel Castro and Barbara Liskov, “Practical Byzantine Fault Tolerance,” OSDI 1999,Full paper, Byzantine replica and adversary model。