System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链,特别是涉及一种共识算法切换方法。
技术介绍
1、区块链是一种去中心化的分布式账本技术,各个节点在共识算法的指导下对区块链进行验证和记录。然而,在现有的区块链系统中,一旦共识算法被确定,就无法更改,这可能会导致某些节点的不诚实行为对整个网络产生负面影响。因此,有必要发展一种能自动切换共识算法的系统和方法。目前现有的共识算法切换方案缺乏有效的触发机制,且切换条件不够灵活。
2、区块链在进行共识算法切换时,需要一个触发机制来引起协议的变化,但目前并没有一个有效的触发机制。以申请号为cn111726370a的一种自动切换区块链共识算法的方法、系统为例,接收与共识算法切换相关的交易请求,并基于交易请求调用共识算法切换的智能合约,将智能合约中共识算法切换的触发条件和目标共识算法的标识写入账本;根据账本判断当前环境是否满足共识算法切换的触发条件,基于目标共识算法执行交易的共识。但其并未对写入智能合约的触发机制进行详细介绍,而只提供一种外部切换方法。
3、区块链在进行共识算法切换时,需要一个灵活的切换方法来快速切换到备用共识算法或备用节点,以避免网络分叉和故障。以申请号为cn115276999a的一种基于信任模型的自适应切换高效容错共识方法为例,在raft共识算法与pbft共识算法进行共识切换,以保证共识算法的拜占庭容错性与高效性。在该方案中,需要一系列的节点计算才能进行共识切换,且raft共识算法切换为pbft共识算法后,需要经过pbft多轮共识剔除作恶节点,再切换为raft共识算法,导致共识算法
4、因此,提供一种具有较高灵活性且能作为区块链共识算法切换触发机制的,共识算法切换方法,是本领域亟待解决的技术问题。
技术实现思路
1、为解决上述至少一个技术问题,本专利技术提供一种共识算法切换方法。
2、本专利技术是这样实现的,一种共识算法切换方法,包括:客户端向区块链系统发起交易请求给主节点,主节点在收到交易请求后,将消息发给所有的从节点,开始一轮共识,此时区块链中运行选举类共识算法;在一轮共识结束后,评估每个节点的信任度,据此判断各节点是疑似作恶节点或正常节点;计算疑似作恶节点占比;当疑似作恶节点的占比不小于占比阈值时,触发共识切换协议,将当前运行的选举类共识算法切换为证明类共识算法;当疑似作恶节点的占比小于占比阈值,则仍运行选举类共识算法;在切换为证明类共识算法后,每轮共识结束后,重新计算疑似作恶节点占比,当疑似作恶节点占比小于占比阈值,则从证明类共识算法切换为选举类共识算法;当疑似作恶节点占比不小于占比阈值,则继续运行证明类共识算法,如此反复在选举类共识算法和证明类共识算法间切换。
3、可选的,评估每个节点的信任度包括安全性能评估、响应性能评估、任务参与度评估中的任意一种或多种。
4、可选的,所述安全性能评估,具体为采用公式(1)计算所述安全性能测试的标准化得分:
5、
6、其中,wf为安全性能测试的标准化得分;wc为安全性能测试的测试分数;max(wc)为最大可能测试分数;min(wc)为最低可能测试分数。
7、可选的,所述响应性能评估,具体为采用公式(2)计算响应时间的得分为
8、
9、其中,wr为响应性能评估的标准化得分,rt是响应时间,max(rt)是最大响应时间。
10、可选的,所述任务参与度评估,具体为采用公式(3)计算所述任务参与度评估的标准化得分:
11、
12、其中,wp为任务参与度评估的标准化得分;nt为完成的任务数;nat是平均已完成任务的数量;tt是任务的监控时间段;tat是任务的平均监控时间段。
13、可选的,采用公式(4)对每个节点进行总体评分:
14、w=k1wf+k2wr+k3wp (4)
15、其中,w为总体评分;k1、k2、k3为权重系数;如果w<β,代表该节点为疑似作恶节点;如果w≥β,代表该节点为正常节点,其中β为评分阈值。
16、可选的,用公式(5)来计算一轮共识中疑似作恶节点占比:
17、
18、其中,m为一轮共识中的节点总数;n为疑似作恶节点数。
19、另一方面,本专利技术还提供了一种计算机存储介质,存储有可执行程序代码;所述可执行程序代码,用于执行上述所述的共识算法切换方法。
20、另一方面,一种终端设备,包括存储器和处理器;所述存储器存储有可被处理器执行的程序代码;所述程序代码用于执行上述所述的共识算法切换方法。
21、关于实施本专利技术的有益技术效果为:首先,由于本专利技术在现有区块链中引入信任评估模型,在区块链各节点每进行一轮共识的后,对参与共识的各节点进行信任评分,并根据所得信任评分的高低,判定该节点为正常节点或疑似作恶节点;然后,根据每轮共识中疑似作恶节点占总结点数比例的高低,判定是否需要将选举类共识算法切换为证明类共识算法。
本文档来自技高网...【技术保护点】
1.一种共识算法切换方法,其特征在于,包括:
2.根据权利要求1所述的共识算法切换方法,其特征在于,评估每个节点的信任度包括安全性能评估、响应性能评估、任务参与度评估中的任意一种或多种。
3.根据权利要求2所述的共识算法切换方法,其特征在于,所述安全性能评估,具体为采用公式(1)计算所述安全性能测试的标准化得分:
4.根据权利要求3所述的共识算法切换方法,其特征在于,所述响应性能评估,具体为采用公式(2)计算响应时间的得分为:
5.根据权利要求4所述的共识算法切换方法,其特征在于,所述任务参与度评估,具体为采用公式(3)计算所述任务参与度评估的标准化得分:
6.根据权利要求5所述的共识算法切换方法,其特征在于,采用公式(4)对每个节点进行总体评分:
7.根据权利要求1-6任意一项所述的共识算法切换方法,其特征在于,采用公式(5)来计算一轮共识中疑似作恶节点占比:
8.一种计算机存储介质,其特征在于,存储有可执行程序代码;所述可执行程序代码,用于执行权利要求1-7任意一项所述的共识算法切换方法。
...【技术特征摘要】
1.一种共识算法切换方法,其特征在于,包括:
2.根据权利要求1所述的共识算法切换方法,其特征在于,评估每个节点的信任度包括安全性能评估、响应性能评估、任务参与度评估中的任意一种或多种。
3.根据权利要求2所述的共识算法切换方法,其特征在于,所述安全性能评估,具体为采用公式(1)计算所述安全性能测试的标准化得分:
4.根据权利要求3所述的共识算法切换方法,其特征在于,所述响应性能评估,具体为采用公式(2)计算响应时间的得分为:
5.根据权利要求4所述的共识算法切换方法,其特征在于,所述任务参与度评估,具体为采用公式(3)计算...
【专利技术属性】
技术研发人员:刘齐军,纪又琳,丁孟,储超尘,陈孝经,谭林,
申请(专利权)人:湖南天河国云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。