实用拜占庭容错算法
PBFT 是 Practical Byzantine Fault Tolerance 的缩写。该算法其实就是给进来的消息进行共识,得到一个全局的序。在恶意节点不高于总数 1/3 的情况下,该算法能够同时保证安全性(Safety)和活性(Liveness)。
该算法首次将拜占庭容错算法复杂度从指数级降低到了多项式级 O ( N 2 ) O(N^2) O(N2)
与公有链共识算法的区别
公有区块链不可能同时共识区块1和区块2,但在pbft中,交易1和交易2的共识是并行的。
- 在公有区块链中,每一个区块串行进行共识,共识的对象是区块,区块包含一段时间收集的交易
- 在pbft中,共识的对象是每一个交易(可以说在pbft中没有区块这个概念),交易共识的过程是并行(限定在高低水位)。
PBFT的适用场景
不适合在公链