区块链节点共识的方法和装置、设备和介质制造方法及图纸

技术编号:35541823 阅读:12 留言:0更新日期:2022-11-09 15:10
本公开实施例公开了一种区块链节点共识的方法和装置、设备和介质,其中,方法包括:将区块链网络内的多个共识节点抽象成多个共识节点组;在所述多个共识节点之间,使用所述多个主节点进行共识,并监测所述多个主节点的工作状态;当所述多个主节点中出现工作状态异常的主节点时,在所述工作状态异常的主节点所属的共识节点组中,由优先级最高的备选节点替换所述工作状态异常的主节点进行共识。本公开实施例可以提升区块链节点共识的有效性。施例可以提升区块链节点共识的有效性。施例可以提升区块链节点共识的有效性。

【技术实现步骤摘要】
区块链节点共识的方法和装置、设备和介质


[0001]本公开涉及区块链
,尤其是一种区块链节点共识的方法和装置、设备和介质。

技术介绍

[0002]在区块链网络中,通常使用故障容错(Crash Fault Tolerance,CFT)方法或者拜占庭容错 (Byzantine Fault Tolerance,BFT)方法进行节点共识。
[0003]CFT方法可以容忍节点宕机、网络延迟/断开等异常,通常可以容忍区块链网络中将近一半的共识节点发生异常,当区块链网络中异常的共识节点过多时,可能导致区块链网络中无法识别出部分区块。
[0004]BFT方法可以容忍节点宕机、网络延迟/断开等错误,还可以容忍任意类型的恶意攻击等异常,通常可以容忍区块链网络中将近三分之一的共识节点发生异常,当区块链网络中异常的共识节点过多时,可能导致区块链网络中无法识别出部分区块。
[0005]如何在区块链网络在大量共识节点发生异常时,仍然可以正常节点共识,提升区块链节点共识的有效性,是一个亟待解决的问题。

技术实现思路

