计算机工程与应用 ›› 2024, Vol. 60 ›› Issue (12): 294-302.DOI: 10.3778/j.issn.1002-8331.2302-0225

• 网络、通信与安全 • 上一篇    下一篇

基于一致性哈希和随机选取的PBFT算法改进

翟社平,霍媛媛,杨锐,聂浩楠   

  1. 1.西安邮电大学 计算机学院,西安 710121
    2.西安邮电大学 陕西省网络数据分析与智能处理重点实验室,西安 710121
  • 出版日期:2024-06-15 发布日期:2024-06-14

Improvement of PBFT Algorithm Based on Consistent Hash and Random Selection

ZHAI Sheping, HUO Yuanyuan, YANG Rui, NIE Haonan   

  1. 1.School of Computer Science, 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
  • Online:2024-06-15 Published:2024-06-14

摘要: 针对实用拜占庭容错算法PBFT存在的系统动态性不足以及主节点选取随意导致的共识效率较低、系统稳健性较差等问题,提出一种基于一致性哈希和随机选取的CRPBFT共识算法。采用一致性哈希对节点进行分组,在分组的基础上增加节点动态变化机制,为系统提供动态的网络结构。根据节点在共识中的表现动态计算各节点的信誉值,同时定义主节点候选列表、普通节点和恶意节点这三种节点信誉层次,从高信誉值的主节点候选列表中使用可验证随机函数选取可靠且身份难以被恶意预测的主节点,并将符合信誉值要求的节点组成较稳定的共识集群。实验结果表明CRPBFT算法较PBFT算法中共识节点集群的可靠程度更高,在共识时延、吞吐量以及系统稳健性方面的性能优于PBFT算法。

关键词: 区块链, 信誉机制, 可验证随机函数, 实用拜占庭容错算法

Abstract: Aiming at the problems of the practical Byzantine fault-tolerant algorithm (PBFT), such as insufficient system dynamics, low consensus efficiency and poor system robustness caused by the random selection of master nodes, a consensus algorithm of CRPBFT based on consistent hash and random selection is proposed. Firstly, the nodes are grouped by consistent hash, and the dynamic change mechanism of nodes is added to provide a dynamic network structure for the system. Secondly, the reputation value of the node is dynamically calculated according to the performance of the node in the consensus. At the same time, this paper defines three node reputation levels, namely, the candidate list of primary nodes, common nodes and malicious nodes. The primary node that is reliable and whose identity is difficult to be maliciously predicted, is selected through the verifiable random function, and the nodes that satisfied the reputation value requirements are selected to form a relatively stable consensus cluster. Experimental results show that CRPBFT algorithm is more reliable than consensus node cluster in PBFT algorithm, and its performance in consensus delay, throughput and system robustness is better than PBFT algorithm.

Key words: blockchain, reputation mechanism, verifiable random function, practical Byzantine fault-tolerant algorithm