摘 要:共识问题是区块链中的核心问题,针对联盟链常用的实用拜占庭容错算法(PBFT)中主节点选取随意、网络通信量大、公平性较低等问题,提出一种基于信誉值的 PBFT 改进算法。首先改变信誉值主节点选取方式,然后优化共识流程,节点的累计信誉作为判断达成共识的条件。达成共识时没有参与共识过程的节点或恶意节点的信誉值降低,降低的信誉值均分给成功参与共识的节点。经过多次共识后,故障或恶意节点对共识的影响变小,提高了算法的公平性。
关键词:联盟链;实用拜占庭容错算法;共识机制;信誉值;公平性
DOI:10.19850/j.cnki.2096-4706.2022.10.003
中图分类号:TP311.5 文献标识码:A 文章编号:2096-4706(2022)10-0016-05
Research on Improved Algorithm of Practical Byzantine Fault Tolerance Based on Reputation Value
WANG Qihe
(School of Control and Computer Engineering, North China Electric Power University, Baoding 071003, China)
Abstract: The consensus problem is the core problem in the blockchain. In view of the problems of arbitrary master node selection, large amount of network communication and low fairness of the Practical Byzantine Fault Tolerance (PBFT), which is commonly used in coalition chains, an improved algorithm of PBFT based on reputation value is proposed. Firstly, it changes the selection mode of reputation value master node. Then the consensus process is optimized, and the accumulated reputation of nodes is used as a condition to judge reaching consensus. The reputation value of nodes that do not participate in the consensus process or malicious nodes is reduced when consensus is reached, and the reduced reputation value is equally distributed to the nodes that successfully participate in consensus. After multiple consensus, the impact of the fault or malicious node on the consensus becomes small and the fairness of the algorithm is improved.
Keywords: coalition chain; practical Byzantine fault tolerant algorithm; consensus mechanism; reputation value; fairness
参考文献:
[1] NAKAMOTO S. Bitcoin:A Peer-to-Peer Electronic Cash System [EB/OL].[2022-02-10].https://bitcoin.org/bitcoin.pdf.
[2] 凌飞,陈世平 . 基于区块链的企业联盟共享数字积分管理机制 [J]. 计算机科学,2021,48(S2):533-539.
[3] 王辉,陈博,刘玉祥 . 基于区块链的人事档案管理系统研究 [J]. 计算机科学,2021,48(S2):713-718.
[4] 梁晓贺,周爱莲,谢能付,等 . 区块链农业应用现状与技术热点 [J]. 中国农业科技导报,2021,23(12):84-93.
[5] 林超,何德彪,黄欣沂 . 基于区块链的电子医疗记录安全共享 [J/OL]. 计算机应用,2022:1-11(2022-01-17).https://www.cnki.net/KCMS/detail/detail.aspx?dbcode=CA PJ&dbname=CAPJLAST&filename=JSJY20220114006&v=MjQz NzBacEZ5emxVcnpPSlZzPUx6N0JkN0c0SE5QTXJvNUJaT3NKW XdrN3ZCQVM2amg0VEF6bHEyQTBmTFQ3UjdxZFpl.
[6] 何蒲,于戈,张岩峰,等 . 区块链技术与应用前瞻综述 [J].计算机科学,2017,44(04):1-7+15.
[7] 代闯闯,栾海晶,杨雪莹,等 . 区块链技术研究综述 [J].计算机科学,2021,48(S2):500-508.
[8] 谭敏生,杨杰,丁琳,等 . 区块链共识机制综述 [J]. 计算机工程,2020,46(12):1-11.
[9] 韩璇, 刘亚敏 . 区块链技术中的共识机制研究 [J]. 信息网络安全,2017,17(9):147-152.
[10] 吴奕,仲盛 . 区块链共识算法 Raft 研究 [J]. 信息网络安全,2021,21(6):36-44.
[11] LAMPORT L,SHOSTAK R,PEASE M,et al. The Byzantine Generals Problem [EB/OL].[2022-02-10].https://www-inst.eecs.berkeley.edu/~cs162/sp16/static/readings/Original_Byzantine.pdf.
[12] CASTRO M, LISKOV B. Practical ByzantineFault Tolerance [EB/OL].[2022-02-10].https://pmg.csail.mit.edu/papers/osdi99.pdf.
[13] 王海勇,郭凯璇,潘启青 . 基于投票机制的拜占庭容错共识算法 [J]. 计算机应用,2019,39(6):1766-1771.
[14] 高娜,周创明,杨春晓,等 . 基于网络自聚类的 PBFT算法改进 [J]. 计算机应用研究,2021,38(11).
[15] 陈子豪,李强 . 基于 K-medoids 的改进 PBFT 共识机制[J]. 计算机科学,2019,46(12):101-107.
[16] 包振山,王凯旋,张文博 . 基于树形拓扑网络的实用拜占庭容错共识算法 [J]. 应用科学学报,2020,38(1):34-50.
[17] 韩镇阳,宫宁生,任珈民 . 一种区块链实用拜占庭容错算法的改进 [J]. 计算机应用与软件,2020,37(2):226-233+294.
[18] 王日宏,袁杉杉,徐泉清,等 . 基于时间权重值的共识算法研究 [J]. 计算机应用研究,2021,38(11):3243-3248.
[19] 甘俊,李强,陈子豪,张超 . 区块链实用拜占庭容错共识算法的改进 [J]. 计算机应用,2019,39(7):2148-2155.
[20] SEO J KO D, KIM S,et al. A Coordination Technique for Improving Scalability of Byzantine FaultTolerant Consensus [J/OL].Applied Sciences,2020,10 (2 1)[2022-02-10]. https://www.mdpi.com/2076-3417/10/21/7609.
[21] 唐宏,刘双,酒英豪,等 . 实用拜占庭容错算法的改进研究 [J]. 计算机工程与应用,2022,58(9):144-150.
作者简介:王启河(2000—),男,汉族,贵州遵义人,本科在读,研究方向:信息安全。