Posts by Topic: pbft

拜占庭问题
拜占庭问题

Li Guangqiao - 30/05/2023

简述 这种情况可以抽象地表达为一群拜占庭军队的将军和他们的军队驻扎在敌人的城市周围。因此,在一个叛徒面前,没有解决三个将军的办法,将军们只能通过信使交流,必须商定一个共同的作战计划。然而,其中一个或多个可能是叛徒,他们会试图混淆其他人。问题是找到一种算法来确保忠诚的将军们达成一致。研究表明,仅使用口头信息,这个问题是可以解决的,当且仅当超过三分之二的将军是忠诚的;所以一个叛徒可以迷惑两个忠诚的将军。有了不可伪造的文字信息,这个问题对任何数量的将军和可能的叛徒来说都是可以解决的。然后讨论了这些解决方案在可靠计算机系统中的应用。 解决目标问题 可靠的计算机系统必须处理故障部件,这些部件向系统的不同部分提供相互冲突的信息。 即解决冲突信息,思想仍然是少数服从多数。 目标 找到一种合适的算法确保忠诚的将军能达到意见一致 达到目标的条件 A 所有忠诚的将军都决定同样的行动计划。 B 一小撮叛徒不能使忠诚的将军们采纳一个坏计划。 描述:条件B很难形式化,因为它要求准确地说出什么是糟糕的计划,而我们并不打算这样做。相反,我们考虑将军们如何做出决定。每个将军都观察敌人,并把他的观察结果传达给其他人。设v(i)为第i个将军传达的信息。每个一般使用一些方法来组合值v (1) .....V (n)变成一个单独的行动计划,其中n是将军的数目。条件A是通过让所有将军使用相同的方法来组合信息来实现的,条件B是通过使用一种鲁棒方法来实现的。例如,如果要做的唯一决定是进攻还是撤退,那么v(i)就是i将军的意见,即哪个选择是最好的,而最终的决定可以基于他们中的大多数人的投票。只有当忠诚的将军们在两种可能性中几乎平分,少数卖国贼才能影响决策,在这种情况下,任何一个决定都不能被称为坏决定。虽然这种方法可能不是满足条件A和B的唯一方法,但它是我们所知道的唯一方法。它采用了一种方法,将军们通过这种方法互相交流他们的价值观v (i)。显而易见的方法是第i个将军通过信使发送v (i)给对方将军。但是,这是行不通的,因为满足条件A要求每个忠诚的将军获得相同的值v(1) .....V (n),一个叛国的将军可能会给不同的将军发送不同的值。要满足条件A,下列条件必须成立 每个忠诚的将军必须获得相同的信息v (1) ....v (n)。 条件1意味着将军不能使用直接从第i将军获得的值v(i),因为叛变的第i将军可以将不同的值发送给不同的将军。这意味着,除非我们小心,在满足条件1的情况下,我们可能引入一种可能性,即将军使用的v (i)值与第i个将军发送的值不同——即使第i个将军是忠诚的。如果满足条件B,我们绝不允许这种情况发生。例如,我们不能允许少数卖国贼使洛亚将军以“撤退”的价值作决定,……如果每一个忠诚的将军都派人去“进攻”的话。因此,我们对每个i都有以下要求 如果第i个将军是忠诚的,那么他发送的值必须被每个忠诚的将军用作***v (i)***的值。 我们可以将条件I重写为条件对于每一个I(无论第I个将军是否忠诚):1”.任何两个忠诚的将军使用相同的***v(i)***值。 条件1'和2都是第i个将军发送的单个值的条件。因此,我们可以把我们的考虑限制在一个将军如何将他的价值传递给其他将军的问题上。我们用一个指挥将军向他的副官们发出命令的方式来描述这个问题。 最终拜占庭将军的问题变成下面这样一个命题 一个将军必须向他的n - 1个中将发出这样的命令 对于命令的要求: IC1 所有忠诚的中尉都服从同一命令 IC2 如果指挥官是忠诚的,那么每个忠诚的中尉都会服从他的命令。 条件IC1和IC2称为交互一致性条件。注意,如果指挥官是忠诚的,IC1就会跟着IC2。然而,指挥官不需要忠诚。为了解决我们最初的问题,第i个将军通过使用拜占庭将军问题的解发送他的***v(i)值命令“使用v(i)***作为我的值”,其他将军作为副手。 不可能的结果 拜占庭将军问题看似简单。令人惊讶的事实表明,如果将军们只能发出口头信息,那么除非超过三分之二的将军是忠诚的,否则任何解决方案都不会奏效。特别是,在只有三个将军的情况下,在一个叛徒面前,任何解决方案都不可能奏效。口头信息的内容完全在发送者的控制之下,所以一个叛逆的发送者可以传递任何可能的信息。**这样的消息与计算机通常相互发送的消息类型相对应。在第4节中,我们考虑了签名的、书面的消息,但这是不正确的。(Such a message corresponds to the type of message that computers normally send to one another. In Section 4 we consider signed, written messages, for which this is not true....