计算机科学 ›› 2021, Vol. 48 ›› Issue (11): 133-141.doi: 10.11896/jsjkx.201200148

• 区块链技术* 上一篇    下一篇

基于PBFT的联盟链共识算法

周艺华1,2,3, 方嘉博1,2,3, 贾玉欣1,2,3, 贾立圆1,2,3, 侍伟敏1,2   

  1. 1 北京工业大学信息学部 北京100124
    2 可信计算北京市重点实验室 北京100124
    3 北京工业大学区块链研究中心 北京100124
  • 收稿日期:2020-12-17 修回日期:2021-04-16 出版日期:2021-11-15 发布日期:2021-11-10
  • 通讯作者: 方嘉博(844545494@qq.com)
  • 作者简介:zhouyh@bjut.edu.cn
  • 基金资助:
    国家自然科学基金(61572053);北京市自然科学基金 (4182006)

Consortium Blockchain Consensus Algorithm Based on PBFT

ZHOU Yi-hua1,2,3, FANG Jia-bo1,2,3, JIA Yu-xin1,2,3, JIA Li-yuan1,2,3, SHI Wei-min1,2   

  1. 1 Faculty of Information Technology,Beijing University of Technology,Beijing 100124,China
    2 Beijing Key Laboratory of Trusted Computing,Beijing 100124,China
    3 Blockchain Research Center of Beijing University of Technology,Beijing 100124,China
  • Received:2020-12-17 Revised:2021-04-16 Online:2021-11-15 Published:2021-11-10
  • About author:ZHOU Yi-hua,born in 1969,Ph.D,associate professor.His main research in-terests include cryptography,blockchain theory and technology,privacy protection technology and the interdis-ciplinary of information security and other disciplines.
    FANG Jia-bo,born in 1993,postgra-duate.His main research interests include information security,blockchain and cloud storage.
  • Supported by:
    National Natural Science Foundation of China(61572053) and Beijing Natural Science Foundation(4182006).

摘要: 针对实用型拜占庭(PBFT)共识算法中存在的可拓展性较差、主节点选取随意、网络开销较大等问题,文中面向联盟链设计并提出了一种优化的实用型拜占庭共识算法。首先,为集群中的节点设置不同的角色,根据不同角色为节点分配不同的权限,不同权限的节点设计了动态进出网络机制。其次,在生产节点选举时,设计了投票机制与基于信誉度的FTS树相结合的选举算法,保证了选举的安全性和公平性。最后,在共识流程方面优化了PBFT共识流程,缩减了PBFT共识中的网络开销。实验结果表明,提出的POC共识算法相较于PBFT算法,具有高动态、选举安全、低开销等特性。

关键词: follow-the-satoshi算法, 拜占庭容错, 共识算法, 区块链, 信誉度

Abstract: Focusing on the problems of poor scalability,the random selection of primary nodes,and high network overhead in the practical-Byzantine-fault-tolerant consensus algorithm,this paper proposes a Byzantine-fault-tolerant consensus algorithm based on credit evaluation mechanism.First of all,the system sets different roles for the nodes in the cluster and assigns different permissions to the nodes according to different roles,so that the nodes with different permissions can enter and exit the network dynamically.Secondly,the voting mechanism and follow-the-satoshi algorithm based on credibility are designed to ensure the security and fairness of the election.Finally,in the aspect of the consensus process,an optimized two-stage Byzantine-fault-tolerant consensus is proposed to reduce the network overhead in the PBFT consensus process.Experiments show that the consensus algorithm based on the credit evaluation mechanism proposed in this paper has the characteristics of high dynamic,election security,and low cost compared with the PBFT algorithm which is suitable for the alliance chain.

Key words: BFT, Blockchain, Consensus algorithm, Credit, follow-the-satoshi algorithm

中图分类号: 

  • TP391
