3

所以我正在阅读 Lamport 关于拜占庭将军的论文,他证明对于 T 恶意将军,您需要 2T+1 个将军在一个小组中阅读共识。但是我不明白如何。如果有 T 个恶意节点组成东西,你只需要 T+1 票就可以超过它们。为什么不是这样?

4

2 回答 2

0

维基百科上有一个关于此的部分

一种解决方案考虑了可能伪造消息的场景,但只要叛国将军的数量不等于或超过三分之一,它就会是拜占庭容错的。处理三分之一或更多叛徒的不可能最终归结为证明如果指挥官叛徒,则无法解决 1 指挥官 + 2 中尉的问题。原因是,如果我们有三个指挥官,A,B,C,A是叛徒:当A告诉B攻击,C撤退,B和C互相发送消息,转发A的消息,B都没有C 也无法确定谁是叛徒,因为不一定是 A——其他指挥官可能伪造了据称来自 A 的消息。可以证明,如果 n 是将军的总数,t 是将军的总数叛徒在那个 n 中,那么只有当 n 大于或等于 3t + 1 时才有解决方案

于 2012-10-25T12:22:55.743 回答
0

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

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

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

例子:

  • 将军: A、B、C;
  • 叛徒: C;
  • A说“攻击”;
  • B说“退”;
  • C对A说“进攻” ,对“ B ”说“退”;
  • 结果: A认为已经达成协议,将单独出击;
于 2019-04-09T17:02:48.400 回答