Author Login Editor-in-Chief Peer Review Editor Work Office Work

Computer Engineering ›› 2022, Vol. 48 ›› Issue (6): 42-49,56. doi: 10.19678/j.issn.1000-3428.0063904

• Blockchain Theory and Technology • Previous Articles     Next Articles

PBFT Consensus Algorithm Based on Reputation Value Voting and Random Number Election

CHEN Runyu, WANG Lunwen, ZHU Rangang   

  1. Institute of Electronic Countermeasure, National University of Defense Technology, Hefei 230037, China
  • Received:2022-02-12 Revised:2022-03-15 Published:2022-06-11

基于信誉值投票与随机数选举的PBFT共识算法

陈润宇, 王伦文, 朱然刚   

  1. 国防科技大学 电子对抗学院, 合肥 230037
  • 作者简介:陈润宇(1998—),男,硕士研究生,主研方向为区块链共识机制;王伦文,教授;朱然刚,副教授。
  • 基金资助:
    国家自然科学基金“图像渐进式秘密分享评价体系和算法研究”(61602491)。

Abstract: Compared with Raft and Paxos, the original consensus algorithm, i.e., the Practical Byzantine Fault Tolerant(PBFT) algorithm, is mainly aimed at malicious nodes in a distributed system used to send error messages to other nodes, disturbing the normal operation of the entire system.This algorithm fundamentally solves the Byzantine problem of the system.However, the PBFT algorithm itself has the problem of a low consensus efficiency caused by an arbitrary primary node election.Meanwhile, existing improved algorithms generally have problems of a high communication complexity and centralization tendency.Aiming at these problems, an improved consensus algorithm, RN-VPBFT, is proposed based on reputation value voting and random number election.First, by adding supervision nodes, the algorithm realizes a decentralization of rights and an information transfer and ensures the safe operation of the system.A random parameter is then introduced during the process of voting to determine the initial reputation value, and thus the reputation value is no longer the only criterion for selecting the master node.All nodes that meet certain conditions have an equal chance to be selected as the master node.This can reduce the trend of system centralization.Finally, the algorithm establishes the dynamic reputation model of the nodes to distinguish between honest and malicious nodes in the system, simplify the consistency protocol of the consensus algorithm, and reduce the communication complexity of the entire algorithm.Experimental results show that, compared with the original PBFT algorithm and the existing improved PBFT algorithm based on reputation voting, the RN-VPBFT algorithm can reduce the communication complexity from O(N2) to O(N).The final difference in reputation of all honesty nodes is only 0.02, which is almost negligible.Therefore, the proposed algorithm has a lower communication complexity and better decentralization.

Key words: blockchain, consensus algorithm, Practical Byzantine Fault Tolerant(PBFT) algorithm, reputation value voting, random number election

摘要: 实用拜占庭容错(PBFT)算法在Raft和Paxos共识算法的基础上,解决了分布式系统中恶意节点向其他节点发送错误消息以扰乱系统正常运行的问题,但PBFT算法由于主节点选举随意导致共识效率低下,而现有PBFT改进算法普遍通信复杂度较高且容易出现系统集中化趋势。针对上述问题,提出一种基于信誉值投票与随机数选举的RN-VPBFT共识算法。通过增设监督节点,实现权力分散和信息中转,保证系统安全运行。在投票确定初始信誉值的过程中,引入随机参数使得满足条件的节点均有机会当选主节点,缓解系统集中化趋势。建立节点动态信誉模型,区分系统中的诚实节点与恶意节点,简化共识算法的一致性协议,降低算法通信复杂度。实验结果表明,与PBFT算法和基于信誉投票的PBFT改进算法相比,RN-VPBFT算法将通信复杂度由ON2)降至ON),并且所有诚实节点的信誉值之差仅为0.02,具有更低的通信复杂度及更好的去中心化特性。

关键词: 区块链, 共识算法, 实用拜占庭容错算法, 信誉值投票, 随机数选举

CLC Number: