• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学 ›› 2022, Vol. 44 ›› Issue (02): 237-243.

• 计算机网络与信息安全 • 上一篇    下一篇

基于角色管理的实用拜占庭容错共识算法

李腾,程哲,贾东立,贾耀清   

  1. (河北工程大学信息与电气工程学院,河北 邯郸 056038)
  • 收稿日期:2020-10-10 修回日期:2020-11-24 接受日期:2022-02-25 出版日期:2022-02-25 发布日期:2022-02-17
  • 基金资助:
    河北省教育厅在读研究生创新能力培养(CXZZSS2020086)

A practical Byzantine fault tolerant consensus algorithm based on role management

LI Teng,CHENG Zhe,JIA Dong-li,JIA Yao-qing   

  1. (School of Information & Electrical Engineering,Hebei University of Engineering,Handan 056038,China)
  • Received:2020-10-10 Revised:2020-11-24 Accepted:2022-02-25 Online:2022-02-25 Published:2022-02-17

摘要: 针对目前存在的应用于联盟链的实用拜占庭容错(PBFT)共识算法扩展性差、能耗高、效率低和主节点选取方式简单的问题,提出一种基于角色管理的拜占庭容错(RPBFT)共识算法。首先,将系统中的节点划分为管理者、候选者和普通节点3类具有不同职责的角色节点。其次,候选节点具有投票权,投票选举相应的候选节点为管理者;普通节点在满足条件后可以转化为候选节点。最后,通过奖励机制管理不同类型的角色节点之间的转化;不同角色节点的数量能够在网络节点总数发生变化时动态调整,使得算法可以适应动态网络。通过实验得出RPBFT共识算法具有高可靠性、低时延、低能耗和较好的扩展性。

关键词: 区块链, 拜占庭容错, 角色管理, 共识算法, 数据块

Abstract: In view of the problem that the existing practical Byzantine Fault Tolerance (PBFT) consensus algorithm applied to the alliance chain has poor scalability, high energy consumption, low efficiency, and random selection of master nodes, a practical Byzantine Fault Tolerant (RPBFT) consensus algorithm based on role management is proposed. Firstly, the nodes in the system are divided into three types of role nodes with different responsibilities: managers, candidates and ordinary nodes. Secondly, the candidate node has the right to vote, and the corresponding candidate node is elected as the manager by voting. Ordinary nodes can be transformed into candidate nodes after meeting the conditions. Finally, the conversion between different types of role nodes is managed by the reward mechanism. Different role nodes can be dynamically adjusted when the total number of network nodes changes, so that the algorithm can adapt to the dynamic network. The experimental results show that the RPBFT algorithm has high reliability, low latency, low energy consumption and good scalability.


Key words: blockchain, Byzantine fault tolerance, role management, consensus algorithm, data block