作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2023, Vol. 49 ›› Issue (11): 143-149. doi: 10.19678/j.issn.1000-3428.0066247

• 网络空间安全 • 上一篇    下一篇

基于分组和信用分级的PBFT共识算法改进方案

刘陕南, 张荣华, 刘长征   

  1. 石河子大学 信息科学与技术学院, 新疆 石河子 832000
  • 收稿日期:2022-11-14 出版日期:2023-11-15 发布日期:2023-11-08
  • 作者简介:

    刘陕南(1998—),女,硕士研究生,主研方向为区块链共识算法

    张荣华,副教授

    刘长征,教授

  • 基金资助:
    兵团科技创新人才计划项目(2022CB002-08); 兵团创新创业平台与基地建设计划(2022CA007); 兵团科技攻关项目(2019AB001)

Improvement Scheme of PBFT Consensus Algorithm Based on Grouping and Credit Rating

Shannan LIU, Ronghua ZHANG, Changzheng LIU   

  1. College of Information Science and Technology, Shihezi University, Shihezi 832000, Xinjiang, China
  • Received:2022-11-14 Online:2023-11-15 Published:2023-11-08

摘要:

针对联盟链的实用拜占庭容错(PBFT)共识算法通信复杂度高、主节点选择随机、支持的网络规模有限等问题,提出一种基于分组和信用分级的改进拜占庭容错(CBFT)算法优化大规模联盟链的节点结构。优化一致性过程,将网络节点按照对管理节点的响应速度划分为不同的共识集分别进行共识集内外共识,各共识集的管理节点携带共识集内的共识结果参与共识集外的全局共识,从而减少节点间的通信频率。在此基础上,提出信用分级机制,将节点划分为管理节点、候选节点、普通节点等3种类型,使信用值高的节点成为主节点的概率较高,减少恶意节点对系统的破坏,提高整个网络的效率。搭建基于该改进方案的仿真模拟与性能测试系统.实验结果表明,当网络节点数量为30个(4个分组)时,CBFT算法的吞吐量为PBFT的3.2倍,共识时延降低90.6%,通信开销减少53.2%,能够容忍的最大恶意节点数为PBFT算法的1.9倍,且随着节点数的增加提升更明显,符合大型联盟链的需求。

关键词: 区块链, 大型联盟链, 实用拜占庭容错算法, 节点分组, 信用分级

Abstract:

To address the problems of high communication complexity, random selection of master nodes, and limitations on supported network size in the Practical Byzantine Fault Tolerance(PBFT) consensus algorithm for consortium chains, in this study, an improved CBFT algorithm based on grouping and credit rating is proposed to optimize the node structure of large-scale consortium chains.To optimize consistency, network nodes are divided into different consensus sets according to the speed in responding to management nodes, whereby a consensus is conducted inside and outside the consensus set.The management nodes of each consensus set take the consensus results inside the consensus set and participate in the global consensus outside the consensus set, thus significantly reducing the communication frequency between nodes.On this basis, a credit rating mechanism is proposed to classify nodes into three types: management, candidate, and ordinary nodes such that nodes with high credit values have a higher probability of becoming master nodes, which greatly reduces the damage to the system by malicious nodes and improves the efficiency of the entire network. Finally, a simulation and performance testing system based on this improved scheme is developed. The experimental results show that when the number of network nodes is 30(four subgroups), the throughput of the CBFT algorithm is 3.2 times that of PBFT; the consensus latency is reduced by 90.6%;the communication overhead is reduced by 53.2%;and the maximum number of malicious nodes that can be tolerated is 1.9 times that of the PBFT algorithm.This improvement is more obvious with an increase in the number of nodes, thereby satisfying the requirements of large consortium chains.

Key words: blockchain, large consortium chain, Practical Byzantine Fault Tolerance(PBFT) algorithm, node grouping, credit rating