Skip to content

模型Model

拜占庭故障

施工中 · 内容逐步修订

Byzantine failure

故障进程可任意偏离协议并向不同接收者发送矛盾信息。

形式陈述 ​

在拜占庭故障模型中,消息传递系统里的故障进程可以任意偏离协议:发送内容矛盾的消息、伪造本地状态、选择性沉默、与其他故障进程串谋,或按某个对手策略统一行动;正确进程则始终按协议执行。一个完整的模型陈述必须给出以下参数:故障进程数上界 f、信道是否认证(接收者能否确认消息发送者)、是否使用不可伪造的数字签名、网络的同步程度,以及对手是静态还是自适应(能否在执行中挑选腐化对象)。拜占庭容错任务的目标照例分为安全性与活性两类。可容忍的故障比例不是故障定义的一部分,而由具体模型与任务决定:例如经典同步“口头消息”模型使用带发送者身份的点对点信道但不使用数字签名,其拜占庭一致性门槛为 n>3f;若连发送者身份都不能认证,模型与结论还会进一步改变。

直觉

崩溃进程在停止前遵守协议,拜占庭进程则可能继续发送格式正确但内容矛盾的消息。故“收到回复”只能证明某个通信事件发生,不能证明其中的日志、余额或投票可信。协议需要约束正确进程何时出具证据,以及一个决定必须包含多少相互兼容的证据。

认证信道和数字签名解决不同问题。认证信道帮助 B 判断这条消息确由 A 发来;可转移的签名让 B 把 A 的声明交给 C 验证。它们都不能阻止恶意 A 分别签署 0 和 1,只能使这种双签在证据汇集后被识别。安全协议应在矛盾决定发生前排除风险,事后能查出责任人不是一致性的替代品。

对手能力也有边界:采用不可伪造签名时,不能再让对手凭空生成正确节点的签名;采用私有随机数时,“全知”不能无条件包含尚未揭示的随机结果。不同威胁模型之间的容错结论,只有在这些能力对应时才能比较。

例子与边界

最典型的行为是 equivocation(两面话):一个故障副本向节点 A 声称"提交 0",同时向节点 B 声称"提交 1"。若协议让节点直接采信收到的第一条消息,A 与 B 将做出矛盾决定;因此许多拜占庭协议要求节点在行动前收集达到特定法定人数的相互印证,具体门槛由任务、认证方式与同步模型决定。经典无数字签名的口头消息模型中,n>3f 的必要性可在 n=3、f=1 的三方场景中看到雏形:正确的两方各自面对"另外两方说法冲突"的局面,且与对手构造的其他故障场景不可区分,因而无法安全决定。

例如四副本 A、B、C、D 中最多一个 Byzantine,提交证据需要三票。两个三票集合至少相交两人,故至少一人正确;若正确副本不能为同一阶段、同一实例的冲突值投票,两份冲突证书便不能并存。若只需两票,集合 {A,B} 与 {A,C} 的唯一交点 A 可以正是 Byzantine,于是它分别支持两个值,B、C 各自诚实仍挡不住冲突。这一轨迹解释的是该证书规则的阈值,不是所有 Byzantine 任务的统一下界。

两条边界需要分辨。其一,数字签名能防止转述过程中的伪造——A 无法凭空捏造"B 签名说了 x"——从而改变可解性门槛与协议结构;但签名阻止不了持有私钥的故障节点亲自签署两份矛盾声明,equivocation 依然存在,阈值与协议必须重新分析。其二,把丢包、软件 bug 或被攻陷节点笼统称作 Byzantine 之前,必须先写清对手能力与信道假设:标准模型通常仍假设对手不能破解密码学原语、不能在认证信道上冒充正确进程,"任意行为"是在这些约束之内的任意。

推论与应用

拜占庭模型是对抗环境下协议设计的基准:复制状态机、区块链、航空航天冗余控制都以它为威胁模型。理论侧,它催生了拜占庭可靠广播、拜占庭共识与可验证秘密共享等原语,各自带有依模型而异的容错阈值;工程侧,实用拜占庭容错(PBFT)证明了 n=3f+1 副本的状态机复制可以达到实用性能,成为其后大量 BFT 系统与许可链共识的原型。与崩溃故障模型对照阅读,应检查原先可信的交点或转发者是否仍能作证;所需冗余、认证与通信由这个任务的证明重新确定,不能只按故障名称套用统一门槛。

参考资料
  • Leslie Lamport, Robert Shostak, and Marshall Pease, “The Byzantine Generals Problem”, ACM TOPLAS 4(3), 1982, pp. 382–401;口头消息与签名消息两种模型。

  • 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。

关系图谱8 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

并列辨析