摘要

针对实用拜占庭容错(PBFT)算法中主节点可预测、通信复杂度高和作恶节点缺少惩罚机制的问题,该文提出一种基于完美二叉树通信拓扑的联盟链拜占庭容错算法(PBT-BFT)。首先设计了信誉评估模型对节点的行为进行评估,同时提出基于信誉的可验证随机函数(R-VRF),使得随机抽取概率与信誉值呈正相关,保证了拥有不同信誉值的节点抽签的公平性和随机性。然后,设计了完美二叉树通信拓扑,将通信复杂度降低至线性复杂度,同时提出轮换主节点和流水线工作机制,提高了共识效率。实验结果表明,与PBFT相比,平均吞吐量提高了121.6%,平均时延降低了73.8%,能够很好地适用于大规模网络节点的联盟链。