System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于但不限于联盟链共识,尤其涉及一种基于贡献度和分组的改进联盟链共识方法及系统。
技术介绍
1、在联盟链中,拜占庭容错(bft)和实用拜占庭容错共识算法(pbft)是被广泛认为具有代表性的共识算法。两者都致力于解决拜占庭将军问题。,拜占庭容错共识算法是一种关键的分布式系统设计技术,它通过提供复杂的算法和协议机制来解决节点出现故障或恶意行为的问题,从而确保系统的稳定性、可靠性和安全性。然而,拜占庭容错共识算法也面临一些挑战,包括实现算法相对复杂,涉及多轮的消息交换和复杂的协议机制;性能开销方面由于需要进行多轮的消息交换和复杂的计算过程,拜占庭容错会导致系统的性能和效率下降;以及随着参与节点数量的增加,拜占庭容错算法的通信开销和计算复杂性也会增加,从而限制了系统的可扩展性。实用拜占庭容错算法是基于拜占庭容错的基础理论发展出来的,但它引入了一些特定的优化和机制,使其更适合于解决实际分布式系统中的拜占庭将军问题。实用拜占庭容错共识算法具有容错性,意味着系统在一定程度上抵御攻击和错误,从而保持正常运行。但是该算法还存在通信复杂度高和主节点不支持选择、可扩展性低等问题,给工业应用带来了许多障碍。
2、针对这些问题在联盟链的实践中屡见不鲜,科研人员对此积极开展相关研究。现有的优化方案大致分为两类,控制节点数量和优化共识过程。2019年gan团队提出一种epbft共识协议,通过设置节点生命周期允许节点动态加入和退出,利用最长链原理改进了pbft主节点的选择方法,但它只能应用于少数节点的场景。同年liq团队提出采用k-med
3、鉴于上述分析,现有技术存在的急需解决的技术问题为:现有的共识研究主要追求优化一致性,忽略了性能。另外节点之间的消息机制和通信协议,导致通信开销增大、延迟增加,降低系统性能。同时,随着节点数量的增加,限制了系统扩展性和性能的表现,导致不适用于大规模网络,不利于区块链工业发展落地。
技术实现思路
1、针对现有技术存在的问题,本专利技术提供了一种基于贡献度和分组的改进联盟链(cg-pbft)共识方法及系统。
2、本专利技术是这样实现的,一种基于贡献度和分组的改进联盟链共识方法,包括:
3、s1,分组策略:通过共识集的分组,可以减少节点之间的通讯复杂性,使得每个组内节点之间更容易协作,提高网络吞吐量和效率;
4、s2,管理主节点选取阶段:在区块链网络中,引入基于贡献度的共识机制(poc),并通过管理主节点选举阶段选出贡献度最高的节点作为主节点,解决pbft存在的性能不均衡、安全性问题和资源消耗方面的难题;
5、s3,节点贡献计算:节点贡献度是衡量区块链上各个节点对整个网络贡献的一种度量方法,节点贡献度主要由节点数据贡献度和在线资源消耗两个方面构成;
6、s4,基于贡献度和分组的cg-pbft优化一致性协议:cg-pbft对共识集进行分组,引入poc贡献度算法选择主节点,对每个节点的贡献度进行初始化操作,同时保留pbft算法的阶段,增加主节点选举阶段,解决主节点随意选取的问题,进而减少通信次数;
7、s5,正确性分析:cg-pbft算法通过poc算法保证共识一致性,然后通过pbft算法保证节点的最终一致性;
8、s6,防御拜占庭攻击:cg-pbft算法第二阶段的安全性由pbft的特性来保证;
9、s7,抵御其他攻击的弹性:cg-pbft算法中,通过对共识节点进行合理分组,减少攻击者控制足够多节点来篡改共识的性。
10、进一步,s1中分组步骤具体如下:
11、(1)系统初始化:在区块链网络启动前,系统进行初始化,包括认证新加入的节点,并在这些节点中选择f个作为候选管理节点。这一步骤确保网络在开始时具有一组被认可的主节点候选人。
12、(2)隔离状态确认:确认网络中的节点尚未建立联系,处于隔离状态,这是为了确保在进行响应速度测试之前,所有节点处于公平、孤立的状态,避免外部因素的影响。
13、(3)组探测消息:预备主节点a∈(1,2,…n),假设为节点1(a)向网络中的其他节点发送组探测消息<子集,t1,s_a>,表明现在是时间t1,其数字签名是s_a.这些消息用于征求其他节点对其加入共识集群的意愿,启动节点间的通信和信息传递。
14、(4)请求加入共识集:在节点x(x∈1,2,...n)得到这个消息时,它首先对节点1(a)进行证明签名以确保这个消息是真实有效的。如果正确,然后节点x决定加入节点1的共识集群,向节点1发送一个加入请求<子集请求,t2,s_x>,其中t2是节点x当前时间戳,s_x是当前轮的数字签名。
15、(5)处理加入请求:节点a接收到加入请求后,首先检查它的共识集群成员数是否已经达到上限nmax,如果群组人数未满并且节点x的信息验证通过,节点1同意节点x的加入请求,将节点x加入到其共识集成员列表中。如果节点1的共识集群成员数已满或者节点x的信息验证不通过,节点1将发送一个拒绝消息给节点x,节点x可以尝试向其他预备主节点发送加入请求。
16、(6)寻找下一个预备主节点:如果节点2发送拒绝消息给节点x,那么节点x请求另一个预备主节点,希望加入其共识集群。这一步骤确保节点可以通过多次尝试找到适合自己的共识集群。并重复上述步骤。
17、(7)分组结束和信息广播:当所有节点都尝试加入共识集群后,每个准备管理节点将广播它们的共识集群成员列表,进行验证,然后将这个信息下发给它们各自的群组内部成员,以完成分组确认,如图2所示。这确保了每个节点都能最终找到自己所属的共识集群,并确保每个共识集群的成员列表是最新和准确的。
18、进一步,s2具体包括:在管理主节点选择阶段,当共识集的分组完成后,标志进入基于贡献度的主节点选举。首先每个组内的节点将根据其在网络中的贡献度进行综合评估,这一贡献度评估可以基于多种指标,包括节点的在线时长、节点的数据量贡献度、节点的在线资源消耗因素;依据这些指标,计算每个节点的贡献度;接着每个节点将被赋予一个相应的贡献度分数,根据节点的贡献度分数,选出在该组内具有最高贡献度的节点作为主节点,这个选举过程可以采用投票、排名或者其他机制来完成;节点会将自己的贡献度分数广播给网络中的其他节点,其他节点根据这些信息进行排名,最终选出贡献度最高的节点作为主节点;一旦每个组选出主节点,就进入组外共识。
19、进一步,s本文档来自技高网...
【技术保护点】
1.一种基于贡献度和分组的改进联盟链共识方法,其特征在于,包括:
2.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,S1中分组步骤具体如下:
3.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,S2具体包括:
4.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,S3具体包括:
5.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,S4具体包括:
6.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,S5具体包括:
7.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,S6具体包括:
8.一种实现如权利要求1~7任意一项所述基于贡献度和分组的改进联盟链共识方法的基于贡献度和分组的改进联盟链共识系统,包括:
9.一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如权利要求1~7任意一项所述的基于贡献度和分组的改进联盟
10.一种信息数据处理终端,信息数据处理终端包括如权利要求8所述的基于贡献度和分组的改进联盟链共识系统。
...【技术特征摘要】
1.一种基于贡献度和分组的改进联盟链共识方法,其特征在于,包括:
2.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,s1中分组步骤具体如下:
3.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,s2具体包括:
4.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,s3具体包括:
5.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,s4具体包括:
6.如权利要求1所述的基于贡献度和分组的改进联盟链共识方法,其特征在于,s5具...
【专利技术属性】
技术研发人员:宋超越,韩益亮,李鱼,吴旭光,
申请(专利权)人:中国人民武装警察部队工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。