西安电子科技大学学报 ›› 2024, Vol. 51 ›› Issue (6): 132-148.doi: 10.19665/j.issn1001-2400.20240902

• 计算机科学与技术 & 网络空间安全 • 上一篇    下一篇

支持动态反馈决策的拜占庭容错共识算法

翟社平1,2(), 曹永强1(), 杨锐1(), 张瑞婷1()   

  1. 1.西安邮电大学 计算机学院,陕西 西安 710121
    2.西安邮电大学 陕西省网络数据分析与智能处理重点实验室,陕西 西安 710121
  • 收稿日期:2024-03-15 出版日期:2024-12-20 发布日期:2024-09-10
  • 通讯作者: 曹永强(2000—),男,西安邮电大学硕士研究生,E-mail:cyq0408up@163.com
  • 作者简介:翟社平(1971—),男,教授,E-mail:zhaisheping@xupt.edu.cn;
    杨 锐(1976—),女,讲师,E-mail:290934920@qq.com;
    张瑞婷(2000—),女,西安邮电大学硕士研究生,E-mail:18691729079@163.com
  • 基金资助:
    国家自然科学基金(61373116);陕西省重点研发计划项目(2022GY-038);工业和信息化部通信软科学项目(2018-R-26);工业和信息化部通信软科学项目(2017-R-22);陕西省教育厅科学研究计划项目(18JK0697);陕西省社会科学基金(2016N008);西安市社科规划基金(17X63)

Algorithm for byzantine fault-tolerant consensus to support dynamic feedback decision-making

ZHAI Sheping1,2(), CAO Yongqiang1(), YANG Rui1(), ZHANG Ruiting1()   

  1. 1. School of Computer Science and Technology,Xi’an University of Posts and Telecommunications,Xi’an 710121,China
    2. Shaanxi Key Laboratory of Network Data Analysis and Intelligent Processing,Xi’an University of Posts and Telecommunications,Xi’an 710121,China
  • Received:2024-03-15 Online:2024-12-20 Published:2024-09-10

摘要:

区块链作为一个可以记录加密的分布式账本而受欢迎,通过共识算法在不受信任的节点网络中确保账本的交易一致性。投票类共识协议的广播过程需要进行大量网络转发,通信开销巨大,严重影响链上性能。随着节点数量增加,性能急剧下降,大规模节点的可扩展性受到严重制约。针对以上问题,将共识过程作为一个优化问题,提出一种使用学习自动机进行投票决策的拜占庭容错共识算法。将学习自动机嵌入区块链节点代替节点完成共识投票相关操作,降低节点恶意操作对系统的影响。共识决策由主节点与其相邻学习节点共同完成,主节点依据准则函数和整体投票结果对学习节点投票做出反馈,学习节点依据反馈调整投票策略,主节点准则函数收敛则达成共识。提出加速共识收敛的策略,调整学习自动机规则减少故障节点的影响,提出一种奖惩机制提高诚实节点参与共识过程的积极性,减少共识时延。实验结果表明在大规模节点场景下提出的共识算法相比现有算法复杂度更低,在面对拜占庭节点时也表现出更好的容错性,在保持快速交易的同时减少了故障节点的影响,保证了大规模节点网络的可扩展性和容错性。

关键词: 区块链, 共识算法, 学习自动机, 收敛策略

Abstract:

The blockchain is popular as a distributed ledger that can record encryptions,ensuring the consistency of transactions in the ledger through consensus algorithms across a network of untrusted nodes.The broadcasting process of voting-based consensus protocols requires a large number of network forwards,with a huge communication overhead that severely affects the on-chain performance.With the increase in the number of nodes,the performance deteriorates dramatically,and the scalability of large-scale nodes is severely constrained.To address the above problems,the consensus process is treated as an optimization problem,and a Byzantine fault-tolerant consensus algorithm using learning automata for voting decision is proposed.Learning automata are embedded into blockchain nodes instead of nodes to complete consensus voting-related operations,reducing the impact of malicious operations of nodes on the system.The consensus decision is made by the master node and its neighboring learning nodes,the master node gives feedback to the learning nodes based on the criterion function and the overall voting result,the learning nodes adjust their voting strategy based on the feedback,and the consensus is reached when the criterion function of the master node converges.The proposed strategy accelerates the convergence of consensus,adjusts the rules of learning automata to reduce the influence of faulty nodes,and uses the reward and punishment mechanism to improve the enthusiasm of normal nodes to participate in the consensus process and reduce the consensus delay.Experimental results show that the consensus algorithm proposed in this paper has a lower complexity compared to the existing algorithms in large-scale node scenarios,and also shows a better fault tolerance in the face of Byzantine nodes,which reduces the impact of the faulty nodes while maintaining the fast transactions and ensures the scalability and fault tolerance of large-scale node networks.

Key words: blockchain, consensus algorithm, learning automata, convergence strategy

中图分类号: 

  • TP311.1