Computer Integrated Manufacturing System ›› 2023, Vol. 29 ›› Issue (1): 25-35.DOI: 10.13196/j.cims.2023.01.003

Previous Articles     Next Articles

Improved PBFT algorithm of multi-primary-node based on ring of consistent Hash

LU Li1,2,SUN Linfu1,2+,ZOU Yisheng1,2   

  1. 1.School of Computing and Artificial Intelligence,Southwest Jiaotong University
    2.Sichuan Provincial Key Laboratory of Manufacturing Industry Chains Collaboration and Information Support Technology,Southwest Jiaotong University
  • Online:2023-01-31 Published:2023-02-14
  • Supported by:
    Project supported by the Sichuan Provincial Science and Technology Program,China(No.2021YFG0040).

基于一致性哈希环多主节点的改进实用拜占庭容错算法

卢丽1,2,孙林夫1,2+,邹益胜1,2   

  1. 1.西南交通大学计算机与人工智能学院
    2.西南交通大学制造业产业链协同与信息化支撑技术四川省重点实验室
  • 基金资助:
    四川省科技计划资助项目(2021YFG0040)。

Abstract: As a tool to build credit between the supply and demand sides,consortium chain promotes the development of the cloud manufacturing platform.The Practical Byzantine Fault Tolerance (PBFT) consensus algorithm is the most popular consensus protocol in consortium chain,which has received extensive study.However,there are still three problems:poor scalability of PBFT algorithm due to many nodes,low performance of consensus algorithm owing to replay attack,and difficulty in maintaining an efficient running state due to static network structure.Therefore,an Improved PBFT (IPBFT) algorithm was proposed.The selection algorithm of primary nodes was optimized to expand from a single primary node to multi-primary-node,so that the multi-primary-node was achieved a uniform data distribution and task scheduling in buckets of a ring of consistent hash.Then,the consensus algorithm was implemented with multi-threading in parallel to minimize delay and improve throughput of the algorithm,and thus improved scalability of the algorithm.The correct primary nodes were allocated by rotating the bucket periodically in the algorithm of replay attacks,which received client requests to prevent the replay attack.A removal mechanism was designed to add reliable nodes or remove Byzantine nodes to reduce view-change operations.As a result,the system maintained a high running state.The experimental results showed that the IPBFT was superior to the PBFT algorithm and could solve the above three problems well.

Key words: ring of consistent Hash, primary node, practical Byzantine fault tolerance, consensus algorithm, consortium chain

摘要: 联盟链技术作为一种建立供需双方的可信交易的工具,促进了云制造平台的发展。实用拜占庭容错(PBFT)共识算法是联盟链最受欢迎的共识协议,得到了广泛的研究和应用,但是还存在节点较多导致PBFT算法扩展性较差、重播攻击降低了共识算法的性能、网络结构静态难以维持高效的运行状态3个问题。为此,提出一种改进的实用拜占庭容错(IPBFT)算法。首先,通过优化主节点的选取方式将单个主节点扩展为多个主节点,使得多个主节点在一致性哈希环的桶中实现数据均匀分布和任务均匀调度;然后,通过多线程并行执行共识算法以最大程度地减少时延并提高算法的吞吐量,从而提高了算法的可扩展性;其次,在重播攻击算法中通过定期旋转桶来分配正确的主节点,然后通过分配的主节点来接收客户端的请求,以防止客户端的重播攻击;最后,设计了一套节点移除机制来加入可靠的节点或者移除拜占庭节点,减少视图切换操作,从而使系统维持较高的运行状态。实验结果表明,IPBFT明显优于PBFT共识算法,很好地解决了以上3个问题。

关键词: 一致性哈希环, 主节点, 实用拜占庭容错, 共识算法, 联盟链

CLC Number: