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

技术编号:37485563 阅读:12 留言:0更新日期:2023-05-07 09:24
本申请的实施例提供了一种区块链的共识方法、装置、计算机可读介质及电子设备。该区块链的共识方法包括:接收区块链网络中的共识节点针对待共识的目标区块的投票消息;根据区块之间的链式关系,将针对所述目标区块的投票消息作为针对所述目标区块及处于所述目标区块之前的待共识区块的投票消息;根据针对各个待共识区块的投票消息,统计所述各个待共识区块的投票结果;根据所述各个待共识区块的投票结果进行共识处理。本申请实施例的技术方案可以加快区块达成共识,有效提高了区块的共识效率。率。率。

【技术实现步骤摘要】
区块链的共识方法、装置、计算机可读介质及电子设备


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

技术介绍

[0002]区块链技术广泛应用于金融、征信、银行等领域,相关技术中针对区块链技术提出的BFT(Byzantine Fault Tolerance,拜占庭容错)等共识算法属于串行共识算法,每个区块都需要经过一个提案、预投票、预提交等三个阶段,导致共识效率较低。

技术实现思路

[0003]本申请的实施例提供了一种区块链的共识方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以提高区块的共识效率。
[0004]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0005]根据本申请实施例的一个方面,提供了一种区块链的共识方法,包括:接收区块链网络中的共识节点针对待共识的目标区块的投票消息;根据区块之间的链式关系,将针对所述目标区块的投票消息作为针对所述目标区块及处于所述目标区块之前的待共识区块的投票消息;根据针对各个待共识区块的投票消息,统计所述各个待共识区块的投票结果;根据所述各个待共识区块的投票结果进行共识处理。
[0006]根据本申请实施例的一个方面,提供了一种区块链的共识装置,包括:接收单元,配置为接收区块链网络中的共识节点针对待共识的目标区块的投票消息;第一处理单元,配置为根据区块之间的链式关系,将针对所述目标区块的投票消息作为针对所述目标区块及处于所述目标区块之前的待共识区块的投票消息;统计单元,配置为根据针对各个待共识区块的投票消息,统计所述各个待共识区块的投票结果;第二处理单元,配置为根据所述各个待共识区块的投票结果进行共识处理。
[0007]在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:若对指定区块共识成功,则将所述指定区块和处于所述指定区块之前的区块写入区块链账本中。
[0008]在本申请的一些实施例中,基于前述方案,所述投票消息包括预投票阶段的投票消息;所述第二处理单元配置为:根据所述各个待共识区块的投票结果,确定投票数量满足预投票阶段的投票数量要求的第一区块;将所述第一区块作为预提交区块在所述区块链网络中进行广播,以对所述预提交区块进行预提交处理。
[0009]在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:若确定出的投票数量满足预投票阶段的投票数量要求的区块为一个,则将确定出的区块作为所述第一区块;若确定出的投票数量满足预投票阶段的投票数量要求的区块为多个,则将确定出的多个区块中区块高度最高的区块作为所述第一区块。
[0010]在本申请的一些实施例中,基于前述方案,所述第二处理单元还配置为:在对所述
预提交区块进行预提交处理之后,接收区块链网络中的共识节点针对预提交区块的投票消息;根据区块之间的链式关系,将针对所述预提交区块的投票消息作为针对所述预提交区块及处于所述预提交区块之前的预提交区块的投票消息;根据针对各个预提交区块的投票消息,统计所述各个预提交区块的投票结果;根据所述各个预提交区块的投票结果确定能够写入区块链账本的区块。
[0011]在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:根据所述各个预提交区块的投票结果,确定投票数量满足预提交阶段的投票数量要求的第二区块;将所述第二区块及处于所述第二区块之前的区块确定为能够写入区块链账本中的区块。
[0012]在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:若确定出的投票数量满足预提交阶段的投票数量要求的区块为一个,则将确定出的区块作为所述第二区块;若确定出的投票数量满足预提交阶段的投票数量要求的区块为多个,则将确定出的多个区块中区块高度最高的区块作为所述第二区块。
[0013]在本申请的一些实施例中,基于前述方案,所述投票消息包括预提交阶段的投票消息;所述第二处理单元配置为:根据所述各个待共识区块的投票结果,确定投票数量满足预提交阶段的投票数量要求的第二区块;将所述第二区块及处于所述第二区块之前的区块写入区块链账本中。
[0014]在本申请的一些实施例中,基于前述方案,所述第二处理单元配置为:若确定出的投票数量满足预提交阶段的投票数量要求的区块为一个,则将确定出的区块作为所述第二区块;若确定出的投票数量满足预提交阶段的投票数量要求的区块为多个,则将确定出的多个区块中区块高度最高的区块作为所述第二区块。
[0015]在本申请的一些实施例中,基于前述方案,所述接收单元配置为:接收区块链网络中的各个共识节点针对本地维护的待共识最高区块所发送的投票消息,所述待共识最高区块是所述各个共识节点本地维护的需要进行共识、且区块高度最高的区块。
[0016]在本申请的一些实施例中,基于前述方案,所述区块链网络中的共识节点采用拜占庭容错BFT共识算法对待共识区块进行共识处理。
[0017]根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的区块链的共识方法。
[0018]根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述实施例中所述的区块链的共识方法。
[0019]根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的区块链的共识方法。
[0020]在本申请的一些实施例所提供的技术方案中,通过根据区块之间的链式关系,将针对目标区块的投票消息作为针对目标区块及处于目标区块之前的待共识区块的投票消息,然后根据针对各个待共识区块的投票消息,统计各个待共识区块的投票结果,并根据各个待共识区块的投票结果进行共识处理,使得能够将区块链的链式结构引入到共识过程中,每一轮共识过程将针对某个区块的投票扩展到该区块的在先区块,进而能够加快区块
达成共识,有效提高了区块的共识效率。
[0021]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0022]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0023]图1示出了一种区块链网络的结构示意图;
[0024]图2示出了区块链中各区块的连接关系示意图;
[0025]图3示出了根据本申请的一个实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链的共识方法,其特征在于,包括:接收区块链网络中的共识节点针对待共识的目标区块的投票消息;根据区块之间的链式关系,将针对所述目标区块的投票消息作为针对所述目标区块及处于所述目标区块之前的待共识区块的投票消息;根据针对各个待共识区块的投票消息,统计所述各个待共识区块的投票结果;根据所述各个待共识区块的投票结果进行共识处理。2.根据权利要求1所述的区块链的共识方法,其特征在于,所述区块链的共识方法还包括:若对指定区块共识成功,则将所述指定区块和处于所述指定区块之前的区块写入区块链账本中。3.根据权利要求1所述的区块链的共识方法,其特征在于,所述投票消息包括预投票阶段的投票消息;根据所述各个待共识区块的投票结果进行共识处理,包括:根据所述各个待共识区块的投票结果,确定投票数量满足预投票阶段的投票数量要求的第一区块;将所述第一区块作为预提交区块在所述区块链网络中进行广播,以对所述预提交区块进行预提交处理。4.根据权利要求3所述的区块链的共识方法,其特征在于,根据所述各个待共识区块的投票结果,确定投票数量满足预投票阶段的投票数量要求的第一区块,包括:若确定出的投票数量满足预投票阶段的投票数量要求的区块为一个,则将确定出的区块作为所述第一区块;若确定出的投票数量满足预投票阶段的投票数量要求的区块为多个,则将确定出的多个区块中区块高度最高的区块作为所述第一区块。5.根据权利要求3所述的区块链的共识方法,其特征在于,在对所述预提交区块进行预提交处理之后,所述区块链的共识方法还包括:接收区块链网络中的共识节点针对预提交区块的投票消息;根据区块之间的链式关系,将针对所述预提交区块的投票消息作为针对所述预提交区块及处于所述预提交区块之前的预提交区块的投票消息;根据针对各个预提交区块的投票消息,统计所述各个预提交区块的投票结果;根据所述各个预提交区块的投票结果确定能够写入区块链账本的区块。6.根据权利要求5所述的区块链的共识方法,其特征在于,根据所述各个预提交区块的投票结果确定能够写入区块链账本的区块,包括:根据所述各个预提交区块的投票结果,确定投票数量满足预提交阶段的投票数量要求的第二区块;将所述第二区块及处于所述第二区块之前的区块确定为能够写入区块链账本中的区块。7.根据权利要求6所述的区块链的共识方法,其特征在于,根据所述各个预提交区块的投票结果,确定投票数量满足预提交阶段的投票数量要求的第二区块,包括:若确定出的投票数量满足预提交阶段的投票数量要求的区块为一个,则将确定出的区
块作为所述第二区块;若确定出的投票数量满足预提交阶段的投票数量要...

【专利技术属性】
技术研发人员:刘攀
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1