拜占庭将军

问题描述 投票:3回答:2

因此,我正在阅读Lamport关于拜占庭将军的论文,其中他证明,对于T恶意将军,你需要一组2T + 1名将军来阅读共识。但是我不明白怎么做。如果有T个恶意节点组成东西,你只需要T + 1票就可以投票。为什么不是这样?

distributed-computing distributed-transactions
2个回答
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时才有问题的解决方案


0
投票

你只需要T + 1票就可以投票。为什么不是这样?

如果所有忠诚的将军产生相同的答案,这是有道理的,但对于BGP系统来说情况并非如此,其中每个诚实元素可以给出不同的答案。

BGP适用于每个元素看到不同信息的系统。示例:冗余雷达。它不适用于镜像元素的系统(例如冗余HD)。

例:

  • 一般:A,B,C;
  • 叛徒:C;
  • A说“攻击”;
  • B说“撤退”;
  • C对A表示“攻击”,对“B”表示“撤退”;
  • 结果:A认为已经达成协议,它将单独攻击;
© www.soinside.com 2019 - 2024. All rights reserved.