分布式|分布式协调之拜占庭将军问题

拜占庭将军问题,
前提是保证信道的稳定,不会存在信道断裂的问题.但是会存在发布假消息的问题.
下面用一张图来解析拜占庭问题.
分布式|分布式协调之拜占庭将军问题
文章图片

【分布式|分布式协调之拜占庭将军问题】四个将军: (灰色)A (蓝色) B (红色)C (绿色)D
A: 叛将
B C D: 忠将
1: 代表进攻
0: 代表不进攻
思路:
第一步: A 同时刻给B C D 分别发送消息, A 给 B D 发送1,给 C 发送 0。
第二步: B C D 收到消息以后,B 给 C D 发送收到的 A 的 1, C 给B D 发送收到的消息 0, D 给 B C 发送收到的消息 1。
第三步: 此时,B 手里 两个1 一个0,C手里 两个1 一个0, D手里两个1 一个0。
第四部: 少数服从多数,B C D 把 占多数的 1 发送给 A,这样就达成了一致, 所有人都要选择1 方案!!
其实A就相当于提案者. 在拜占庭问题中 保持少量的提案者. 每个接受者 收到之后 同时收集 其他接受者的消息,收集到所有之后, 进行决策.

    推荐阅读