一种基于节点服务评分的区块链共识方法

文档序号:37925545发布日期:2024-05-11 00:04阅读:5来源:国知局
一种基于节点服务评分的区块链共识方法

本发明属于区块链,尤其涉及一种基于节点服务评分的区块链共识方法。


背景技术:

1、区块链是一种分布式账本技术,近年来因其去中心化、不可篡改和可追溯等特性而受到广泛关注。区块链网络被广泛用于各个领域,然而,由于能耗过高、效率低下等问题,区块链也暴露出一些缺陷。大部分问题都源于底层的共识算法。

2、共识算法是基于区块链的分布式系统的核心,它规定了如何就区块内的交易达成一致。一般的流程是共识算法提名主节点,主节点按照定义的程序流程创建新区块。现有的常见共识算法包括工作量证明、权益证明、委托权益证明等。然而,它们达成共识的速度很慢,而且耗费大量时间和资源。虽然节点验证可以防止攻击者随意更改状态,但仍无法防止区块链分叉成两个或多个合法的分支。同时,节点可能会受到恶意节点的利诱变成恶意节点期望的状态,而不是和其他正常节点相同的状态。因此,区块链网络还必须能够确定链上节点的状态,防止它们受到少数恶意节点的控制。

3、cn116389504a公开了一种基于区块链的身份认证快速共识方法,但与本发明相比,存在如下区别:首先,本发明以服务评分机制为核心,通过评估链上节点的行为选取可靠节点参与共识,是一个考察筛选的过程,重点在于节点诚实,共识结果可信。基于区块链的身份认证快速共识方法以身份认证为核心,通过共识验证算法和其身份签名进行节点的快速共识,是一个数据加密和解密的过程,重点在于能快速且安全地达成共识。其次,本发明以节点分类为切入点,对不同分数的节点赋予不同的角色任务,通过减少工作量和参与节点数缩短节点间的共识时间。基于区块链的身份认证快速共识方法以网络切片为着力点,聚集区块链优质节点在同一网络片区,提供良好交易环境,是内部共识的必要条件。再者,基于区块链的身份认证快速共识方法以信任监督机制为保障,通过每个分组设立监督节点加强其它节点进行向下签发的安全性,确保区块链片区的交易数据传输安全。本发明以奖惩机制为保障,通过奖励维护区块链正常运作的诚实节点,惩罚破坏正常运作的恶意节点,促使节点做出正确行为,增强区块链鲁棒性的同时还能减少区块链无效负载,提升网络承载能力。

4、服务评分机制是一种用于评价节点服务的机制。在区块链网络中,评分功能增强了每个成员之间的相互信任,促进了节点之间的有效交流。实际上,评分和区块链可以相互结合:评分可以用作激励措施,而区块链反过来又可以确保评分记录的安全。

5、因此,如何将服务评分机制应用至区块链网络中以提升共识效率,降低通信开销成为本领域亟待解决的难题。


技术实现思路

1、发明目的:本发明的目的在于提供一种基于节点服务评分的区块链共识方法。它依赖于节点的服务分数来实现共识。该方法可以自动维护服务评分列表并根据分数采取相应措施。每个节点都会保留一个包含服务评分记录的账本,从而保证交易信息的一致性。与工作量证明等其他共识算法不同,本发明使用分数作为激励机制,由于无需解决计算难题,因此具有低成本的优势,同时,区块链的加密结构保证了评分记录的完整性和可靠性。

2、技术方案:本发明的一种基于节点服务评分的区块链共识方法,包括如下步骤:

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

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

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

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

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

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

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

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

11、进一步的,所述节点的服务时长:这项指标指的是节点在区块链中的有效工作时长,由最新区块的生成时间戳、节点进入区块链网络的时间戳和节点离线时长这三个数据计算得出,计算公式如下:

12、

13、其中, st为服务时长, t latest表示最新区块的生成时间戳, t ingress表示节点进入系统的时间戳, t offline是节点离线时长;

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

15、

16、其中,对于委员会节点: er为节点错误率, n表示节点尝试创建新块的总次数, n i表示领导者 i失败的次数;对于验证节点: er为节点错误率, n表示节点验证交易的总次数, n i表示验证节点 i发生验证结果错误的次数;

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

18、

19、其中, cof j为节点在第 j轮共识中的贡献因子, cof j-1表示节点在第 j-1轮共识中的贡献因子, q是取值为-1,0或1的变量;

20、为减少节点所属不同区域的影响,为三个指标分配了权重 α1, α2,和 α3,每个区域的权重不同;总服务时间大于区域平均时间的区域,服务时长 st的权重会小于区域均值,错误率和贡献因子也是相同,节点 i在区域 j中的服务分数计算公式如下:

21、

22、其中,为节点 i在区域 j中的服务分数;当节点的服务分数小于设定的阈值时,节点将被移出区块链网络。

23、进一步的,步骤3具体为:根据服务评分机制评判的结果,将节点分类成不同的角色,分为委员会节点、验证节点和普通节点;节点的定义如下:

24、

25、其中 id、 gos和 t分别代表节点的标识符、服务分数和角色类型;节点按服务分数 gos从高到低排列,最高的 x%节点被提名为委员会节点,随后的 y%节点为验证节点,最后的 z%节点是服务分数低于这两类节点的普通节点; x、 y和 z满足等式 x+ y+ z=100;其类型 t分别用 a、 v和 c表示,分别代表委员会节点、验证节点和普通节点;

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

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

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

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

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

31、本发明还公开一种计算机装置/设备/系统,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现本发明方法的步骤。

32、本发明还公开一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本发明方法的步骤。

33、本发明还公开一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本发明方法的步骤。

34、有益效果:与现有技术相比,本发明具有如下显著优点:

35、本发明提出了一种基于节点服务评分的共识算法。所述节点服务评分是一种节点评估机制,用于评估区块链中的节点行为。在所述基于节点服务评分的共识算法中,节点被划分成若干个区域,简化了区块广播过程,恶意节点发起日蚀攻击的难度更大,减少了节点的工作量,区域内节点只需要维护区域内节点的服务分数。主节点的提名基于其服务质量,而非其资产或计算能力,这可以防止恶意节点通过控制大量资源来主导提名过程。它确保所有诚实的节点都能平等地竞争出块权,并且省去了工作量证明机制pow中的随机数计算,节点评估指标也更全面,使提名的主节点具有最佳的可信度,增强了区块链网络的鲁棒性,提升了共识效率,降低了通信开销。

36、同时,为了进一步增强区块链的鲁棒性,这项工作在区块链中引入了一种淘汰机制,其他节点可以将得分低于阈值的恶意节点移除。与其他选择边缘化节点但仍保留节点的共识算法相比,它减少了区块链中失效节点的数量,提高了网络的承载能力。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1