所以我正在阅读Lamport关于拜占庭将军的论文,其中他证明了对于T恶意将军,你需要一组2T + 1名将军来阅读共识。但是我不明白怎么做。如果有T个恶意节点组成东西,你只需要T + 1票就可以投票。为什么不是这样?
答案 0 :(得分:0)
有a section on Wikipedia about this:
一种解决方案考虑可以伪造消息的情况,但只要叛逆将军的数量不等于或超过三分之一,这将是拜占庭容错的情况。 如果指挥官是叛徒,那么处理三分之一或更多叛徒的不可能最终会减少证明1指挥官+ 2中尉问题无法解决。原因是,如果我们有三名指挥官, A,B和C,A是叛徒:当A告诉B攻击而C撤退,B和C互相发送消息,转发A的消息时,B和C都不知道谁是叛徒,因为它不一定是A - 其他指挥官可能伪造了据称来自A的消息。可以证明,如果n是总数的总数,而t是该n中的叛徒数,则有解决方案只有当n大于或等于3t + 1时才能解决问题
答案 1 :(得分:0)
您只需要T + 1票就可以投票。为什么不是这样?
如果所有忠实的将军都给出相同的答案,这是有道理的,但对于BGP系统而言,情况并非如此,因为每个诚实元素都可以为您提供不同的答案。
BGP适用于每个元素看到不同信息的系统。示例:冗余雷达。不适用于已对元素进行镜像的系统(例如,冗余HD)。
示例: