一种基于积分值的随机分层拜占庭容错共识方法

xiaoxiao2026-08-14  2


本发明涉及区块链,特别是涉及一种基于积分值的随机分层拜占庭容错的共识方法。


背景技术:

1、拜占庭容错共识算法(byzantine fault tolerance,bft)是分布式计算领域的重要研究方向,其目的是在分布式系统中,即使存在恶意节点(拜占庭节点)的情况下,也能够确保系统的一致性和可靠性。近年来,区块链技术的兴起,进一步推动了拜占庭容错算法的研究。传统的工作量证明(proof of work,pow)机制,尽管在分布式一致性方面取得了一定成功,但其高能耗和低效率问题备受诟病。已有的拜占庭容错算法中,pbft(practicalbyzantine fault tolerance)是最具代表性的一种。pbft通过多轮消息传递和投票机制,确保系统中的大多数节点可以达成一致。其主要优势在于能够在确定性时间内达成共识。然而,pbft在面对大规模节点时,其通信开销呈指数增长,导致系统性能显著下降。这是因为pbft需要每个节点与所有其他节点进行通信,当节点数量增加时,通信量急剧增加。此外,pbft在网络延迟和节点动态变化的环境中,也难以保证高效和稳定的运行。

2、为了解决这些问题,研究者们提出了各种改进方案。例如,rbft(redundantbyzantine fault tolerance)通过引入冗余机制来提高系统的容错能力,减少单点故障的影响;zyzzyva通过优化共识流程,减少了正常操作情况下的通信轮数,提高了系统的性能。然而,这些改进方案在实际应用中,仍存在一定的局限性。例如,rbft虽然提高了容错能力,但其复杂性增加,实际部署难度较大;zyzzyva在面临恶意节点攻击时,其性能优势不再明显。algorand是另一种改进的bft算法,其通过随机选择验证者组来参与共识过程,降低了通信开销,增强了系统的扩展性和安全性。尽管algorand在理论上具有较好的性能和安全性,但其实际效果仍有待大规模应用验证。

3、综上所述,拜占庭容错共识算法的研究涉及分布式系统的可靠性和一致性问题,其应用领域广泛且影响深远。已有的算法如pbft、rbft、zyzzyva和algorand在不同程度上解决了分布式系统中的一致性问题,但仍存在性能、扩展性和安全性等方面的不足。随着分布式系统和区块链技术的不断发展,如何在保证安全性的前提下,提高bft算法的性能和扩展性,仍是一个充满挑战问题。因此,需要设计一种更加安全高效的拜占庭容错共识方法。


技术实现思路

1、本发明的目的是基于现有拜占庭容错类共识算法的设计特点及局限性,提供一种基于积分值的随机分层拜占庭容错共识方法,该方法能够避免由单一主节点所造成的单点故障,提升系统的可用性,随机分层的共识策略可以有效降低通信开销、提高共识的效率和安全性,具有良好的可扩展性。

2、本发明的目的可以通过采用如下技术方案实现:

3、一种基于积分值的随机分层拜占庭容错共识方法,所述方法包括:

4、步骤s1、基于节点参与共识的历史行为和表现,对每个节点进行积分值评分,并在每轮共识结束后,根据节点的行为动态调整其积分值,参与共识且表现良好的节点会提升积分值,而表现不佳或有恶意行为的节点会降低积分值;

5、步骤s2、根据所述积分值,将各节点分为共识层和验证层,其中共识层的节点通过随机函数在具有较高积分值的节点中进行随机选取;

6、步骤s3、共识层节点接收客户端发送的请求消息,并就该消息在共识层内部节点之间达成初步共识结果,然后将结果发送给验证层节点进行验证,经验证层节点确认后,共识层将最终共识结果返回所述客户端。

7、本方案的有益效果是:通过对节点进行评分和分层,提升了共识效率和系统安全性;高积分值节点更有机会参与共识,减少恶意节点影响,并通过验证层确保最终结果的可靠性,该方法还降低了通信开销,增强了系统的容错性和动态适应性,激励节点保持良好行为,优化了整体性能。

8、进一步的,在步骤s1中,所述节点的积分值设有5个等级,分别为rredeem、rbetter、rreset、rinit、rmin,其中rredeem是积分兑换值,rbetter是较高积分值,rreset是重置积分值,rinit是初始积分值,rmin是最低积分值,低于该积分值的节点将被剔除出共识网络;

9、所述动态调整积分值,节点最初加入共识网络的初始积分值为rinit,随后基于各节点在共识过程中的行为,并依据节点当前所处积分等级来分配相应的积分奖励或惩罚;若节点成功参与完成一次共识,就通过积分奖励公式更新其积分值,随着节点积分值的不断积累,当其超过阈值rredeem时,节点就进行激励兑换,获得一定的手续费作为长期诚实参与共识的奖励,然后其积分值被重置为rreset,重新积累积分值;若共识失败则对存在拜占庭行为的节点进行积分惩罚,随着节点积分值的不断降低,当其低于最低阈值rmin时,节点积分值置为0,表明该节点将无法继续参与共识过程;

10、进一步的,所述积分奖励公式为:

11、

12、其中,ri是节点i的当前积分值,δrsuccess是节点成功参与共识后的积分值增量,wbonus是一个额外的奖励因子,根据节点的贡献大小来调整。

13、所述积分惩罚计算公式为:

14、

15、其中,δrfailure是节点共识失败后的积分值减量,wpenalty是一个额外的惩罚因子,根据节点的错误严重程度来调整。

16、上述进一步方案的有益效果:通过积分值动态调整和奖励惩罚机制,提升了共识网络的安全性和效率;节点通过诚实参与共识获得奖励,恶意行为受到惩罚,逐步筛选出高可信度节点,系统动态管理积分,激励节点保持良好行为,防止恶意节点长期存在,提高了系统的鲁棒性和容错性。

17、进一步的,所述步骤s2中,根据共识网络中各节点的积分值,节点被分为2层并负责不同的共识阶段,即共识层和验证层;共识层节点主要负责响应客户端请求并在内部就其达成初步共识结果,然后将结果发送给验证层确认,在验证层节点进行确认投票后,最后由共识层节点将最终结果反馈至客户端;其中共识层包括积分值在区间(rredeem,rbetter]的部分节点,验证层则包括除被选入共识层的节点外,积分值在区间(rredeem,rmin]的所有节点,其中,共识层由通过随机函数在积分值区间属于(rredeem,rbetter]的所有节点中随机选取出的k个节点组成;

18、当共识层中的节点通过积分兑换而积分值被重置或因存在错误行为积分值被降低至低于rbetter时,该节点将被降至验证层,同时随机选择验证层中满足积分值要求的节点进入共识层代替其位置;当验证层中的节点通过积累积分值超过rbetter后,有机会通过被随机选入共识层,而当节点由于多次发生不诚实的行为,积分值被降低至低于rmin时,该节点将被剔除出共识网络,限制参与共识;

19、所述随机选取为,通过随机函数,允许节点生成一个随机数,并提供一个可验证的证明,使其他节点可以验证该随机数的正确性和生成过程的真实性;具体选取过程为,首先每个节点生成一对密钥,并将公钥公布在网络中;然后每个节点使用一个具有实效性的参数m和自己的私钥作为输入,生成一个随机数和相应的证明,节点将这个随机数和证明广播给网络中的其他参与者;随后,网络中的每个节点收集所有其他节点生成的随机数和证明,并使用生成者的公钥、参数m以及随机数和证明,验证随机数的合法性,验证通过的随机数将被用于对节点进行排序,并且排序前k名的节点将被选为共识层节点,这个过程确保了对节点的分层是随机且不可预测的。

20、上述进一步方案的有益效果:通过积分值评分和随机分层,增强了节点的可信度,通过随机选取共识层节,以防止被预测和操控,并且可使用各节点提供的证明,对其生成的随机数进行验证,以证明是按照既定的步骤生成的,提升了共识过程的公平性和安全性,验证层确保共识结果的可靠性,增强了系统的鲁棒性和容错性;积分值动态调整激励节点保持良好行为,积分兑换并重置积分值,增强了共识层和验证层节点之间的流动性,促进了系统的良性循环,优化了系统的整体性能和效率。

21、进一步的,在步骤s3中,所述共识过程包括:

22、首先由客户端在请求阶段向共识层节点广播request消息,共识层中的每个节点对收到的消息进行验证后,然后在准备阶段相互广播prepare投票消息;共识层中各节点验证投票消息的正确性以及数量是否达到阈值,若投票消息有效数超过阈值,则将共识层达成的初步结果打包为confirm消息,并广播至验证层由共识层中的各节点进行验证并确认;验证层中的节点收集到一定数量经共识层广播来的消息后,对其达成的初步结果进行投票确认,回复commit确认消息给共识层节点;最后,共识层中的节点在接收到一定数量的有效确认消息后,表明共识层达成的初步共识被验证层确认,各节点在本地执行客户端请求,并返回reply响应消息给客户端,表明客户端请求完成。

23、上述进一步方案的有益效果:通过分层结构将共识节点分为共识层和验证层,各自负责不同的共识阶段,减少了各阶段参与的节点数量,同时降低了通信开销,提高了共识效率,客户端将请求广播至共识层节点,而共识层多节点的存在,避免了传统单一主节点所造成的单点故障,同时也减少了由此带来的频繁视图更换,系统的可用性和安全性得到了加强;积分值评分和多阶段验证机制增强了系统的鲁棒性和容错性,确保了共识结果的可靠性;动态调整和明确的激励机制鼓励节点保持良好行为,优化了分布式系统的整体性能和稳定性。


技术特征:

1.一种基于积分值的随机分层拜占庭容错共识方法,其特征在于,所述方法包括:

2.根据权利要求1所述基于积分值的随机分层拜占庭容错共识方法,其特征在于,在步骤s1中,所述节点的积分值设有5个等级,分别为rredeem、rbetter、rreset、rinit、rmin,其中rredeem是积分兑换值,rbetter是较高积分值,rreset是重置积分值,rinit是初始积分值,rmin是最低积分值,低于该积分值的节点将被剔除出共识网络;

3.根据权利要求2所述基于积分值的随机分层拜占庭容错共识方法,其特征在于,在步骤s2中,根据共识网络中各节点的积分值,节点被分为2层并负责不同的共识阶段,即共识层和验证层;共识层节点主要负责响应客户端请求并在内部就其达成初步共识结果,然后将结果发送给验证层确认,在验证层节点进行确认投票后,最后由共识层节点将最终结果反馈至客户端;其中共识层包括积分值在区间(rredeem,rbetter]的部分节点,验证层则包括除被选入共识层的节点外,积分值在区间(rredeem,rmin]的所有节点,其中,共识层由通过随机函数在积分值区间属于(rredeem,rbetter]的所有节点中随机选取出的k个节点组成;

4.根据权利要求1所述基于聚合签名的分组拜占庭容错共识方法,其特征在于,在步骤s3中,所述共识过程具体为:


技术总结
本发明提供一种基于积分值的随机分层拜占庭容错共识方法,涉及区块链共识技术领域。该方法基于节点参与共识的历史行为,对每个节点进行积分值评分,并引入了奖惩机制,在每轮共识结束后,根据节点的行为动态调整其积分值;根据所述积分值,将节点分为共识层和验证层,其中共识层的节点由随机函数在具有较高积分值的节点中随机选取;共识层节点接收客户端发送的请求消息,并就该消息在共识层内部节点之间达成初步共识结果,然后将结果发送给验证层节点进行验证,经验证层节点确认后,共识层将最终共识结果返回所述客户端。该方法可以有效降低通信开销,提高共识效率和安全性,具有良好的可扩展性,能够用于节点较多的大规模网络中。

技术研发人员:王勇,万前程,武一帆
受保护的技术使用者:桂林电子科技大学
技术研发日:
技术公布日:2024/9/23
转载请注明原文地址:https://www.famiwei.com/read-9026053.html

最新回复(0)