[0006]本公开实施例提供一种区块链节点共识的方法和装置、设备和介质,以提升区块链节点共识的有效性。
[0007]本公开实施例的第一方面,提供一种区块链节点共识的方法,包括:将区块链网络内的多个共识节点抽象成多个共识节点组,其中,多个共识节点与多个共识节点组一一对应,所述多个共识节点组中的每个节点包括一个主节点和多个备选节点;在所述多个共识节点之间,使用所述多个共识节点组的多个主节点进行共识,并监测所述多个主节点的工作状态;当所述多个主节点中出现工作状态异常的主节点时,在所述工作状态异常的主节点所属的共识节点组中,由优先级最高的备选节点替换所述工作状态异常的主节点进行共识。
[0008]在本公开的一个实施例中,所述将区块链网络内的多个共识节点抽象成多个共识节点组,包括:从所述多个共识节点中选取一个共识节点;对当前选取的共识节点生成多个节点,其中,所述多个节点的节点组序列号与所述共识节点的序列号相同,且所述多个节点的公钥和相同,且所述多个节点的私钥相同;从所述多个节点中选择一个节点作为所述当前选取的共识节点的主节点,将所述多个节点中除所述主节点之间的剩余节点作为所述当前选取的共识节点的多个备选节点;基于所述当前选取的共识节点的主节点和所述当前选取的共识节点的多个备选
节点,生成所述当前选取的共识节点的共识节点组;对所述多个共识节点中除所述当前选取的共识节点外的剩余共识节点中的每个共识节点,生成对应的共识节点组。
[0009]在本公开的一个实施例中,所述对当前选取的共识节点生成多个节点,包括:获取所述当前选取的共识节点的数据处理能力信息;基于所述数据处理能力信息,确定所述多个节点的节点数量;对所述多个节点中的每个节点,设置与所述当前选取的共识节点相同的公钥和私钥,并将所述当前选取的共识节点的序列号设置为所述多个节点的节点组序列号。
[0010]在本公开的一个实施例中,在所述基于所述当前选取的共识节点的主节点和所述当前选取的共识节点的多个备选节点,生成所述当前选取的共识节点的共识节点组之后,还包括:基于所述当前选取的共识节点的多个备选节点的数据处理能力参数、网速和网络稳定性,确定所述当前选取的共识节点的多个备选节点的优先级。
[0011]在本公开的一个实施例中,在所述基于所述当前选取的共识节点的多个备选节点的数据处理能力参数、网速和网络稳定性,确定所述当前选取的共识节点的多个备选节点的优先级之后,还包括:基于所述当前选取的共识节点的多个备选节点的数据处理能力参数、实时网速和实时网络稳定性,更新所述当前选取的共识节点的多个备选节点的优先级。
[0012]在本公开的一个实施例中,所述监测所述多个主节点的工作状态,包括:利用节点故障监测模型对监测所述多个主节点的工作状态,其中,所述节点故障监测模型是基于样本节点的共识工作数据进行训练得到的;利用所述节点故障监测模型确定所述多个主节点中存在至少一个主节点即预设时间内可能发生故障时,对可能发生故障的主节点所属的共识节点组发送备选节点准备通知。
[0013]在本公开的一个实施例中,在所述当所述多个主节点中出现工作状态异常的主节点时,在所述工作状态异常的主节点所属的共识节点组中,由优先级最高的备选节点替换所述工作状态异常的主节点进行共识之后,还包括:当所述工作状态异常的主节点恢复正常后,由恢复正常的主节点替换所述恢复正常的主节点所属的共识节点组中进行共识的备选节点,进行共识。
[0014]本公开实施例的第二方面,提供一种区块链节点共识的装置,包括:共识节点组生成模块,用于将区块链网络内的多个共识节点抽象成多个共识节点组,其中,多个共识节点与多个共识节点组一一对应,所述多个共识节点组中的每个节点包括一个主节点和多个备选节点;共识模块,用于在所述多个共识节点之间,使用所述多个共识节点组的多个主节点进行共识,并监测所述多个主节点的工作状态;替换模块,用于当所述多个主节点中出现工作状态异常的主节点时,在所述工作状态异常的主节点所属的共识节点组中,由优先级最高的备选节点替换所述工作状态异常的主节点进行共识。
[0015]在本公开的一个实施例中,所述共识节点组生成模块用于从所述多个共识节点中
选取一个共识节点;所述共识节点组生成模块还用于对当前选取的共识节点生成多个节点,其中,所述多个节点的节点组序列号与所述共识节点的序列号相同,且所述多个节点的公钥和相同,且所述多个节点的私钥相同;所述共识节点组生成模块还用于从所述多个节点中选择一个节点作为所述当前选取的共识节点的主节点,将所述多个节点中除所述主节点之间的剩余节点作为所述当前选取的共识节点的多个备选节点;所述共识节点组生成模块还用于基于所述当前选取的共识节点的主节点和所述当前选取的共识节点的多个备选节点,生成所述当前选取的共识节点的共识节点组;所述共识节点组生成模块还用于对所述多个共识节点中除所述当前选取的共识节点外的剩余共识节点中的每个共识节点,生成对应的共识节点组。
[0016]在本公开的一个实施例中,所述共识节点组生成模块用于获取所述当前选取的共识节点的数据处理能力信息;所述共识节点组生成模块还用于基于所述数据处理能力信息,确定所述多个节点的节点数量;所述共识节点组生成模块还用于对所述多个节点中的每个节点,设置与所述当前选取的共识节点相同的公钥和私钥,并将所述当前选取的共识节点的序列号设置为所述多个节点的节点组序列号。
[0017]在本公开的一个实施例中,所述共识节点组生成模块还用于基于所述当前选取的共识节点的多个备选节点的数据处理能力参数、网速和网络稳定性,确定所述当前选取的共识节点的多个备选节点的优先级。
[0018]在本公开的一个实施例中,所述共识节点组生成模块用于基于所述当前选取的共识节点的多个备选节点的数据处理能力参数、实时网速和实时网络稳定性,更新所述当前选取的共识节点的多个备选节点的优先级。
[0019]在本公开本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链节点共识的方法,其特征在于,包括:将区块链网络内的多个共识节点抽象成多个共识节点组,其中,多个共识节点与多个共识节点组一一对应,所述多个共识节点组中的每个节点包括一个主节点和多个备选节点;在所述多个共识节点之间,使用所述多个共识节点组的多个主节点进行共识,并监测所述多个主节点的工作状态;当所述多个主节点中出现工作状态异常的主节点时,在所述工作状态异常的主节点所属的共识节点组中,由优先级最高的备选节点替换所述工作状态异常的主节点进行共识。2.根据权利要求1所述的区块链节点共识的方法,其特征在于,所述将区块链网络内的多个共识节点抽象成多个共识节点组,包括:从所述多个共识节点中选取一个共识节点;对当前选取的共识节点生成多个节点,其中,所述多个节点的节点组序列号与所述共识节点的序列号相同,且所述多个节点的公钥和相同,且所述多个节点的私钥相同;从所述多个节点中选择一个节点作为所述当前选取的共识节点的主节点,将所述多个节点中除所述主节点之间的剩余节点作为所述当前选取的共识节点的多个备选节点;基于所述当前选取的共识节点的主节点和所述当前选取的共识节点的多个备选节点,生成所述当前选取的共识节点的共识节点组;对所述多个共识节点中除所述当前选取的共识节点外的剩余共识节点中的每个共识节点,生成对应的共识节点组。3.根据权利要求2所述的区块链节点共识的方法,其特征在于,所述对当前选取的共识节点生成多个节点,包括:获取所述当前选取的共识节点的数据处理能力信息;基于所述数据处理能力信息,确定所述多个节点的节点数量;对所述多个节点中的每个节点,设置与所述当前选取的共识节点相同的公钥和私钥,并将所述当前选取的共识节点的序列号设置为所述多个节点的节点组序列号。4.根据权利要求3所述的区块链节点共识的方法,其特征在于,在所述基于所述当前选取的共识节点的主节点和所述当前选取的共识节点的多个备选节点,生成所述当前选取的共识节点的共识节点组之后,还包括:基于所述当前选取的共识节点的多个备选节点的数据处理能力参数、网速和网络稳定性,确定所述当前选取的共识节点的多个备选节点的优先级。5.根据权利要求4所述的区块链节点共识的方法,其特征在于,在所述基于所述当前选取的共识节点的多个备选节点的数据处理能力参数、网速和网络稳定性,...

【专利技术属性】
技术研发人员:李志平张波郭健马旭锋聂凡杰
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1