一本书读懂区块链(第2版)
上QQ阅读APP看书,第一时间看更新

2.2.2 共识问题的解决:实用拜占庭容错算法(PBFT)

拜占庭将军问题是对现实世界的模型化,引申到网络当中就是假设由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网络可能出现不可预料的行为。为了在这种情况下仍然能够达成共识,参与者们必须处理这些失效问题,而解决办法就是共识机制。

Miguel Castro和Barbara Liskov在1999年提出实用拜占庭容错算法(PBFT,Practical Byzantine Fault Tolerance),这一算法成为关于该问题最早的解决方案。

PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。

应用PBFT算法的各节点相对自治,可以自行采用最可信的结果。这一方案可以最小延迟处理大量的直接点对点(或分布式)信息。这意味着程序员可建立安全和适应性强的私人分布式网络。

到目前为止,PBFT算法仍然是最受业界认可的共识机制实现方法。