System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 区块链的共识方法、装置、计算机可读介质及电子设备制造方法及图纸_技高网

区块链的共识方法、装置、计算机可读介质及电子设备制造方法及图纸

技术编号:40140063 阅读:4 留言:0更新日期:2024-01-23 23:28
本申请的实施例提供了一种区块链的共识方法、装置、计算机可读介质及电子设备。该区块链的共识方法包括:在提案节点针对待共识区块发起的共识过程中,接收区块链网络中的共识节点发送的预投票消息;根据接收到的预投票消息,统计针对所述待共识区块的第一预投票消息的数量,其中,所述第一预投票消息是所述共识节点在设定时长内接收到所述待共识区块的提案消息后发送的,所述设定时长与所述提案节点相对应、且是基于所述提案节点的出块时长确定的;根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整。本申请实施例的技术方案可以缩短区块的共识时间,有利于提升区块链的共识性能。

【技术实现步骤摘要】

本申请涉及计算机及通信,具体而言,涉及一种区块链的共识方法、装置、计算机可读介质及电子设备


技术介绍

1、在区块链技术中,共识机制是保证区块链系统正常运行的基础。所谓共识即是达成一致的意思,区块链系统中的每个节点设备各自存储有一份分布式账本(即区块链),区块链系统的共识过程就是让各个节点设备之间的分布式账本保持一致的过程。bft(byzantine fault tolerance,拜占庭容错)共识算法是区块链技术中常用的一种共识算法,每个区块需要经过提案、预投票、预提交等三个阶段。如果提案节点出现故障,那么验证节点在等待设定的固定时长之后才能进入到预投票阶段,这样导致了共识过程耗时较长,影响了区块链的共识性能。


技术实现思路

1、本申请的实施例提供了一种区块链的共识方法、装置、计算机可读介质及电子设备,进而可以缩短区块的共识时间,有利于提升区块链的共识性能。

2、本申请的其它特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

3、根据本申请实施例的一个方面,提供了一种区块链的共识方法,包括:在提案节点针对待共识区块发起的共识过程中,接收区块链网络中的共识节点发送的预投票消息;根据接收到的预投票消息,统计针对所述待共识区块的第一预投票消息的数量,其中,所述第一预投票消息是所述共识节点在设定时长内接收到所述待共识区块的提案消息后发送的,所述设定时长与所述提案节点相对应、且是基于所述提案节点的出块时长确定的;根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整。

4、根据本申请实施例的一个方面,提供了一种区块链的共识装置,包括:接收单元,配置为在提案节点针对待共识区块发起的共识过程中,接收区块链网络中的共识节点发送的预投票消息;统计单元,配置为根据接收到的预投票消息,统计针对所述待共识区块的第一预投票消息的数量,其中,所述第一预投票消息是所述共识节点在设定时长内接收到所述待共识区块的提案消息后发送的,所述设定时长与所述提案节点相对应、且是基于所述提案节点的出块时长确定的;调整单元,配置为根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整。

5、在本申请的一些实施例中,基于前述方案,所述调整单元配置为:若所述第一预投票消息的数量小于预投票阶段的共识数量要求,且接收到的针对空区块的第二预投票消息的数量小于所述共识数量要求,则将发送所述第二预投票消息的共识节点所记录的与所述提案节点相对应的所述设定时长调大,直至达到设定的最大值。

6、在本申请的一些实施例中,基于前述方案,所述调整单元配置为:若所述第一预投票消息的数量小于预投票阶段的共识数量要求,且接收到的针对空区块的第二预投票消息的数量大于或等于所述共识数量要求,则将参与所述共识过程的共识节点所记录的与所述提案节点相对应的所述设定时长调大,直至达到设定的最大值。

7、在本申请的一些实施例中,基于前述方案,所述调整单元还配置为:在将所述共识节点所记录的与所述提案节点相对应的设定时长调大之后,若所述提案节点再次发起的共识过程在预投票阶段满足了共识要求,则将参与共识过程的共识节点所记录的与所述提案节点相对应的所述设定时长调小。

8、在本申请的一些实施例中,基于前述方案,所述调整单元配置为:若所述第一预投票消息的数量大于或等于预投票阶段的共识数量要求,则控制参与所述共识过程的共识节点所记录的与所述提案节点相对应的所述设定时长保持不变,或者将参与所述共识过程的共识节点所记录的与所述提案节点相对应的所述设定时长调小,直至达到设定的最小值。

9、在本申请的一些实施例中,基于前述方案,所述统计单元还配置为:统计各个共识节点在共识过程中出现异常的次数;所述区块链的共识装置还包括:生成单元,配置为若统计到指定共识节点连续出现异常的次数达到设定次数,则生成配置类型的第一交易信息,所述第一交易信息用于指示取消所述指定共识节点参与共识过程;根据所述第一交易信息生成第一区块;生成所述第一区块的提案消息,将所述第一区块的提案消息广播至所述区块链网络中的其它共识节点。

10、在本申请的一些实施例中,基于前述方案,所述第一区块的提案消息中包含有提案消息的类型信息和所述指定共识节点的标识信息,所述提案消息的类型信息配置为指示所述第一区块的提案消息用于取消所述指定共识节点参与共识过程。

