摘要
针对应用于联盟链的实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)共识算法可扩展性不足、通信开销大等问题,提出了一种基于PBFT与Raft改进的拜占庭容错共识算法K-RPBFT(K-medoids Raft based Practical Byzantine Fault Tolerance)。首先将区块链分片,使用K-medoids聚类算法将所有节点划分为多个节点簇,每个节点簇构成一个分片,将全局共识改进为分层次的多中心共识;其次,每个分片的聚类中心节点之间使用PBFT算法进行共识,在分片内部使用基于监督节点改进的Raft算法进行共识;K-RPBFT算法的片内监督机制赋予了Raft算法一定的拜占庭容错能力,提升了算法的安全性。实验与分析表明,相较于PBFT算法,K-RPBFT算法在具备拜占庭容错能力的同时能够大幅降低共识的通信开销与共识时延、提升共识效率与吞吐量,并且具有良好的扩展性与动态性,使联盟链能够应用于更广泛的场景中。
- 单位