System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于社区发现的改进PBFT共识算法及系统技术方案_技高网

一种基于社区发现的改进PBFT共识算法及系统技术方案

技术编号:41291298 阅读:5 留言:0更新日期:2024-05-13 14:42
本发明专利技术公开一种基于社区发现的改进PBFT共识算法及系统,涉及区块链节点共识算法领域,所述算法包括:构建区块链网络;利用Louvain算法对所述区块链网络进行社区划分,得到多个划分社区;对每一所述社区应用PBFT共识算法进行社区内共识,社区内达成共识后,应用所述PBFT共识算法进行社区间共识。本发明专利技术利用Louvain社区发现算法对区块链网络进行社区划分。采用"先社区内共识,后社区间共识"的策略,降低大规模共识中的复杂度。该算法能够显著降低大规模区块链网络的通信复杂度,缩短共识达成时间,提高系统的吞吐量。

【技术实现步骤摘要】

本专利技术涉及区块链共识算法领域,特别是涉及一种基于社区发现的改进pbft共识算法及系统。


技术介绍

1、相比之下,区块链的商业应用通常无法承担巨额资源消耗,且对吞吐量有更高的要求,特别在实时交易应用中,用户期望能够快速完成交易确认,因此需要更低的延迟。尤其是在大规模区块链网络中,对系统的吞吐量和延迟也提出了更高的要求。但是,如何优化区块链的共识机制以适应大规模网络环境的研究却相对匮乏。

2、在当今区块链网络中,特别是面对节点数量不断增加和交易请求日益复杂化的环境,实现高效且可靠的共识算法已成为一个紧迫和关键的问题。传统的pbft(practicalbyzantine fault tolerance)算法在处理小规模网络时,以其优良的容错性和稳定性得到了广泛的认可。然而,在面对大规模节点的环境中,该算法的性能表现出明显的局限性。在仅有四个节点的情况下,pbft算法就需要高达22次的通信交换,而随着节点数量的增加,这个数字会呈指数级别递增,使得整体通信效率大幅度降低。如何有效提升pbft算法的共识效率,成为区块链应用面临的主要挑战。


技术实现思路

1、本专利技术的目的是提供一种基于社区发现的改进pbft共识算法及系统,利用louvain社区发现算法对区块链网络进行社区划分。采用"先社区内共识,后社区间共识"的策略,降低大规模共识中的复杂度。该算法能够显著降低大规模区块链网络的通信复杂度,缩短共识达成时间,提高系统的吞吐量。

2、为实现上述目的,本专利技术提供了如下方案:

3、一种基于社区发现的改进pbft共识算法,所述算法包括:

4、构建区块链网络;

5、利用louvain算法对所述区块链网络进行社区划分,得到多个划分社区;

6、对每一所述社区应用pbft共识算法进行社区内共识,社区内达成共识后,应用所述pbft共识算法进行社区间共识。

7、可选的,利用louvain算法对所述区块链网络进行社区划分,得到多个社区,具体包括:

8、计算所述区块链网络中各节点的信用值和各节点间的业务关联度,以所述节点间的业务关联度为所述节点间的边的权重,以节点的信用值为节点的属性相似度权重,来定义模块度的计算表达式;设置所述模块度的约束条件,将所述区块链网络中每个节点作为一个社区;

9、将每个节点分别移动到每个邻居节点所在社区;所述邻居节点为与所述节点具有连接边的节点;

10、计算每个邻居节点所在社区对应的移动前后的模块度变化量;

11、提取所述模块度变化量的最大值;若所述模块度变化量的最大值大于0,则将当前移动的节点分配到目标邻居节点所在社区;所述目标邻居节点所在社区为所述模块度变化量的最大值对应的所述邻居节点所在社区;

12、返回步骤“将每个节点分别移动到每个邻居节点所在社区”,直至所有节点的所属社区不再变化,得到划分社区;

13、将每一当前所述划分社区视为一个新节点,当前所述划分社区内各节点的信用值的平均值转化成新节点的信用值,当前所述划分社区内各节点之间的权重转化为新节点的权重,当前所述划分社区间的边权重转化为新节点间的边权重;

14、返回步骤“将每个节点分别移动到每个邻居节点所在社区”,直至整体模块度不再变化;

15、从所有迭代过程中的社区划分结果中筛选出满足所述模块度的约束条件的社区划分结果,得到最终划分后的社区。

16、可选的,所述信用值的计算公式为:

17、mi=ω1a1+ω2a2

18、其中,

19、mi代表节点i的信用值,ω1、ω2是权重,a1、a2是当前信用周期节点i的共识参与度和节点i共识成功率;ci是节点i一个信用周期内的共识次数,bi是一个信用周期内总共识次数;csi是节点i一个信用周期内的共识成功次数。

20、可选的,所述业务关联度的计算公式为:

21、

