一种基于复杂网络的角度的区块链共识算法
未命名
10-09
阅读:105
评论:0
1.本发明涉及区块链共识算法领域,尤其是基于复杂网络角度设计的区块链共识算法。
背景技术:
2.区块链具有去中心化结构、透明可信、时间序列和不可篡改等特点,一直被认为是一种很有潜力的技术。共识算法作为区块链的核心技术之一,保证分布式系统的数据一致性,同时直接影响着区块链系统的可扩展性。实用拜占庭容错算法(practical byzantine fault tolerance,pbft)是目前联盟链最常用的算法之一。但其同样存在着下列不足之处,大大限制其发展与应用。首先,pbft算法遵循的视图切换协议随机选取主节点,若恶意节点的获得主节点权限,同时未设置节点的惩罚机制,严重威胁着系统的安全;其次,在pbft算法的共识过程中,所有节点都参与共识,导致了通信复杂度较高。
技术实现要素:
3.本发明的目的在于:针对现有实用拜占庭容错算法的选取主节点随机导致安全性低,共识通信复杂度高等问题,提供了一种基于复杂网络的区块链共识算法,已解决目前实用拜占庭算法的不足。
4.为了解决上述问题,本方案从复杂网络角度设计区块链共识算法,所述基于复杂网络的区块链共识算法设计方案包括以下步骤:
5.s1:初始化节点动态信用分。所述节点信用分是动态的,由节点基础配置评分、重标的含时pagerank算法计算评分和恶意节点惩罚机制计算评分组成。新加入区块链网络的节点动态信用分为节点基础配置评分,后续通过在区块链网络中行为进行动态调整。
6.s2:构建共识群组。假设区块链网络中节点数为n,n个节点的信用分按照从大到小一次排列,构建信用分序列。选取信用分序列前an个节点构建共识群组,其中a为可调参数,且0《a《1。
7.s3:发起共识。所述共识是指通过共识算法使得区块链网络节点达成一致性的一种实现手段和过程。
8.s4:惩罚机制惩罚恶意节点。所述惩罚机制是对节点参与共识过程中对不诚实节点或恶意节点进行信用分的惩罚,拒绝恶意节点在短时间内再次加入共识群组。惩罚的行为一般包括宕机、恶意修改数据等。
9.s5:更新网络节点的影响力评分。通过区块链网络中达成共识的网络交易、通信数据等,使用重标含时的pagerank算法更新节点的影响力评分。
10.s6:更新节点的动态信用分。一轮共识之后,部分节点影响力评分发生变化,同时也可能收到了惩罚机制的制约,重新评估节点在区块链网络中的重要性,调整节点的动态信用分,并继续s2步骤。
11.s1所述的节点动态信用分是每次共识结束之后要及时进行调整的。特征在于,考
虑到节点在共享场景下影响力的重要性,影响力越高,作恶成本就越高,同时引入节点基础配置评分、重标的含时pagerank算法和恶意节点的惩罚机制,加权得到节点i在系统中的动态信用评分用来评估节点的可靠性。节点i的动态信用评分ci可以表示为:
12.ci=mbi+na
i-p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ⑴
13.其中,bi为节点i的基础配置评分,ai为节点i的影响力评分且初始值为0,m和n分别为bi和ai加权系数,0≤m,n≤1且m+n=1,p为惩罚量且p≥0。
14.s2所述共识群组得到n个节点在系统中的动态信用评分后进行排序,选取an节点构建共识群组,其中a为可调节参数(0<a<1),允许部分节点参与共识,动态信誉分排名靠后的节点将无法参与共识。与此同时,选取动态信用评分最高的节点作为主节点,保证了主节点的可靠性。
15.s3所述的共识阶段能够保证在满足分布式系统活性和安全性的前提下,允许(an-1)/3个节点出错,例如数据丢失、宕机等,其中an为区块链网络中所有参与共识过程的节点数量,即该算法能够保证系统在(an-1)/3个节点出现故障或恶意操作的情况下,依然能正确达成分布式共识。
16.s4所述恶意节点惩罚机制主要作用就是抑制恶意节点的信用评分,避免恶意节点成为主节点或加入到共识群组中,保证共识的有效达成。特征在于,节点惩罚机制通过设置非负惩罚量p来限制恶意节点的信用评分,为了保证节点的信用评分有效性,给出节点i的非负惩罚量p明确定义:
[0017][0018]
其中,ci为上一轮视图中节点i的信用分,是非共识群组的影响力评分的均值,惩罚量整体上确保了发生恶意行为的节点处于非共识组的中等位置,增加了作恶成本。
[0019]
s5所述的节点影响力的评分由节点在区块链共享网络中的出度和入度体现的,但是入度是节点影响力的决定性因素,也就是说一个节点被许多其他节点请求的话说明这个节点比较重要,pagerank值相对较高。一个节点的影响力等于所有入链集合的节点加权影响力之和。用公式表示为:
[0020][0021]
其中,w为待评估的节点,pr表示pagerank值,inw为节点w的入链集合,l(v)代表节点v的出链数量。对于任意入链集合中的节点v,能够给节点w带来的影响力是其自身影响力pr(v)除以v页面出链的数量,即节点v把影响力pr(v)平均分配给了它的出链。这样统计能够继承节点v的影响力,得到的总和就是节点w的影响力,即为ai。
附图说明
[0022]
图1基于复杂网络的共识算法流程图
[0023]
图2动态调整共识群组示意图
[0024]
图3区块链网络中某一时刻下的共享结构
[0025]
图4基于复杂网络的共识算法与pbft的容错性比较
[0026]
图5节点影响力排名图6动态信用分随共识次数的变化
具体实施方式
[0027]
下面结合附图和实施例对本发明进一步说明,本发明包括但不限于下述实例。如图1所示,本发明提供了一种基于复杂网络角度的区块链共识算法,具体实现过程如下:
[0028]
s1:初始化节点动态信用分。所述节点信用分是动态的,由节点基础配置评分、重标的含时pagerank算法计算评分和恶意节点惩罚机制计算评分组成。新加入区块链网络的节点动态信用分为节点基础配置评分,后续通过在区块链网络中行为进行动态调整。
[0029]
s2:构建共识群组。假设区块链网络中节点数为n,n个节点的信用分按照从大到小一次排列,构建信用分序列。选取信用分序列前an个节点构建共识群组,其中a为可调参数,且0《a《1。
[0030]
s3:发起共识。所述共识是指通过共识算法使得区块链网络节点达成一致性的一种实现手段和过程。
[0031]
s4:惩罚机制惩罚恶意节点。所述惩罚机制是对节点参与共识过程中对不诚实节点或恶意节点进行信用分的惩罚,拒绝恶意节点在短时间内再次加入共识群组。惩罚的行为一般包括宕机、恶意修改数据等。
[0032]
s5:更新网络节点的影响力评分。通过区块链网络中达成共识的网络交易、通信数据等,使用重标含时的pagerank算法更新节点的影响力评分。
[0033]
s6:更新节点的动态信用分。一轮共识之后,部分节点影响力评分发生变化,同时也可能收到了惩罚机制的制约,重新评估节点在区块链网络中的重要性,调整节点的动态信用分,并继续s2步骤。
[0034]
s1所述的节点动态信用分是每次共识结束之后要及时进行调整的。考虑到节点在共享场景下影响力的重要性,影响力越高,作恶成本就越高,同时引入节点基础配置评分、重标的含时pagerank算法和恶意节点的惩罚机制,加权得到节点i在系统中的动态信用评分用来评估节点的可靠性。节点i的动态信用评分ci可以表示为:
[0035]ci
=mbi+na
i-p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ⑴
[0036]
其中,bi为节点i的基础配置评分,ai为节点i的影响力评分且初始值为0,m和n分别为bi和ai加权系数,0≤m,n≤1且m+n=1,p为惩罚量且p≥0。
[0037]
如图2所示,s2所述共识群组得到n个节点在系统中的动态信用评分后进行排序,选取an节点构建共识群组,其中a为可调节参数(0<a<1),允许部分节点参与共识,动态信誉分排名靠后的节点将无法参与共识。与此同时,选取动态信用评分最高的节点作为主节点,保证了主节点的可靠性。
[0038]
s3所述的共识阶段能够保证在满足分布式系统活性和安全性的前提下,允许(an-1)/3个节点出错,例如数据丢失、宕机等,其中an为区块链网络中所有参与共识过程的节点数量,即该算法能够保证系统在(an-1)/3个节点出现故障或恶意操作的情况下,依然能正确达成分布式共识。
[0039]
s4所述恶意节点惩罚机制主要作用就是抑制恶意节点的信用评分,避免恶意节点
成为主节点或加入到共识群组中,保证共识的有效达成。节点惩罚机制通过设置非负惩罚量p来限制恶意节点的信用评分,为了保证节点的信用评分有效性,给出节点i的非负惩罚量p明确定义:
[0040][0041]
其中,ci为上一轮视图中节点i的信用分,是非共识群组的影响力评分的均值,惩罚量整体上确保了发生恶意行为的节点处于非共识组的中等位置,增加了作恶成本。
[0042]
如图3所示,s5所述的节点影响力的评分由节点在区块链共享网络中的出度和入度体现的,但是入度是节点影响力的决定性因素,也就是说一个节点被许多其他节点请求的话说明这个节点比较重要,pagerank值相对较高。一个节点的影响力等于所有入链集合的节点加权影响力之和。用公式表示为:
[0043][0044]
其中,w为待评估的节点,pr表示pagerank值,inw为节点w的入链集合,l(v)代表节点v的出链数量。对于任意入链集合中的节点v,能够给节点w带来的影响力是其自身影响力pr(v)除以v页面出链的数量,即节点v把影响力pr(v)平均分配给了它的出链。这样统计能够继承节点v的影响力,得到的总和就是节点w的影响力,即为ai。
[0045]
假设系统中存在节点总数为n,pbft算法最多可以容忍恶意节点数为(n-1)/3,而基于复杂网络的共识算法引入了共识群组的概念,该算法最多容忍恶意节点数为(an-1)/3+an,当a=0.5或a=0.6时,pbft和基于复杂网络的共识算法的容错性比较如图4所示,随着节点数的增加,基于复杂网络的共识算法的容错性表现力越高。由于共识群组考虑到了某节点在系统中的影响力因素,在提高了其他节点对主节点认同的同时,增大了恶意节点的破坏成本,在一定程度上可以避免女巫攻击带来的风险。
[0046]
图3和图5展示了某一时刻系统共享状态下的网络结构和影响力评分,其中node_1和node_2节点发挥了显著作用。四种不同节点行为导致了它们的动态信用分的不同变化。如图6所示,在node_2和node_3节点发生恶意行为之后,即使其影响力评分较高,但信用分明显变化,并且低于共识群组最低信用分水平,暂时无法加入共识群组。由此可见,该算法以信用分为核心,设置惩罚机制,既可以有效的降低恶意行为的风险,也可以保证所有节点加入共识群组或竞争主节点的公平性。
[0047]
实验结果表明,基于复杂网络的共识算法在可靠性上明显提升,容错性更高,体现了节点在共享系统中竞争的公平性,并且极大的降低了共识的通信数量,提高了共识效率。
技术特征:
1.一种基于复杂网络的区块链共识算法,其特征在于所述区块链共识算法包括以下步骤:s1:初始化节点动态信用分,所述节点信用分是动态的,由节点基础配置评分、重标的含时pagerank算法计算评分和恶意节点惩罚机制计算评分组成,新加入区块链网络的节点动态信用分为节点基础配置评分,后续通过在区块链网络中行为进行动态调整;s2:构建共识群组,假设区块链网络中节点数为n,n个节点的信用分按照从大到小一次排列,构建信用分序列,选取信用分序列前an个节点构建共识群组,其中a为可调参数,且0<a<1;s3:发起共识,所述共识是指通过共识算法使得区块链网络节点达成一致性的一种实现手段和过程;s4:惩罚机制惩罚恶意节点,所述惩罚机制是对节点参与共识过程中对不诚实节点或恶意节点进行信用分的惩罚,拒绝恶意节点在短时间内再次加入共识群组,惩罚的行为一般包括宕机、恶意修改数据等;s5:更新网络节点的影响力评分,通过区块链网络中达成共识的网络交易、通信数据等,使用重标含时的pagerank算法更新节点的影响力评分;s6:更新节点的动态信用分,一轮共识之后,部分节点影响力评分发生变化,同时也可能收到了惩罚机制的制约,重新评估节点在区块链网络中的重要性,调整节点的动态信用分,并继续s2步骤;s1所述的节点动态信用分是每次共识结束之后要及时进行调整的,考虑到节点在共享场景下影响力的重要性,影响力越高,作恶成本就越高,同时引入节点基础配置评分、重标的含时pagerank算法和恶意节点的惩罚机制,加权得到节点i在系统中的动态信用评分用来评估节点的可靠性,节点i的动态信用评分c
i
可以表示为:c
i
=mb
i
+na
i-p
⑴
其中,b
i
为节点i的基础配置评分,a
i
为节点i的影响力评分且初始值为0,m和n分别为b
i
和a
i
加权系数,0≤m,n≤1且m+n=1,p为惩罚量且p≥0;s2所述共识群组得到n个节点在系统中的动态信用评分后进行排序,选取an节点构建共识群组,其中a为可调节参数(0<a<1),允许部分节点参与共识,动态信誉分排名靠后的节点将无法参与共识,与此同时,选取动态信用评分最高的节点作为主节点,保证了主节点的可靠性;s3所述的共识阶段能够保证在满足分布式系统活性和安全性的前提下,允许(an-1)/3个节点出错,例如数据丢失、宕机等,其中an为区块链网络中所有参与共识过程的节点数量,即该算法能够保证系统在(an-1)/3个节点出现故障或恶意操作的情况下,依然能正确达成分布式共识;s4所述恶意节点惩罚机制主要作用就是抑制恶意节点的信用评分,避免恶意节点成为主节点或加入到共识群组中,保证共识的有效达成,节点惩罚机制通过设置非负惩罚量p来限制恶意节点的信用评分,为了保证节点的信用评分有效性,给出节点i的非负惩罚量p明确定义:
其中,c
i
为上一轮视图中节点i的信用分,是非共识群组的影响力评分的均值,惩罚量整体上确保了发生恶意行为的节点处于非共识组的中等位置,增加了作恶成本;s5所述的节点影响力的评分由节点在区块链共享网络中的出度和入度体现的,但是入度是节点影响力的决定性因素,也就是说一个节点被许多其他节点请求的话说明这个节点比较重要,pagerank值相对较高,一个节点的影响力等于所有入链集合的节点加权影响力之和,用公式表示为:其中,w为待评估的节点,pr表示pagerank值,in
w
为节点w的入链集合,l(v)代表节点v的出链数量,对于任意入链集合中的节点v,能够给节点w带来的影响力是其自身影响力pr(v)除以v页面出链的数量,即节点v把影响力pr(v)平均分配给了它的出链,这样统计能够继承节点v的影响力,得到的总和就是节点w的影响力,即为a
i
。
技术总结
本发明所述基于复杂网络的区块链共识算法针对实用拜占庭容错算法的复杂度高、选取主节点随机性强和安全性低等缺点。所述基于复杂网络的区块链共识算法充分考虑到在共享系统下节点的影响力因素,通过引入基础配置信息、重标含时的PageRank算法和惩罚机制来设定节点在复杂共享网络中的信用分,根据信用分的高低构建共识群组并选取主节点。通过实例展示了所述基于复杂网络的区块链共识算法在可靠性上明显提升,容错性更高,体现了节点在共享系统中竞争的公平性,并且极大的降低了共识的通信数量,提高了共识效率。提高了共识效率。提高了共识效率。
技术研发人员:崔梦天 董国庆 姜玥 谢琪 罗洪
受保护的技术使用者:西南民族大学
技术研发日:2023.07.25
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
