原创<br> 中国区块链商学院:区块链以及区块链技术入门详解( 十 )

相对应的我们还有计算机领域的分布式一致性算法,例如Paxos、Raft,我也称之为传统分布式一致性算法。

他们之间的最大区别是:系统在拜占庭将军(Byzantine Generals Problem)情景下的可靠性,即拜占庭容错(PBFT算法支持拜占庭容错)。然而无论是Paxos还是Raft算法,理论上都可能会进入无法表决通过的死循环(尽管这个概率其实是非常非常低的),但是他们都是满足safety的,只是放松了liveness的要求, PBFT也是这样。

下面是一些传统分布式一致性算法和区块链共识过程的异同点。先来看相同点:

Append only强调序列化少数服从多数原则分离覆盖的问题:即长链覆盖短链区块,多节点覆盖少数节点日志这是不同点:

传统分布式一致性算法大多不考虑拜占庭容错(Byzanetine Paxos除外),即假设所有节点只发生宕机、网络故障等非人为问题,并不考虑恶意节点篡改数据的问题;传统分布式一致性算法是面向日志(数据库)的,即更通用的情况,而区块链共识模型面向交易的,所以严格来说,传统分布式一致性算法应该处于区块链共识模型的下面一层。考虑上面的不同点,结合公有链和联盟链的特征,我们有:

推荐阅读