基于K-medoids的改进PBFT共识机制
发布时间:2021-06-20 16:49
随着数字货币的普及与发展,区块链技术进入了大众的视野,并被誉为信用历史上第四个里程碑,是未来信用的基石[1]。但与此同时,区块链技术也面临着共识效率低、算力浪费等问题。文中利用K-medoids聚类算法对参与区块链共识的大规模网络节点根据特征进行聚类与层次划分,再将改进的多中心化实用拜占庭容错算法应用于这种聚类后的分层模型中。另外,为了提升聚类算法在多种场景下对区块链模型中共识节点进行聚类的可控性,对K-medoids算法进行了改进。网络拓扑仿真环境实验表明,当选择了适当的聚类特征评判节点间的相似度时,改进后的算法K-PBFT在1 000个网络节点参与共识的场景中相较于传统实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)算法,单次共识耗时缩短了20%,共识过程的通信次数最佳能够降低3个数量级。结果证明K-PBFT算法优化了较大规模共识节点参与的共识过程,使区块链模型能够适用于更广泛的场景中。
【文章来源】:计算机科学. 2019,46(12)北大核心CSCD
【文章页数】:7 页
【部分图文】:
数字签名原理
PBFT共识过程中主要的三阶段的数据传输流程(预准备、准备、确认)如图3所示。根据上述过程,PBFT算法虽然相较于其他共识算法不需要消耗大量算力资源,且共识速度较快,但也只适用于共识节点不多的情况。当大量节点加入区块链系统时,完全去中心化的特点使得所有共识节点需要共同进行三阶段共识,导致通信次数与数据传输量大大增加,很有可能造成网络堵塞或出现网络风暴。因此,下文将利用聚类算法K-medoids改进PBFT共识,提高PBFT算法在大量节点共同参与共识时的共识效率。
K-medoids算法与PBFT相结合,利用聚类算法对原PBFT中无差别的所有共识节点进行划分聚类并分层,将聚类后的簇中心节点作为该簇内所有节点的主节点,每个簇内的非聚类中心节点作为该簇内的从节点。本文将每个簇称为一个子共识集群,非聚类中心节点构成了K个主节点领导下的K个子共识集群,再将所有K个主节点的集合构成一个骨干共识集群。区块链模型的结构如图4所示。K-PBFT共识算法的主要流程阶段如下。
【参考文献】:
期刊论文
[1]区块链技术发展现状与展望[J]. 袁勇,王飞跃. 自动化学报. 2016(04)
[2]基于MapReduce的Canopy-Kmeans改进算法[J]. 毛典辉. 计算机工程与应用. 2012(27)
[3]基于粒计算的K-medoids聚类算法[J]. 马箐,谢娟英. 计算机应用. 2012(07)
本文编号:3239573
【文章来源】:计算机科学. 2019,46(12)北大核心CSCD
【文章页数】:7 页
【部分图文】:
数字签名原理
PBFT共识过程中主要的三阶段的数据传输流程(预准备、准备、确认)如图3所示。根据上述过程,PBFT算法虽然相较于其他共识算法不需要消耗大量算力资源,且共识速度较快,但也只适用于共识节点不多的情况。当大量节点加入区块链系统时,完全去中心化的特点使得所有共识节点需要共同进行三阶段共识,导致通信次数与数据传输量大大增加,很有可能造成网络堵塞或出现网络风暴。因此,下文将利用聚类算法K-medoids改进PBFT共识,提高PBFT算法在大量节点共同参与共识时的共识效率。
K-medoids算法与PBFT相结合,利用聚类算法对原PBFT中无差别的所有共识节点进行划分聚类并分层,将聚类后的簇中心节点作为该簇内所有节点的主节点,每个簇内的非聚类中心节点作为该簇内的从节点。本文将每个簇称为一个子共识集群,非聚类中心节点构成了K个主节点领导下的K个子共识集群,再将所有K个主节点的集合构成一个骨干共识集群。区块链模型的结构如图4所示。K-PBFT共识算法的主要流程阶段如下。
【参考文献】:
期刊论文
[1]区块链技术发展现状与展望[J]. 袁勇,王飞跃. 自动化学报. 2016(04)
[2]基于MapReduce的Canopy-Kmeans改进算法[J]. 毛典辉. 计算机工程与应用. 2012(27)
[3]基于粒计算的K-medoids聚类算法[J]. 马箐,谢娟英. 计算机应用. 2012(07)
本文编号:3239573
本文链接:https://www.wllwen.com/guanlilunwen/sjfx/3239573.html