计算机科学 ›› 2022, Vol. 49 ›› Issue (11): 360-367.doi: 10.11896/jsjkx.210900178

• 信息安全 • 上一篇    

基于联盟链的实用拜占庭容错算法的改进

谢卓, 张志鸿, 李磊, 冯英杰, 陈静   

  1. 郑州大学信息工程学院 郑州 450000
  • 收稿日期:2021-09-22 修回日期:2022-02-22 出版日期:2022-11-15 发布日期:2022-11-03
  • 通讯作者: 李磊(ielilei@zzu.edu.cn)
  • 作者简介:(zhuoxiexz@163.com)
  • 基金资助:
    河南省重大公益专项(201300210300);郑州大学教育教学改革研究与实践项目(2021ZZUJGLX132)

Improvement of PBFT Algorithm Based on Consortium Blockchain

XIE Zhuo, ZHANG Zhi-hong, LI Lei, FENG Ying-jie, CHEN Jing   

  1. School of Information Engineering,Zhengzhou University,Zhengzhou 450000,China
  • Received:2021-09-22 Revised:2022-02-22 Online:2022-11-15 Published:2022-11-03
  • About author:XIE Zhuo,born in 1997,postgraduate,is a member of China Computer Federation.His main research interests include blockchain and so on.
    LI Lei,born in 1974,Ph.D.His main research interests include computer network,network secirity and so on.
  • Supported by:
    Major Public Welfare Project of Henan Province(201300210300) and Research and Practice Project of Education and Teaching Reform in Zhengzhou University(2021ZZUJGLX132).

摘要: 作为一种新兴技术,区块链从诞生之初就引起了广泛的关注。共识算法是区块链技术的核心技术之一,共识算法的研究也是区块链发展的重中之重。针对广泛应用于联盟链的实用拜占庭容错算法(PBFT)存在的主节点选取随意以及节点无法动态加入、退出的问题,提出了一种动态的PBFT算法——DPBFT。首先,对PBFT的主节点选取方法进行改进,为每个节点设置信任度积分,根据节点在每轮共识中的行为动态更新信任度积分,依据积分值来选取主节点,提高了诚实节点当选主节点的概率。其次,为PBFT算法设置4个子协议(JOIN,EXIT,PCLEAR,RCLEAR),分别解决节点加入、退出的问题以及对作恶节点做出惩罚,使得系统拥有动态的网络结构。结果证明新加入的4个子协议本身具有良好的安全性和活性,且不影响原始PBFT算法的安全性和活性。最后,实验结果表明,DPBFT算法相比传统PBFT算法具有更好的共识效率。

关键词: 联盟链, 共识算法, 拜占庭容错, 信任度, 主节点选取

Abstract: As a new technology,blockchain has attracted the attention of all walks of life since its birth.Consensus algorithm is one of the core technologies of blockchain technology,and the research of consensus algorithms is also the top priority of blockchain development.Aiming at the problems of PBFT,which is widely used in consortium blockchain,such as the random selection of primary node and the inability of nodes to join and exit dynamically,an dynamic PBFT algorithm(DPBFT) is proposed.Firstly,the selection method of primary node of PBFT is improved,and the trust score is set for every node.The trust score is dynamically updated according to the behavior of the nodes in every round of consensus,and the primary node is selected according to the integral value,which improves the probability that an honest node is elected as the primary node.Secondly,four sub-protocols(JOIN,EXIT,PCLEAR,RCLEAR) are set for PBFT algorithm to solve the problem of joining and exiting nodes respectively and punish the offending nodes,so that the system has a dynamic network structure.It can be proved that the newly added four sub-protocols have good safety and liveness without affecting the safety and liveness of the original PBFT algorithm.At last,experimental results show that DPBFT algorithm has better consensus efficiency than traditional PBFT algorithm.

Key words: Consortium blockchain, Consensus algorithm, Byzantine fault tolerant, Trust, Selection of primary node

中图分类号: 

  • TP311
