System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及基于评分机制的pbft共识算法,其属于区块链的。
技术介绍
1、联盟链是由很多机构或组织各自管理一个或多个节点的区块链,只有系统中的机构才能进行交易的读写,交易数据可以被共同记录。在实际生活中,联盟链被广泛应用于供应链项目中。然而,共识算法的计算效率在很大程度上取决于参与共识的节点数量,过多的节点会显著降低系统性能。pbft共识算法解决了拜占庭式容错问题,即使系统中存在一定数量的拜占庭节点,系统也能正常运行,但该算法最多只能容忍三分之一的恶意节点。在节点数量合理的联盟系统中,pbft共识算法工作高效,大多数小型联盟系统选择它作为共识算法。然而,随着节点数量的增加,pbft共识算法的缺点逐渐变得明显:
2、(1)在pbft共识过程中,节点之间需要频繁地进行通信,网络的通信复杂度达到o(n2)。当节点数量增加时,系统的性能将迅速下降,因此不适用于节点数量较大的场景。
3、(2)pbft共识算法是基于拜占庭将军问题的解决方案,节点的身份全部相等,主节点是在身份同等的节点中随机选取,所有节点在视图切换中都有机会成为主节点,这样会导致频繁视图切换,浪费计算资源,降低系统的共识效率。
技术实现思路
1、尽管pbft共识算法已经被广泛应用,因为它可以解决拜占庭问题并且相对较为高效,但在应对覆盖环节多、交易量大的溯源领域时,仍然存在共识延迟高、吞吐量低和性能差的问题。因此,在本章提出了一种基于评分机制的pbft共识算法。该算法引入了评分机制对节点进行分级,并优
2、为实现以上目的,本专利技术通过以下技术方案予以实现:基于评分机制的pbft共识算法,包括以下步骤:
3、s1.设置节点的初始积分,根据评分机制系统确定共识网络中的节点积分,并依据节点分级得到优质节点、备选节点和普通节点,从优质节点中选出主节点;
4、节点初始积分设置为:
5、ci表示编号为i节点的积分值,n表示网络中节点个数;网络初始化评分时,将所有企业按照积分进行排序,取积分前节点作为优质节点,积分在到区间内的节点为备选节点,积分的后节点为普通节点;若ci=0,则会被认为是无效节点,并且不再参与共识过程;如果需要再次加入网络,则需要其他节点的重新认证;
6、s2.客户端提交请求后,会检查主节点是否为拜占庭节点;如果主节点是拜占庭节点,则会执行视图切换协议重新选举主节点,并且会对原主节点降级,在视图切换后,需要执行检查点协议丢弃未完成的消息,将各节点的状态恢复到视图转换之前的状态;如果主节点不是拜占庭节点,则客户端的请求将正常进行;
7、s3.客户端的请求会被发送到主节点,如果主节点不是拜占庭节点,则请求会正常执行共识协议;当共识协议执行成功后,各个节点会达成共识并记录共识结果的日志,并将结果返回给客户端;
8、共识协议的共识过程为:
9、i)request阶段:客户端向主节点发送请求<request,o,t,c>;
10、ii)proposal阶段:主节点将提议消息<<proposal,v,n,d,s>,m>发送至共识节点,其中v是当前的视图,n是区块编号,d是请求消息的摘要,s是节点的积分,m是客户端请求消息;
11、iii)commit阶段:副本节点收到提案消息<commit,v,n,d,i,s>,i为节点编号,每个节点会广播自己的消息,同时也接收其他节点广播的执行消息;每个节点需要验证所有的消息,直至收到2f+1条通过验证的消息时,共识达成,节点进入响应阶段;
12、iv)reply阶段:各节点向客户端发送消息<reply,v,t,c,i,r>,其中r为客户端请求的执行结果;
13、s4.完成响应后,对完整完成共识的节点加分,未完整完成共识的节点减分,此过程完成对节点积分的更新和积分等级的更新;
14、积分增加:根据节点处于的评级不同来增加不同分值,其中优质节点积分增加规则如公式(1)所示:
15、c′i=ci+ci×k1 (1)
16、备选节点积分增加规则如公式(2)所示:
17、c′i=ci+ci×k2 (2)
18、普通节点积分增加规则如公式(3)所示:
19、c′i=ci+ci×k3 (3)
20、其中c′i为节点i更新后的积分值,ci为更新前的积分值,k为固定常数,由联盟链中各个节点讨论决定,用于调整节点积分的变化幅度;通过设置k1<k2<k3,鼓励低等级节点在完成完整的共识行为后比高等级节点获得更多积分;
21、积分减少:根据节点处于的评级不同来减少不同分值,其中优质节点减少规则如公式(4)所示:
22、c′i=ci-m1 (4)
23、备选节点积分减少规则如公式(5)所示:
24、c′i=ci-m2 (5)
25、普通节点积分减少规则如公式(6)所示:
26、c′i=ci-m3 (6)
27、其中,m为固定常数,由联盟链中各个节点讨论决定,用于调整节点积分的变化幅度;通过设置m1>m2>m3,使得高等级节点在未完成完整共识过程的情况下会被扣除更多积分;
28、s5.在节点更新积分后,该节点会生成区块并将其打包,然后执行周期性的检查点协议;该协议的作用是清理各节点在当前请求下的过时消息,释放节点的空间资源;经过共识协议的执行,各节点将达成共识并将结果记录在日志中,然后将结果返回给客户端;至此,请求完成。
29、本专利技术的有益效果为:传统的pbft共识算法存在极大的通信消耗,不适用本溯源系统的多节点环境。并且主节点从所有节点中随意选取,不能保证系统的安全性,同时可能会频繁地引起视图变更,导致更大的通信开销。本申请提出的基于评分机制的pbft共识算法主要进行了如下优化:
30、(1)引入评分机制。不同企业在综合实力和社会信誉方面存在差异,一般来说,实力更强的企业拥有更好的性能和稳定性。因此,在供应链中可以将企业的综合实力和社会信誉作为初始积分评价指标,根据积分将节点分为优质节点、备选节点和普通节点。
31、通过引入节点评分机制,可以对节点进行评估,更可靠的节点有更高的机会被选为主节点,同时评分机制可以根据节点的处理速度和可用性来评估节点,提高系统效率。评分机制还可以检测节点的恶意行为并进行处罚。例如,如果某个节点多次发布错误信息或出现拜占庭行为,评分会降低,从而减少其成为主节点的机会,这种机制可以防止节点故意干扰系统。
32、(2)在主节点选举方面,会优先从优质节点中选举主节点,当发生视图切换时,也会优先从优质节点中选举主节点,并且对于原主节点将直接根据积分将节点分级降低一级,当没有可用优质节点时才选择从备选节点中本文档来自技高网...
【技术保护点】
1.基于评分机制的PBFT共识算法,其特征在于,包括以下步骤:
【技术特征摘要】
1.基于评分机制的pbft共识算...
【专利技术属性】
技术研发人员:魏晓丹,徐毅,刘伟哲,周文书,
申请(专利权)人:大连民族大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。