计算机应用 ›› 2021, Vol. 41 ›› Issue (3): 756-762.DOI: 10.11772/j.issn.1001-9081.2020060900

所属专题: 网络空间安全

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

检测型的联盟区块链共识算法d-PBFT

刘宇1,2, 朱朝阳2,3, 李金泽1,2, 劳源基1,2, 覃团发1,2   

  1. 1. 广西大学 计算机与电子信息学院, 南宁 530004;
    2. 广西多媒体通信与网络技术重点实验室(广西大学), 南宁 530004;
    3. 华南理工大学 电子与信息学院, 广州 510641
  • 收稿日期:2020-06-28 修回日期:2020-11-06 出版日期:2021-03-10 发布日期:2021-01-15
  • 通讯作者: 覃团发
  • 作者简介:刘宇(1995-),男,四川成都人,硕士研究生,主要研究方向:区块链、体域网数据安全;朱朝阳(1981-),男,广西贺州人,讲师,博士研究生,主要研究方向:密码学、区块链;李金泽(1996-),男,山东烟台人,硕士研究生,主要研究方向:认知无线电、区块链;劳源基(1996-),男,广西北海人,硕士研究生,主要研究方向:北斗精密点定位、区块链;覃团发(1966-),男,广西宾阳人,教授、博士生导师,博士,主要研究方向:无线多媒体通信、网络编码。
  • 基金资助:
    国家自然科学基金资助项目(61761007);广西自然科学基金资助项目(2016GXNSFAA380222)。

d-PBFT:detection consensus algorithm for alliance blockchain

LIU Yu1,2, ZHU Chaoyang2,3, LI Jinze1,2, LAO Yuanji1,2, QIN Tuanfa1,2   

  1. 1. School of Computer, Electronics and Information, Guangxi University, Nanning Guangxi 530004, China;
    2. Guangxi Key Laboratory of Multimedia Communications and Network Technology(Guangxi University), Nanning Guangxi 530004, China;
    3. School of Electronic and Information Engineering, South China University of Technology, Guangzhou Guangdong 510641, China
  • Received:2020-06-28 Revised:2020-11-06 Online:2021-03-10 Published:2021-01-15
  • Supported by:
    This work is partially supported by the National Natural Science Foundation of China (61761007),the Natural Science Foundation of Guangxi (2016GXNSFAA380222).

摘要: 联盟区块链通常都会采用严格的身份准入机制,但然而该机制不能完全保证联盟网络中不会混入拜占庭恶意节点,也不能担保现有的联盟成员节点一定不会被第三方敌手劫持利用。针对这类问题,提出了一种能够监控节点状态的检测型实用拜占庭容错(d-PBFT)共识算法。首先,选举主节点并校验主节点的其状态,以保证选举出来的主节点从未有过作恶历史;然后,经历“预准备—准备—提交”的共识三阶段过程,尝试来完成客户端提交的共识请求;最后,会根据三阶段完成的情况对主节点的状态进行评估,将有故障或作恶行为的主节点标记出来,并将作恶的主节点加入到隔离区等待处理。该算法在容忍一定数量拜占庭节点的基础上还能随时监控各个节点的状态,并对恶意节点能够进行隔离,从而降低恶意节点对整个联盟系统的不良影响。实验结果表明,采用d-PBFT算法的网络拥有较高的吞吐量和较低的共识时延,并且在联盟网络中有拜占庭节点的情况下相较原实用拜占庭容错(PBFT)算法的共识生成量提升了26.1%。d-PBFT算法不仅提高了联盟网络的健壮性,还进一步提升了网络的吞吐量。

关键词: 联盟区块链, 拜占庭错误, 节点监控, 检测型实用拜占庭容错共识算法, 吞吐量

Abstract: There is an identity authentication mechanism in alliance blockchain, but even by using the mechanism, Byzantine malicious nodes still exist in the network, and the member nodes in the alliance may be controlled and utilized by the third-party enemies. To solve these problems, a detection-Practical Byzantine Fault Tolerance (d-PBFT) consensus algorithm that can monitor the node states was proposed. Firstly, the primary node was elected and the its state was checked to ensure that the elected primary node never be malicious before. Secondly, the consensus request submitted by the client was executed through the three-stage consensus process "pre-prepare-prepare-commit". Finally, the primary node state was assessed according to the three-stage achievement state. If primary node was unstable or malicious, it would be marked, and the malicious node would be added to the quarantine to wait for processing. In this algorithm, based on tolerating a specific number of Byzantine nodes, every node state was monitored all the time and the malicious nods would be isolated. In this case, the bad impact of malicious nodes on the alliance would be reduced. Experimental results show that the network with d-PBFT algorithm has high throughput and low consensus delay, and the consensus generation amount of the algorithm is 26.1% more than that of Practical Byzantine Fault Tolerance (PBFT) algorithm when alliance network includes Byzantine nodes. The d-PBFT algorithm not only improves the robustness of alliance network, but also improves the network throughput.

Key words: alliance blockchain, Byzantine error, node monitoring, detection-Practical Byzantine Fault Tolerance (d-PBFT) consensus algorithm, throughput

中图分类号: