拜占庭将军问题
拜占庭将军的问题是什么?
拜占庭将军问题是一个思想实验,涉及计算机科学的一个关键问题:是否有可能在由独立的、地理分布的节点组成的计算机网络中形成共识?
这个问题是由SRI国际研究所的研究人员于1982年提出的。
故事是这样的:有许多拜占庭将军围攻一座城市。他们只能通过发送信使来相互交流。将军们必须商定一个共同的行动计划:是攻城还是撤退。然而,有些将军却叛逆,积极反对共识的形成;他们的人数和身份未知。
该问题提出的问题是,将军们应该使用什么决策算法来制定共同计划——无论叛徒的干扰如何——以及这样的算法是否存在。
根据研究人员自己的分析,这样的制度确实可行,但忠诚将军的数量必须严格超过三分之二。比如说,三将,其中一人叛将,忠诚的人就不能保证他们能够达成共识。
这个问题与加密货币高度相关,因为它们本质上是分布式计算机系统:它们由彼此独立且与任何中央机构独立的交易处理节点组成,并且只能远程通信。他们是需要就哪些交易以及何时发生达成共识的“将军”。
节点有可能有意或无意地提供有关交易的错误数据,必须对它们的信息进行整理。比特币(BTC)和其他加密货币通过工作量证明和权益证明算法等技术解决方案解决了这个问题。
请参阅拜占庭容错 (BFT)。