11、在本申请的一些实施例中,基于前述方案,若所述第一区块在所述区块链网络中达成共识,则确定所述指定共识节点不再参与所述区块链网络的共识过程。

12、在本申请的一些实施例中,基于前述方案,所述统计单元还配置为:统计各个共识节点在共识过程中出现异常的次数;所述区块链的共识装置还包括:生成单元,配置为若统计到指定共识节点连续出现异常的次数达到设定次数,则生成配置类型的第二交易信息,所述第二交易信息用于指示通过所述指定共识节点对应的备选节点替代所述指定共识节点参与共识过程;根据所述第二交易信息生成第二区块;生成所述第二区块的提案消息,将所述第二区块的提案消息广播至所述区块链网络中的其它共识节点和所述指定共识节点的备份节点。

13、在本申请的一些实施例中,基于前述方案,所述第二区块的提案消息中包含有提案消息的类型信息和所述指定共识节点对应的备选节点的标识信息,所述提案消息的类型信息配置为指示所述第二区块的提案消息用于通过所述指定共识节点对应的备选节点替代所述指定共识节点参与共识过程。

14、在本申请的一些实施例中,基于前述方案,若所述第二区块在所述区块链网络中达成共识,则确定所述指定共识节点不再参与所述区块链网络的共识过程;所述区块链的共识装置还包括:发送单元,配置为向所述指定共识节点对应的备选节点发送所述第二区块的预提交投票消息,以使所述指定共识节点的备选节点接收到的所述预提交投票消息达到预提交阶段的共识数量要求后,替代所述指定共识节点参与共识过程。

15、在本申请的一些实施例中,基于前述方案,所述统计单元还配置为:在各个共识节点作为提案节点发起针对提案区块的提案消息之后,统计接收到的针对所述提案区块的预投票消息的数量;若接收到的针对所述提案区块的预投票消息的数量不满足预投票阶段的共识数量要求,则确定发起所述提案区块的提案消息的共识节点出现异常。

16、根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的区块链的共识方法。

17、根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述实施例中所述的区块链的共识方法。

18、根据本申请实施例的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机本文档来自技高网...

【技术保护点】

1.一种区块链的共识方法,其特征在于,包括:

2.根据权利要求1所述的区块链的共识方法,其特征在于,根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整,包括:

3.根据权利要求1所述的区块链的共识方法,其特征在于,根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整,包括:

4.根据权利要求2或3所述的区块链的共识方法,其特征在于,所述共识方法还包括:

5.根据权利要求1至3中任一项所述的区块链的共识方法,其特征在于,根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整,包括:

6.根据权利要求1所述的区块链的共识方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的区块链的共识方法,其特征在于,所述第一区块的提案消息中包含有提案消息的类型信息和所述指定共识节点的标识信息,所述提案消息的类型信息配置为指示所述第一区块的提案消息用于取消所述指定共识节点参与共识过程。

8.根据权利要求6所述的区块链的共识方法,其特征在于,所述方法还包括:

9.根据权利要求1所述的区块链的共识方法,其特征在于,所述方法还包括:

10.根据权利要求9所述的区块链的共识方法,其特征在于,所述第二区块的提案消息中包含有提案消息的类型信息和所述指定共识节点对应的备选节点的标识信息,所述提案消息的类型信息配置为指示所述第二区块的提案消息用于通过所述指定共识节点对应的备选节点替代所述指定共识节点参与共识过程。

11.根据权利要求9所述的区块链的共识方法,其特征在于,所述方法还包括:

12.根据权利要求6至11中任一项所述的区块链的共识方法,其特征在于,所述方法还包括:

13.一种区块链的共识装置,其特征在于,包括:

14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的区块链的共识方法。

15.一种电子设备,其特征在于,包括:

16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,电子设备的处理器从所述计算机可读存储介质读取并执行所述计算机程序,使得所述电子设备执行如权利要求1至12中任一项所述的区块链的共识方法。

...

【技术特征摘要】

1.一种区块链的共识方法,其特征在于,包括:

2.根据权利要求1所述的区块链的共识方法,其特征在于,根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整,包括:

3.根据权利要求1所述的区块链的共识方法,其特征在于,根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整,包括:

4.根据权利要求2或3所述的区块链的共识方法,其特征在于,所述共识方法还包括:

5.根据权利要求1至3中任一项所述的区块链的共识方法,其特征在于,根据所述第一预投票消息的数量,对所述共识节点记录的与所述提案节点相对应的所述设定时长进行调整,包括:

6.根据权利要求1所述的区块链的共识方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的区块链的共识方法,其特征在于,所述第一区块的提案消息中包含有提案消息的类型信息和所述指定共识节点的标识信息,所述提案消息的类型信息配置为指示所述第一区块的提案消息用于取消所述指定共识节点参与共识过程。

8.根据权利要求6所述的区块链的共识方法,其特征在于,所述方法还包括:

9...

【专利技术属性】
技术研发人员:刘克猛邵珠光王能徐丹吴坤
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1