区块链网络的共识方法及装置、设备、计算机可读介质与流程

文档序号:36012509发布日期:2023-11-17 07:10阅读:254来源:国知局
区块链网络的共识方法及装置与流程

本技术涉及计算机,具体而言,涉及一种区块链网络的共识方法、区块链网络的共识装置、电子设备,以及计算机可读介质。


背景技术:

1、区块链技术广泛应用于金融、征信、银行等领域,相关技术中针对区块链技术提出的bft(byzantine fault tolerance,拜占庭容错)等共识算法属于串行共识算法,每个区块都需要经过一个提案、预投票、预提交等三个阶段,其中,提案阶段提案节点要产生待上链区块(即待共识的区块),该过程非常耗时,导致共识效率较低。

2、可见,如何提升区块的共识效率是亟待解决的问题。


技术实现思路

1、为解决上述技术问题,本技术的实施例提供了一种区块链网络的共识方法及装置、设备、介质,进而至少在一定程度上提升了区块的共识效率。

2、根据本技术实施例的一个方面,本技术实施例提供了一种区块链网络的共识方法,所述方法由所述区块链网络中的共识节点执行,所述方法包括:在提案节点针对第一待上链区块发起的共识周期内,生成针对所述第一待上链区块的提案消息;检测所述提案节点针对所述第一待上链区块所发起的第一共识过程的共识结果;若所述共识结果表征所述提案节点针对所述第一待上链区块所发起的第一共识过程失败,则获取所述提案消息;根据所获取到的提案消息发起针对所述第一待上链区块的第二共识过程。

3、根据本技术实施例的一个方面,本技术实施例提供了一种区块链网络的共识装置,所述装置配置于所述区块链网络中的共识节点,所述装置包括:生成模块,配置为在提案节点针对第一待上链区块发起的共识周期内,生成针对所述第一待上链区块的提案消息;检测模块,配置为检测所述提案节点针对所述第一待上链区块所发起的第一共识过程的共识结果;获取模块,配置为若所述共识结果表征所述提案节点针对所述第一待上链区块所发起的第一共识过程失败,则获取所述提案消息;共识模块,配置为根据所获取到的提案消息发起针对所述第一待上链区块的第二共识过程。

4、在本技术的一个实施例中,基于前述方案,所述生成模块,具体配置为:若检测到所述共识节点被选择为在所述提案节点之后进行下一轮共识过程的提案节点,则生成针对所述第一待上链区块的提案消息。

5、在本技术的一个实施例中,基于前述方案,所述生成模块,具体配置为:生成针对所述第一待上链区块的提案消息,并将所述提案消息存储在指定存储区域中;

6、在本技术的一个实施例中,基于前述方案,所述获取模块,具体配置为:从所述指定存储区域中获取所述提案消息。

7、在本技术的一个实施例中,基于前述方案,所述获取模块,包括:确定单元,配置为确定所述第一待上链区块的标识信息;获取单元,配置为从所述指定区域中获取与所述第一待上链区块的标识信息相匹配的提案消息。

8、在本技术的一个实施例中,基于前述方案,所述生成模块,具体配置为:在所述提案节点针对所述第一待上链区块所发起的共识的提案阶段,生成针对所述第一待上链区块的提案消息。

9、在本技术的一个实施例中,基于前述方案,所述装置还包括:获取与统计模块,配置为获取所述提案节点针对所述第一待上链区块的第一提案消息生成时长,以及统计所述共识节点针对所述第一待上链区块的第二提案消息生成时长;确定模块,配置为根据所述第一提案消息生成时长与所述第二提案消息生成时长之间的关系,确定所述提案节点对应的行为状态的类型。

10、在本技术的一个实施例中,基于前述方案,所述确定模块,具体配置为:若所述第一提案消息生成时长大于所述第二提案消息生成时长,且所述第一提案消息生成时长与所述第二提案消息生成时长的差值大于预设时长阈值,则确定所述提案节点对应的行为状态为第一类型;若所述第一提案消息生成时长大于所述第二提案消息生成时长,且所述第一提案消息生成时长与所述第二提案消息生成时长的差值小于或等于所述预设时长阈值,则确定所述提案节点对应的行为状态为第二类型;若所述第一提案消息生成时长小于或等于所述第二提案消息生成时长,则确定所述提案节点对应的行为状态为第三类型;其中,所述第一类型、所述第二类型,以及所述第三类型的安全性依次递增。

11、在本技术的一个实施例中,基于前述方案,所述共识模块,具体配置为:广播所述提案消息;生成针对所述第一待上链区块的预投票消息,并广播所述第一待上链区块的预投票消息;若接收到预定数量个针对所述第一待上链区块的预投票消息,则生成针对所述第一待上链区块的预提交消息,并广播所述第一待上链区块的预提交消息,以实现针对所述第一待上链区块所发起的第二共识过程。

12、在本技术的一个实施例中,基于前述方案,所述装置还包括:发起模块,配置为若所述共识结果表征所述提案节点针对所述第一待上链区块所发起的第一共识过程成功,则在下一轮共识过程中,在所述区块链网络中发起针对第二待上链区块的提案消息。

13、在本技术的一个实施例中,基于前述方案,所述发起模块,具体配置为:生成针对所述第二待上链区块的提案消息,并广播所述第二待上链区块的提案消息。

14、在本技术的一个实施例中,基于前述方案,所述装置还包括:删除模块,配置为若所述共识结果表征所述提案节点针对所述第一待上链区块所发起的第一共识过程成功,则删除针对所述第一待上链区块的提案消息。

15、在本技术的一个实施例中,基于前述方案,所述共识周期包括提案阶段、预投票阶段和预提交阶段;所述检测模块,具体配置为:若在所述预投票阶段或所述预提交阶段的共识不满足共识策略,则得到用于表征所述提案节点针对所述第一待上链区块所发起的第一共识过程失败的共识结果;若在所述预投票阶段和所述预提交阶段的共识满足所述共识策略,则得到用于表征所述提案节点针对所述第一待上链区块所发起的第一共识过程成功的共识结果。

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

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

18、根据本技术实施例的一个方面,本技术实施例提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上所述的区块链网络的共识方法。

19、在本技术的实施例提供的技术方案中:在提案节点针对第一待上链区块发起的共识周期内,共识节点并行生成针对第一待上链区块的提案消息,这样当检测到提案节点针对第一待上链区块所发起的第一共识过程失败,可以获取该共识节点并行生成的针对第一待上链区块的提案消息,以发起针对第一待上链区块的第二共识过程。由于针对第一待上链区块的第二共识过程中是不需要生成第一待上链区块的提案消息的(只需获取即可),因此可以节省生成第一待上链区块的提案消息的时长,从而在极大程度上提升了共识效率。

20、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。

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