Skip to content

可靠广播

Reliable broadcast

保证有效性、一致性和完整性的广播抽象。

条目类型
模型

形式陈述

固定发送者 s 和一次 one-shot 广播实例,接口为

rbBroadcast(m),rbDeliver(s,m).

在崩溃故障模型中,常用规格分别是:

  • 有效性:若正确发送者广播 m,则所有正确进程最终交付 (s,m)
  • 无重复:每个进程对该实例至多交付一次;
  • 无创造:若正确进程交付 (s,m),则 s 确实在该实例广播过 m
  • 一致性:若某正确进程交付 (s,m),则所有正确进程最终交付 (s,m)

uniform agreement 把前件扩展为“任何进程已交付”,因而也约束崩溃前的故障进程。Byzantine 模型则必须另外固定身份认证假设和有效性口径:恶意发送者可以向不同人发不同值,“发送者实际广播”不再是无歧义条件。

直觉

可靠广播把发送者可能中途崩溃导致的“只传到一部分”修补为正确进程之间的一致交付。有效性约束正确发送者的消息最终到达,完整性禁止伪造与重复,一致性保证若某正确进程交付则所有正确进程最终交付。它不决定多条消息的全局顺序,也不等同于共识。

例子与边界

在崩溃模型中,发送者先向所有节点发送 (s,m),节点首次收到后转发给所有人并只交付一次。因此即使发送者只来得及把消息送到一个正确节点,该节点也能接力使所有正确节点最终交付。这一活性结论依赖可靠点对点信道,或至少依赖使持续重传最终成功的公平性;若信道允许消息永久丢失,上述转发机制也无法保证终止。若发送者可以拜占庭式地向不同人发送不同值,崩溃版协议与性质不再足够,需要 Byzantine reliable broadcast 的回声、阈值或认证机制。无论哪种版本,可靠广播都只解决共同交付,不规定不同消息之间的交付顺序。

推论与应用

消息传递崩溃模型下,可靠广播分离一致交付和最终性。它只保证正确进程最终交付同一消息集合,不保证两条消息的全序、因果序或任何日志前缀关系;不同副本收到相同集合却按不同顺序应用,仍可能得到不同状态。

原子广播在可靠广播之上加入共同全序,并可进一步映射到复制日志的 committed 序列。FIFO 或因果排序约束不同维度,不能从“可靠”一词推出;群通信协议必须按应用需要逐项叠加。

参考资料
  • Nancy A. Lynch, Distributed Algorithms, Morgan Kaufmann, 1996,Chs. 7–8, broadcast primitives under failures。
  • Hagit Attiya and Jennifer Welch, Distributed Computing: Fundamentals, Simulations, and Advanced Topics, 2nd ed., Wiley, 2004,Chs. 3–5, reliable communication and broadcast specifications。
关系图谱10 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

上位 / 更一般

暂未标注直接上位概念。

下位 / 直接特例

类型化关系