22、其中,

23、式中,e^(-deltat/t)是一个时间衰减因子,deltat代表当前的时间与每一轮共识完成的时间的差值,t是一个共识周期,时间衰减因子e^(-deltat/t)的值在0到1之间,其值随着deltat的增大而减小;sij是节点i和节点j之间的交易次数,mij是节点i和节点j之间的交易金额,fij是节点i和节点j之间的交易频率;;α1、β1、γ是权重系数。

24、可选的,所述模块度的计算表达式为:

25、

26、其中,

27、式中,wij是节点i和节点j之间边的权重,即节点之间的业务关联度;ki和kj是与节点i和节点j相连的所有的边的权重之和;wi和wj是节点i和节点j的信用值;m是区块链网络中所有的边的权重之和;参数α和β用来调整业务关联度和信用值的影响权重;sij表示节点的属性相似度,本文中指节点i和节点j在共识中的每一个信用周期r的信用值的相似度;mir和mjr分别表示节点i和节点j的第r个信用周期的信用值。

28、可选的,所述模块度的约束条件为:

29、

30、其中,q”表示预设的模块度约束值;nc是每一个社区的节点数量,navg是预设的社区内节点数量平均值,∑是对所有社区的求和,λ是一个正的惩罚系数。

31、可选的,对每一所述社区应用pbft共识算法进行社区内共识,社区内达成共识后,应用所述pbft共识算法进行社区间共识,具体包括:

32、客户端向每一社区主节点发送<request,o,t,c>请求;request为包含消息内容m以及消息的摘要d(m),o表示请求的具体操作,t表示发送请求时客户端追加的时间戳,c表示客户端标识;客户端对<request,o,t,c>请求进行签名;每个所述社区主节点为每个社区内信用值最高的节点;

33、每一所述社区主节点在收到客户端的请求后,校验客户端发送的请求消息签名是否正确;如果签名正确,每一所述社区主节点给客户端发送的请求消息分配一个编号;然后广播一条<<pre-prepare,v,n,d>,m>消息给所在社区内其他社区内节点,v表示视图编号,编号n用于对客户端的请求进行排序,d表示客户端消息的摘要;同时,每一所述社区主节点对<<pre-prepare,v,n,d>,m>消息进行签名;所述副本节点为社区内非社区主节点;

34、每一所述社区内节点收到对应的所述社区主节点的pre-prepare消息,校验消息签名是否正确、是否已经收到了一条在同一视图下并且编号相同,但是签名不同的信息、消息中的d与m的摘要是否一致;如果请求校验正确,向所在社区内的其他社区内节点发送一条<prepare,v,n,d,i>消息,并对<prepare,v,n,d,i>消息进行签名;i表示当前发送消息的节点编号;

35本文档来自技高网...

【技术保护点】

1.一种基于社区发现的改进PBFT共识算法,其特征在于,所述算法包括:

2.根据权利要求1所述的一种基于社区发现的改进PBFT共识算法,其特征在于,利用Louvain算法对所述区块链网络进行社区划分,得到多个社区,具体包括:

3.根据权利要求2所述的一种基于社区发现的改进PBFT共识算法,其特征在于,所述信用值的计算公式为:

4.根据权利要求3所述的一种基于社区发现的改进PBFT共识算法,其特征在于,所述业务关联度的计算公式为:

5.根据权利要求4所述的一种基于社区发现的改进PBFT共识算法,其特征在于,所述模块度的计算表达式为:

6.根据权利要求5所述的一种基于社区发现的改进PBFT共识算法,其特征在于,所述模块度的约束条件为:

7.根据权利要求1所述的一种基于社区发现的改进PBFT共识算法,其特征在于,对每一所述社区应用PBFT共识算法进行社区内共识,社区内达成共识后,应用所述PBFT共识算法进行社区间共识,具体包括:

8.一种基于社区发现的改进PBFT共识系统,其特征在于,所述系统包括:p>

9.根据权利要求8所述的一种基于社区发现的改进PBFT共识系统,其特征在于,所述社区划分模块具体包括:

...

【技术特征摘要】

1.一种基于社区发现的改进pbft共识算法,其特征在于,所述算法包括:

2.根据权利要求1所述的一种基于社区发现的改进pbft共识算法,其特征在于,利用louvain算法对所述区块链网络进行社区划分,得到多个社区,具体包括:

3.根据权利要求2所述的一种基于社区发现的改进pbft共识算法,其特征在于,所述信用值的计算公式为:

4.根据权利要求3所述的一种基于社区发现的改进pbft共识算法,其特征在于,所述业务关联度的计算公式为:

5.根据权利要求4所述的一种基于社区发现的改进pbft共识算法,其特征在...

【专利技术属性】
技术研发人员:任明仑韩涛朱王吴淑慧张育萌奉中华
申请(专利权)人:合肥工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1