[1]NAKAMOTO S.Bitcoin:A peer-to-peer electronic cash system [EB/OL].https://bitcoin.org/bitcoin.pdf.
[2]YUAN Y,NI X C,ZENG S,et al.Blockchain consensus algo-rithms:the state of the art and future trends[J].Acta Automa-tica Sinica,2018,44(11):2011-2022.
[3]JAKOBSSON M,JUELS A.Proofs of work and bread pudding protocols (extended abstract).Secure Information Networks.Boston,MA[M].Germany:Springer,1999:258-272.
[4]BUTERIN V.A next-generation smart contract and decentra-lized application platform[J].Etherum,2014(1):1-36.
[5]NADAL S,GRAMOLI S.PPCoin:Peer-to-Peer Crypto-Currency with Proof-of-Stake[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security.2017:1-27.
[6]LARIME D.Delegated Proof-of-Stake (DPOS)[OL].https://how.bitshares.works/en/master/technology/dpos.html.
[7]LAMPORT L,SHOSTAK R,PEASE M.The Byzantine gene-rals problem[J].ACM Transactions on Programming Languages and Systems,1982,4(3):382-401.
[8]CASTRO M,LISKOV B.Practical byzantine fault tolerance and proactive recovery[J].Acm Transactions on Computer Systems,2002,20(4):398-461.
[9]ELLI A,ARTEM B,VITA B,et al.Hyperledger Fabric:a distributed operating system for permissioned blockchains[C]//Proceedings of the Thirteenth Euro -Sys Conference.Porto,Portugal,ACM,2018:30.
[10]AUBLIN P,MOKHTAR L,BEN S,et al.RBFT:Redundant byzantine fault tolerance[C]//Proceedings International Confe-rence on Distributed Computing Systems.2013:297-306.
[11]ZHANG H.Concurrent Byzantine Fault Tolerance for Software-Transaction-Memory Based Applications[C]//International Journal of Future Computer and Communication.2012:47-50.
[12]MENG W T,ZHANG D W.Optimization scheme for hyperle-dger fabric consensus mechanism[J].Acta Automatica Sinica,2020,46:1-14.
[13]ZHANG S X,WEN J.A group-base blockchain consensus algorithm [J].Computer Applications and Software,2020,37(3):261.
[14]HAN Z Y,GONG N S.An Improved blockchain practical byzantine fault tolerance algorithm[J].Computer Applications and Software,2020,37(2):226.
[15]BENTOV I,LEE C,MIZRAHI A,et al.Proof of Activity[J].ACM SIGMETRICS Performance Evaluation Review,2014,42(3):34-37.
[16]ZHANG P Y,SONG J.Research Advance on Efficiency Optimization of Blockchain Consensus Algorithms[J].Computer Scien-ce,2020,47(12):296-303.
[17]YU B,LIU J,NEPAL S,et al.Proof-of-Qos:Qos based blockchain consensus protocol [J].Computers & Security,2019,87(11):101580.1-101580.13.
[18]LI K,LI H,HOU H,et al.Proof of Vote:A High-Performance Consensus Protocol Based on Vote Mechanism & Consortium Blockchain [C]//Proceedings-2017 IEEE 19th Intl Conference on High Performance Computing and Communications,DSS 2017:466-473.
[19]HUANG J H,XIA X,LI Z C,et al.Proof of Trust:Mechanism of Trust Degree Based on Dynamic Authorization [J].Journal of Software,2019,30(9):2593-2607.
[20]FENG J Y,ZHAO X Y,CHEN K X,et al.Towards random-honest miners selection and multi-blocks creation:Proof-of-negotiation consensus mechanism in blockchain networks [J].Future Generation Computer Systems,2020,105:248-258.
[1] 王子凯, 朱健, 张伯钧, 胡凯.
区块链与智能合约并行方法研究与实现
Research and Implementation of Parallel Method in Blockchain and Smart Contract
计算机科学, 2022, 49(9): 312-317. https://doi.org/10.11896/jsjkx.210800102
[2] 周航, 姜河, 赵琰, 解相朋.
适用于各单元共识交易的电力区块链系统优化调度研究
Study on Optimal Scheduling of Power Blockchain System for Consensus Transaction ofEach Unit
计算机科学, 2022, 49(6A): 771-776. https://doi.org/10.11896/jsjkx.210600241
[3] 傅丽玉, 陆歌皓, 吴义明, 罗娅玲.
区块链技术的研究及其发展综述
Overview of Research and Development of Blockchain Technology
计算机科学, 2022, 49(6A): 447-461. https://doi.org/10.11896/jsjkx.210600214
[4] 高健博, 张家硕, 李青山, 陈钟.
RegLang:一种面向监管的智能合约编程语言
RegLang:A Smart Contract Programming Language for Regulation
计算机科学, 2022, 49(6A): 462-468. https://doi.org/10.11896/jsjkx.210700016
[5] 毛典辉, 黄晖煜, 赵爽.
符合监管合规性的自动合成新闻检测方法研究
Study on Automatic Synthetic News Detection Method Complying with Regulatory Compliance
计算机科学, 2022, 49(6A): 523-530. https://doi.org/10.11896/jsjkx.210300083
[6] 陈彦冰, 钟超然, 周超然, 薛凌妍, 黄海平.
基于医疗联盟链的跨域认证方案设计
Design of Cross-domain Authentication Scheme Based on Medical Consortium Chain
计算机科学, 2022, 49(6A): 537-543. https://doi.org/10.11896/jsjkx.220200139
[7] 李博, 向海昀, 张宇翔, 廖浩德.
面向食品溯源场景的PBFT优化算法应用研究
Application Research of PBFT Optimization Algorithm for Food Traceability Scenarios
计算机科学, 2022, 49(6A): 723-728. https://doi.org/10.11896/jsjkx.210800018
[8] 王思明, 谭北海, 余荣.
面向6G可信可靠智能的区块链分片与激励机制
Blockchain Sharding and Incentive Mechanism for 6G Dependable Intelligence
计算机科学, 2022, 49(6): 32-38. https://doi.org/10.11896/jsjkx.220400004
[9] 孙浩, 毛瀚宇, 张岩峰, 于戈, 徐石成, 何光宇.
区块链跨链技术发展及应用
Development and Application of Blockchain Cross-chain Technology
计算机科学, 2022, 49(5): 287-295. https://doi.org/10.11896/jsjkx.210800132
[10] 阳真, 黄松, 郑长友.
基于区块链与改进CP-ABE的众测知识产权保护技术研究
Study on Crowdsourced Testing Intellectual Property Protection Technology Based on Blockchain and Improved CP-ABE
计算机科学, 2022, 49(5): 325-332. https://doi.org/10.11896/jsjkx.210900075
[11] 任畅, 赵洪, 蒋华.
一种量子安全拜占庭容错共识机制
Quantum Secured-Byzantine Fault Tolerance Blockchain Consensus Mechanism
计算机科学, 2022, 49(5): 333-340. https://doi.org/10.11896/jsjkx.210400154
[12] 冯了了, 丁滟, 刘坤林, 马科林, 常俊胜.
区块链BFT共识算法研究进展
Research Advance on BFT Consensus Algorithms
计算机科学, 2022, 49(4): 329-339. https://doi.org/10.11896/jsjkx.210700011
[13] 王鑫, 周泽宝, 余芸, 陈禹旭, 任昊文, 蒋一波, 孙凌云.
一种面向电能量数据的联邦学习可靠性激励机制
Reliable Incentive Mechanism for Federated Learning of Electric Metering Data
计算机科学, 2022, 49(3): 31-38. https://doi.org/10.11896/jsjkx.210700195
[14] 张潆藜, 马佳利, 刘子昂, 刘新, 周睿.
以太坊Solidity智能合约漏洞检测方法综述
Overview of Vulnerability Detection Methods for Ethereum Solidity Smart Contracts
计算机科学, 2022, 49(3): 52-61. https://doi.org/10.11896/jsjkx.210700004
[15] 杨昕宇, 彭长根, 杨辉, 丁红发.
基于演化博弈的理性拜占庭容错共识算法
Rational PBFT Consensus Algorithm with Evolutionary Game
计算机科学, 2022, 49(3): 360-370. https://doi.org/10.11896/jsjkx.210900110
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!