拜占庭将军问题是计算机科学中的一个共识问题,用来描述分布式系统中的一致性挑战。故事背景是拜占庭帝国派出多支军队围攻一个强大的敌人,每支军队有一个将军,但由于彼此距离较远,只能通过信使传递消息。问题是如何在已知有判徒的情况下,让忠诚的将军达成一致的协议。这个问题为分布式一致性协议和算法提供了框架。
含义是在存在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的。此假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。拜占庭将军问题最终想解决的是互联网交易、合作过程中的四个问题:1、信息发送的身份追溯。2、信息的私密性。3、不可伪造的签名。4、发送信息的规则。在中本聪发明比特币以前,并没有一个非常完美的方法来解决这个问题。区块链轻而易举的解决了这一问题。
拜占庭将军问题是分布式系统领域最复杂的容错模型, 它描述了如何在存在恶意行为(如消息篡改或伪造)的情况下使分布式系统达成一致. 是我们理解分布式一致性协议和算法的重要基础.

三个将军均为忠诚的场景

出现一个叛徒时的场景
Leslie Lamport在论文中给出了两种拜占庭将军问题的解决方案, 即口信消息型解决方案(A solution with oral message)和签名消息型解决方案(A solution with signed message)。