[1]NAKAMOTO S.Bitcoin:a peer-to-peer electronic cash system.[EB/OL].https://bitcoin.org//bitcoin.pdf.
[2]CAI X Q,DENG Y,ZHANG L,et al.The Principle and Core Technology of Blockchain [J].Chinese Journal of Computers,2021,44(1):84-131.
[3]HUANG D Y,LI L,CHEN B,et al.RBFT:a new Byzantine fault-tolerant consensus mechanism based on Raft cluster [J].Journal of Communications,2021,42(3):209-219.
[4]ZHANG P Y,SONG J.Research Advance on Efficiency Optimization of Blockchain Consensus Algorithms[J].Computer Science,2020,47(12):296-303.
[5]XIA Q,DOU W S,GUO K W,et al.Survey on Blockchain Consensus Protocol [J].Journal of Software,2021,32(2):277-299.
[6]KING S,NADAL S.PPCoin:Peer-to-Peer Crypto-Currencywith Proof-of-Stake[J/OL].http://inpluslab.sysu.edu.cn/files/blockchain/proof_of_stake.pdf.
[7]HERLIHY M P,WING J M.Linearizability:A correctness condition for concurrent objects [J].ACM Transactions on Programming Languages and Systems(TOPLAS),1990,12(3):463-492.
[8]CASTRO M,LISKOV B.Practical Byzantine fault tolerance[J].Operating Systems Review,2002,20(4):398-461.
[9]ZHAN Y,WANG B C,LU R X,et al.DRBFT:Delegated randomization Byzantine fault tolerance consensus protocol for blockchains [J].Information Sciences,2021,559:8-21.
[10]YU G,WU B,NIU X X.Improved Blockchain Consensus Mecha-nism Based on PBFT Algorithm[C]//2nd International Conference on Advances in Computer Technology,Information Science and Communications(CTISC 2020).2020:14-21.
[11]LI W Y,FENG C L,ZHANG L,et al.A Scalable Multi-Layer PBFT Consensus for Blockchain [J].IEEE Transactions on Parallel and Distributed Systems,2021,32(5):1146-1160.
[12]JALALZAI M M,BUSCH C.Window Based BFT Blockchain Consensus[C]//11th IEEE International Congress on Confe-rences on Internet of Things,14th IEEE International Confe-rence on Green Computing and Communications,11th IEEE International Conference on Cyber,Physical and Social Computing,4th IEEE International Conference on Smart Data,1st IEEE International Conference on Blockchain and 18th IEEE International Conference on Computer and Information Techno-logy,iThings/GreenCom/CPSCom/SmartData/Blockchain(CIT 2018).2018:971-979.
[13]WANG F L,JI Y P,LIU M S,et al.An Optimization Strategy for PBFT Consensus Mechanism Based on Consortium Blockchain[C]//3rd ACM International Symposium on Blockchain and Secure Critical Infrastructure(BSCI 2021).2021:71-76.
[14]DU N,LIANG Z,HUANG Y,et al.Performance optimisation Method of PBFT Consensus for Supply Chain Integration SVM[C]//2020 7th International Conference on Dependable Systems and Their Applications(DSA).2020:371-377.
[15]LI Y,WANG Z,FAN J,et al.An Extensible Consensus Algorithm Based on PBFT[C]//2019 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery(CyberC).2019:17-23.
[16]FANG Y,DENG J Q,CONG L H,et al.An Improved Scheme for PBFT Blockchain Consensus Algorithm Based on Raing Signature [J].Computer Engineering,2019,45(11):32-36.
[17]XU X L,ZHU D W,YANG X X,et al.Concurrent Practical Byzantine Fault Tolerance for Integration of Blockchain and Supply Chain [J].ACM Transactions on Internet Technology,2021,21(1):1-17.
[18]HAO X,YU L,ZHI Q L,et al.Dynamic Practical ByzantineFault Tolerance[C]//2018 IEEE Conference on Communications and Network Security(CNS).2018:1-8.
[19]FOX A,BREWER E.A Harvest,yield,and scalable tolerantsystems[C]//Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.1999:174-178.
[1] 蔡晓娟, 谭文安.
一种改进的融合相似度和信任度的协同过滤算法
Improved Collaborative Filtering Algorithm Combining Similarity and Trust
计算机科学, 2022, 49(6A): 238-241. https://doi.org/10.11896/jsjkx.210400088
[2] 袁昊男, 王瑞锦, 郑博文, 吴邦彦.
基于Fabric的电子病历跨链可信共享系统设计与实现
Design and Implementation of Cross-chain Trusted EMR Sharing System Based on Fabric
计算机科学, 2022, 49(6A): 490-495. https://doi.org/10.11896/jsjkx.210500063
[3] 陈彦冰, 钟超然, 周超然, 薛凌妍, 黄海平.
基于医疗联盟链的跨域认证方案设计
Design of Cross-domain Authentication Scheme Based on Medical Consortium Chain
计算机科学, 2022, 49(6A): 537-543. https://doi.org/10.11896/jsjkx.220200139
[4] 李博, 向海昀, 张宇翔, 廖浩德.
面向食品溯源场景的PBFT优化算法应用研究
Application Research of PBFT Optimization Algorithm for Food Traceability Scenarios
计算机科学, 2022, 49(6A): 723-728. https://doi.org/10.11896/jsjkx.210800018
[5] 冯了了, 丁滟, 刘坤林, 马科林, 常俊胜.
区块链BFT共识算法研究进展
Research Advance on BFT Consensus Algorithms
计算机科学, 2022, 49(4): 329-339. https://doi.org/10.11896/jsjkx.210700011
[6] 李素, 宋宝燕, 李冬, 王俊陆.
面向金融活动的复合区块链关联事件溯源方法
Composite Blockchain Associated Event Tracing Method for Financial Activities
计算机科学, 2022, 49(3): 346-353. https://doi.org/10.11896/jsjkx.210700068
[7] 杨昕宇, 彭长根, 杨辉, 丁红发.
基于演化博弈的理性拜占庭容错共识算法
Rational PBFT Consensus Algorithm with Evolutionary Game
计算机科学, 2022, 49(3): 360-370. https://doi.org/10.11896/jsjkx.210900110
[8] 王日宏, 周航, 徐泉清, 张立锋.
用于联盟链的非拜占庭容错共识算法
Non-byzantine Fault Tolerance Consensus Algorithm for Consortium Blockchain
计算机科学, 2021, 48(9): 317-323. https://doi.org/10.11896/jsjkx.200600051
[9] 郭上铜, 王瑞锦, 张凤荔.
区块链技术原理与应用综述
Summary of Principle and Application of Blockchain
计算机科学, 2021, 48(2): 271-281. https://doi.org/10.11896/jsjkx.200800021
[10] 季钰翔, 黄建华, 王喆, 郑红, 唐瑞琮.
基于信任度匹配的改进PBFT共识算法
Improved PBFT Consensus Algorithm Based on Trust Matching
计算机科学, 2021, 48(2): 303-310. https://doi.org/10.11896/jsjkx.200500112
[11] 王辉, 陈博, 刘玉祥.
基于区块链的人事档案管理系统研究
Research on Personnel File Management System Based on Blockchain
计算机科学, 2021, 48(11A): 713-718. https://doi.org/10.11896/jsjkx.210300051
[12] 毛瀚宇, 聂铁铮, 申德荣, 于戈, 徐石成, 何光宇.
区块链即服务平台关键技术及发展综述
Survey on Key Techniques and Development of Blockchain as a Service Platform
计算机科学, 2021, 48(11): 4-11. https://doi.org/10.11896/jsjkx.210500159
[13] 周艺华, 方嘉博, 贾玉欣, 贾立圆, 侍伟敏.
基于PBFT的联盟链共识算法
Consortium Blockchain Consensus Algorithm Based on PBFT
计算机科学, 2021, 48(11): 133-141. https://doi.org/10.11896/jsjkx.201200148
[14] 邵兴辉, 黄建华, 王梦楠, 武海霞, 麦勇.
基于信任的双层可拓展共识协议
Trust-based Dual-layer Scalable Consensus Protocol
计算机科学, 2021, 48(11): 142-150. https://doi.org/10.11896/jsjkx.210100126
[15] 陆歌皓, 谢莉红, 李析禹.
区块链共识算法对比研究
Comparative Research of Blockchain Consensus Algorithm
计算机科学, 2020, 47(6A): 332-339. https://doi.org/10.11896/JsJkx.191100189
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!