HotStuff 是基于 PBFT 的一种改进版本,它由 VMware Research 团队于 2018 年提出。该协议将 PBFT 的多轮投票简化为了流水线式的三个阶段,并引入了聚合签名机制来降低投票的复杂度,提升网络的可扩展性。目前,Libra(后改名 Diem)、Aptos、Sui 等区块链都采用了 HotStuff 作为底层共识机制。
其中,实用拜占庭容错协议(Practical Byzantine Fault Tolerance,简称 PBFT)是 1999 年由 Castro 和 Liskov 提出的早期经典 BFT 共识算法(目的是为了解决 “拜占庭将军问题”)。PBFT 的特点是利用 “少数服从多数” 的机制,通过多轮通信让节点交换信息,并以多数结果达成最终共识。
拜占庭将军问题是计算领域中的一个经典容错模型,它探讨的是在分布式系统中,当恶意节点篡改、伪造通信消息,或者发生通信故障时,如何能够确保忠诚节点达成一致协议,进而维护系统的安全与稳定。
举例来说,想象几位将军分别带兵驻扎在不同的城外营地,他们只能通过信使传递信息来决定是「攻城」还是「撤退」。如果其中有叛徒将军散布假消息,或者信使在路上被截胡、篡改了命令,其他将军就可能收到互相矛盾的指令。拜占庭将军问题研究的,就是如何设计一种通信机制,让大多数忠诚的将军即使面对少数叛徒或通信异常,也能最终达成一致行动。