摘要
我们提出了一种基于部分同步假设情形下的并行拜占庭容错协议CBFT(Concurrent Byzantine Fault Tolerance),解决区块链共识效率的问题。本文分析了PBFT,Tendermint,Hotstuff等共识协议,CBFT综合了其优点,通过pipeline的方式完成区块生成和确认的并行,在一个视图窗口内可以出多个块,并可以在O(n^(2))内完成视图窗口切换,从而提高共识效率。
分布式网络模型
按照分布式系统理论,分布式系统的网络模型分为三类:
- 同步网络模型:节点所发出的消息,在一个确定的时间内,肯定会到达目标节点
- 异步网络模型:节点所发出的消息,不能确定一定会到达目标节点
- 部分同步网络模型:节点发出的消息,虽然会有延迟,但是最终会到达目标节点
同步网络模型是十分理想的情况,异步网络模型是更为贴近实际的模型,但据 FLP不可能[1] 原理,在异步网络模型假定下,共识算法不可能同时满足 安全性(safety) 和 活跃性(liveness) ,目前的BFT类共识算法多是基于部分同步网络模型假定。我们也是基于部分同步网络模型假定来进行讨论。