拜占庭容错是指系统即使部分参与者撒谎或失职也能继续运行的能力。这个名称源于一个思想实验:拜占庭将军们试图协调进攻,但信使可能被俘,叛徒也可能发出虚假命令。将军们需要一个即使部分成员不可靠也能奏效的计划。区块链也面临着同样的问题。节点可能会离线,节点可能会发送相互矛盾的信息。网络仍然需要就哪些交易有效达成一致。
实用拜占庭容错(PBFT)算法是解决这一问题的算法之一。当故障节点数量相对于节点总数较小时,PBFT 效果显著。许多许可型区块链都使用 PBFT 的变体,因为它们知道参与者的身份。比特币的工作量证明机制则采用了不同的方法。它不识别可信节点,而是通过计算成本来增加欺骗的成本。最长链胜出,而生成一条比诚实网络更长的链的成本极其高昂。
容错阈值
- 崩溃容错性——节点可能发生故障但不会说谎
- 拜占庭容错——节点可能发生故障并发送错误信息
- PBFT——通常可以容忍高达三分之一的节点出现故障
任何系统都无法容忍无限数量的恶意行为者。问题在于,协议在共识破裂之前能够承受多少不当行为。
Comments
No comments yet. Be the first to share a thought.
Leave a comment