利索能及
我要发布
收藏
专利号: 2024103971148
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-01-08
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于节点服务评分的区块链共识方法,其特征在于,包括如下步骤:

步骤1、根据区块链中节点数量将节点划分成若干个区域;

步骤2、利用节点服务评分机制对每一个区域中的节点进行服务分数评判;

步骤3、基于服务评分机制评判的结果,根据服务分数将节点分类成委员会节点、验证节点和普通节点;

步骤4、利用验证节点对区块链中的待验证交易进行验证,通过验证的交易会被记录在新区块中;

步骤5、根据委员会节点的分数高低,提名领导者,用于打包通过验证的交易并生成新区块,其余的委员会节点对新区块进行验证;

步骤6、新区块在通过验证后会被委员会节点接受并在各自所属的区域中进行广播,所有节点都完成新区块同步后,共识达成。

2.根据权利要求1所述的一种基于节点服务评分的区块链共识方法,其特征在于,步骤

1具体为:根据区块链中节点数量将节点划分成若干个区域,节点越多,划分的区域数越多,同一个区域的节点服务评分相近,后续加入区块链的节点会选择进入不同的区域。

3.根据权利要求1所述的一种基于节点服务评分的区块链共识方法,其特征在于,步骤

2具体为:服务分数由三个指标构成,包括:节点的服务时长、节点的错误率和节点的贡献因子,其中,节点的服务时长由最新区块的时间戳、节点进入区块链网络的时间戳和节点离线时长这三个数据计算得出;节点的错误率由节点尝试生成新区块的次数和生成失败的次数计算得出;节点的贡献因子由节点在每一轮共识中的表现决定,如果领导者和验证节点正确地完成了各自的工作,其贡献因子增加,相反,其恶意行为会导致贡献因子减少;对于未被分配任务的普通节点,指标保持不变。

4.根据权利要求3所述的一种基于节点服务评分的区块链共识方法,其特征在于,所述节点的服务时长:这项指标指的是节点在区块链中的有效工作时长,由最新区块的生成时间戳、节点进入区块链网络的时间戳和节点离线时长这三个数据计算得出,计算公式如下:其中, ST为服务时长,Tlatest表示最新区块的生成时间戳,Tingress表示节点进入系统的时间戳,Toffline是节点离线时长;

所述节点的错误率:对不同角色的节点,节点的错误率有不同的计算方法;对于委员会节点,节点的错误率指的是节点被提名为领导者并尝试生成新区块的前提下,生成新区块失败的次数占尝试生成新区块次数的比例,由节点尝试生成新区块的次数和生成失败的次数计算得出;对于验证节点,节点的错误率指的是节点负责交易验证的前提下,验证结果错误的次数占验证次数的比例;由验证的次数和结果错误的次数计算得出;通用计算公式如下:其中,对于委员会节点:ER为节点错误率, N 表示节点尝试创建新块的总次数,ni 表示领导者 i 失败的次数;对于验证节点:ER为节点错误率,N 表示节点验证交易的总次数,ni 表示验证节点i发生验证结果错误的次数;

所述节点的贡献因子:它由节点在每一轮共识中的表现决定,如果领导者和验证节点正确地完成各自的工作,其贡献因子增加1,相反,其恶意行为会导致贡献因子减少1;对于未被分配任务的普通节点,这一指标保持不变;假设q∊{‑1,0,1},节点在第j轮共识中的贡献因子CoF计算公式如下:其中,CoFj为节点在第j轮共识中的贡献因子,CoFj‑1表示节点在第j‑1轮共识中的贡献因子,q是取值为‑1,0或1的变量;

为减少节点所属不同区域的影响,为三个指标分配了权重α1,α2,和α3,每个区域的权重不同;总服务时间大于区域平均时间的区域,服务时长ST的权重会小于区域均值,错误率和贡献因子也是相同,节点i在区域j中的服务分数计算公式如下:其中, 为节点i在区域j中的服务分数;当节点的服务分数小于设定的阈值时,节点将被移出区块链网络。

5.根据权利要求1所述的一种基于节点服务评分的区块链共识方法,其特征在于,步骤

3具体为:根据服务评分机制评判的结果,将节点分类成不同的角色,分为委员会节点、验证节点和普通节点;节点的定义如下:其中ID、GoS 和T分别代表节点的标识符、服务分数和角色类型;节点按服务分数GoS从高到低排列,最高的X%节点被提名为委员会节点,随后的Y%节点为验证节点,最后的Z%节点是服务分数低于这两类节点的普通节点;X、Y和Z满足等式X+Y+Z =100;其类型T分别用a、v和c表示,分别代表委员会节点、验证节点和普通节点;

委员会节点:所有委员会节点组成一个委员会;当前一轮共识的领导者从委员会中选出,领导者会打包在它任期内产生的交易并记录在新区块中;委员会中的其余节点负责验证新区块;

验证节点:此类节点用于验证网络中产生的交易是否合法;服务分数低于委员会节点,但高于普通节点,是可信任的节点;

普通节点:普通节点是那些未被选作委员会节点或验证节点的节点,服务分数低于委员会节点和验证节点,可信度不高,不参与共识过程。

6.根据权利要求1所述的一种基于节点服务评分的区块链共识方法,其特征在于,步骤

4具体为:利用验证节点对区块链中的待验证交易进行验证,通过验证的交易会被记录在新区块中,验证节点的服务分数较委员会节点低,但比普通节点高,因而可信任,将传统共识算法各个节点验证交易优化为部分节点验证交易,减少验证次数,降低共识时间和通信开销。

7.根据权利要求1所述的一种基于节点服务评分的区块链共识方法,其特征在于,步骤

5具体为:根据委员会节点的分数高低,提名领导者,用于打包通过验证的交易并生成新区块,其余的委员会节点对新区块进行验证;包括以下步骤:每当区块链网络运行到生成区块的时间点时,每个节点都会使用服务评分机制更新节点的服务分数;然后,节点将根据分数从高到低进行排序,生成服务分数列表,排名列表首位的节点提名为当前共识阶段的领导者;如果多个节点具有相同的服务分数,那么它们将根据节点的服务时间进行排序,服务时间越长,优先级越高;领导者将已验证通过的交易打包,并生成新区块;为应对网络问题造成的极端情况,设置了一个窗口期;节点在窗口期内等待领导者创建和广播新区块;如果窗口期结束时没有收到新区块,分数列表中的下一个节点将负责生成区块;其余委员会节点对生成的新区块进行验证,如果验证成功,委员会节点会把新区块添加到本地区块链副本中,如果验证失败,新区块不会被更新到区块链中。

8.一种计算机装置/设备/系统,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求 1 所述方法的步骤。

9.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求 1 所述方法的步骤。

10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求 1 所述方法的步骤。