摘要:实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)算法在实际应用中存在通信复杂度高、节点管理机制不完善及缺乏动态行为评估等问题,限制了其在大规模区块链系统中的性能与安全表现。为解决上述问题,设计了一种基于信誉分组的改进算法。首先,通过设计节点信誉评估机制,节点根据信誉值被划分为优节点、良节点和观察节点,前两类参与共识,领导者优先从优节点中选取。信誉较低但未作恶的节点作为观察节点,仅同步账本,不参与共识;存在作恶行为的节点将被识别并隔离,提升系统的安全性与鲁棒性。其次,引入BLS(Boneh–Lynn–Shacham)多重签名技术,通过聚合多个节点的签名为固定长度的签名,减少了节点数据传输过程中的签名数据量,降低了组内和组间广播过程中的通信负担。最后,设计了一种节点动态管理机制,允许节点根据需求灵活加入或退出系统,从而增强系统的动态适应能力和鲁棒性。实验结果表明,与PBFT、DT-PBFT、NBR-PBFT算法相比,该算法在共识时延上分别降低了约45.3、29.3和17.4个百分点;在吞吐量上分别提高了约17.4、10.6和4.5个百分点。
文章目录
0 概述
1 背景知识
1.1 PBFT算法
1.2 BLS多重签名
2 RC-PBFT算法
2.1 算法模型
2.2 信誉评估机制
2.3 BLS多重签名共识
2.3.1 组内共识
2.3.2 组间共识
2.4 节点动态管理
2.4.1 节点加入机制
2.4.2 节点退出机制
3 实验与分析
3.1 节点信誉权重系数对比
3.2 安全性分析
3.3 共识时延
3.4 吞吐量
3.5 多重签名时间消耗
3.6 极端场景仿真测试
4 结语