区块链网络中的共识方法、节点及存储介质技术

技术编号:24409887 阅读:34 留言:0更新日期:2020-06-06 08:43
本发明专利技术提供了一种区块链网络中的共识方法、节点及存储介质,其中,方法包括:响应于节点处于准备阶段,获取对应所述节点的缓存池中锁定区块的数量信息;所述锁定区块为所述节点视为通过确认的区块;基于所述锁定区块的数量信息,确定所述缓存池已达缓存上限时,以所述缓存池中缓存的多个所述锁定区块为区块确认单位,触发所述节点进入确认阶段,使得多个所述锁定区块在所述确认阶段完成共识。

Consensus method, node and storage medium in blockchain network

【技术实现步骤摘要】
区块链网络中的共识方法、节点及存储介质
本专利技术涉及通信技术,尤其涉及一种区块链网络中的共识方法、节点及存储介质。
技术介绍
相关技术的区块链网络中,当节点采用的共识算法为拜占庭容错(PBFT,PracticalByzantineFaultTolerance)算法时,共识的达成需要超过(n-1)/3的节点确认,n为节点数量,每一次的共识需要多轮投票才能完成,在同构多链情况下,节点需要进行反复提交多种状态的共识信息,给网络带来巨大的压力。
技术实现思路
本专利技术实施例提供一种区块链网络中的共识方法、节点及存储介质,能够有效的减轻区块链网络的压力。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供一种区块链网络中的共识方法,包括:响应于节点处于准备阶段,获取对应所述节点的缓存池中锁定区块的数量信息;所述锁定区块为所述节点视为通过确认的区块;基于所述锁定区块的数量信息,确定所述缓存池已达缓存上限时,以所述缓存池中缓存的多个所述锁定区块为区块确认单位,触发所述节点进入确认阶段,使得多个所述锁定区块在所述确认阶段完成共识。上述方案中,所述方法还包括:接收针对待确认区块表征同意的准备类型消息;所述准备类型消息由所述节点所处区块链中其它节点发送;当针对所述待确认区块表征同意的所述准备类型消息的数量达到预设的数量阈值时,视为所述待确认区块通过确认。上述方案中,当基于所述锁定区块的数量信息,确定所述缓存池未达到缓存上限时,所述方法还包括:将通过确认的所述待确认区块进行锁定,得到锁定区块;将得到的所述锁定区块加入所述缓存池。上述方案中,所述确定所述缓存池已达缓存上限之后,所述方法还包括:解锁所述缓存池中缓存的多个所述锁定区块;获取针对多个所述锁定区块表征同意的准备类型消息;所述准备类型消息由所述节点所处区块链中其它节点发送;当针对多个所述锁定区块表征同意的准备类型消息的数量达到预设的数量阈值时,视为多个所述锁定区块通过确认。上述方案中,所述方法还包括:接收针对多个所述锁定区块的确认类型消息;所述确认类型消息表征对应的节点视为多个所述锁定区块通过确认;当接收到的针对多个所述锁定区块的确认类型消息的数量达到预设的数量阈值时,视为多个所述锁定区块在所述确认阶段完成共识。上述方案中,所述方法还包括:接收客户端发送的至少一个交易请求;将所述至少一个交易请求打包形成待确认区块;发送携带所述待确认区块的预准备消息至所述节点所处区块链中的其它节点。第二方面,本专利技术实施例提供一种区块链网络中的节点,所述节点包括:获取单元,用于响应于节点处于准备阶段,获取对应所述节点的缓存池中锁定区块的数量信息;所述锁定区块为所述节点视为通过确认的区块;处理单元,用于基于所述锁定区块的数量信息,确定所述缓存池已达缓存上限时,以所述缓存池中缓存的多个所述锁定区块为区块确认单位,触发所述节点进入确认阶段,使得多个所述锁定区块在所述确认阶段完成共识。上述方案中,所述获取单元,用于接收针对待确认区块表征同意的准备类型消息;所述准备类型消息由所述节点所处区块链中其它节点发送;所述处理单元,还用于当针对所述待确认区块表征同意的所述准备类型消息的数量达到预设的数量阈值时,视为所述待确认区块通过确认。上述方案中,所述处理单元,还用于将通过确认的所述待确认区块进行锁定,得到锁定区块,并将得到的所述锁定区块加入所述缓存池。上述方案中,所述处理单元,还用于解锁所述缓存池中缓存的多个所述锁定区块;所述获取单元,还用于获取针对多个所述锁定区块表征同意的准备类型消息;所述准备类型消息由所述节点所处区块链中其它节点发送;所述处理单元,还用于当针对多个所述锁定区块表征同意的准备类型消息的数量达到预设的数量阈值时,视为多个所述锁定区块通过确认。上述方案中,所述获取单元,还用于接收针对多个所述锁定区块的确认类型消息;所述确认类型消息表征对应的节点视为多个所述锁定区块通过确认;所述处理单元,还用于当接收到的针对多个所述锁定区块的确认类型消息的数量达到预设的数量阈值时,视为多个所述锁定区块在所述确认阶段完成共识。上述方案中,所述节点还包括发送单元;所述获取单元,还用于接收客户端发送的至少一个交易请求;所述处理单元,还用于将所述至少一个交易请求打包形成待确认区块;所述发送单元,用于发送携带所述待确认区块的预准备消息至所述节点所处区块链中的其它节点。第三方面,本专利技术实施例提供一种区块链网络中的节点,所述节点包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本专利技术实施例提供的所述区块链网络中的共识方法。第四方面,本专利技术实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本专利技术实施例提供的所述区块链网络中的共识方法。应用本专利技术实施例具有以下有益效果:响应于节点处于准备阶段,获取对应所述节点的缓存池中锁定区块的数量信息;所述锁定区块为所述节点视为通过确认的区块;基于所述锁定区块的数量信息,确定所述缓存池已达缓存上限时,以所述缓存池中缓存的多个所述锁定区块为区块确认单位,触发所述节点进入确认阶段,使得多个所述锁定区块在所述确认阶段完成共识。也就是说,节点对区块确认通过时并未马上进入确认阶段,而是将区块锁定并在缓存池中缓存,当缓存池中的锁定区块达到缓存上限时,将缓存池中的多个锁定区块作为一个整体,对其执行一次确认阶段所对应的操作;如此,相较于针对每个确认通过的区块均要执行确认阶段的操作来说,极大的减少了区块链网络中各个节点进行数据通信及数据处理所带来的压力。附图说明图1是本专利技术实施例提供的区块链网络的功能架构示意图;图2为本专利技术实施例提供的同构多链框架的一个可选的示意图;图3为本专利技术实施例提供的同构多链架构中链间通信的示意图;图4为本专利技术实施例提供的节点的结构示意图;图5为本专利技术实施例提供的基于PBFT的共识方法的示意图;图6为本专利技术实施例提供的区块链网络中的共识方法的流程示意图一;图7为本专利技术实施例提供的区块链网络中的共识方法的流程示意图二;图8为本专利技术实施例提供的区块链网络中的共识方法的流程示意图三;图9为本专利技术实施例提供的节点的组成结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,所描述的实施例不应视为对本专利技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本专利技术实施例的目的,不是本文档来自技高网
...

【技术保护点】
1.一种区块链网络中的共识方法,其特征在于,所述方法包括:/n响应于节点处于准备阶段,获取对应所述节点的缓存池中锁定区块的数量信息;所述锁定区块为所述节点视为通过确认的区块;/n基于所述锁定区块的数量信息,确定所述缓存池已达缓存上限时,以所述缓存池中缓存的多个所述锁定区块为区块确认单位,触发所述节点进入确认阶段,使得多个所述锁定区块在所述确认阶段完成共识。/n

【技术特征摘要】
1.一种区块链网络中的共识方法,其特征在于,所述方法包括:
响应于节点处于准备阶段,获取对应所述节点的缓存池中锁定区块的数量信息;所述锁定区块为所述节点视为通过确认的区块;
基于所述锁定区块的数量信息,确定所述缓存池已达缓存上限时,以所述缓存池中缓存的多个所述锁定区块为区块确认单位,触发所述节点进入确认阶段,使得多个所述锁定区块在所述确认阶段完成共识。


2.如权利要求1所述的共识方法,其特征在于,所述方法还包括:
接收针对待确认区块表征同意的准备类型消息;所述准备类型消息由所述节点所处区块链中其它节点发送;
当针对所述待确认区块表征同意的所述准备类型消息的数量达到预设的数量阈值时,视为所述待确认区块通过确认。


3.如权利要求2所述的共识方法,其特征在于,当基于所述锁定区块的数量信息,确定所述缓存池未达到缓存上限时,所述方法还包括:
将通过确认的所述待确认区块进行锁定,得到锁定区块;
将得到的所述锁定区块加入所述缓存池。


4.如权利要求1所述的共识方法,其特征在于,所述确定所述缓存池已达缓存上限之后,所述方法还包括:
解锁所述缓存池中缓存的多个所述锁定区块;
获取针对多个所述锁定区块表征同意的准备类型消息;所述准备类型消息由所述节点所处区块链中其它节点发送;
当针对多个所述锁定区块表征同意的准备类型消息的数量达到预设的数量阈值时,视为多个所述锁定区块通过确认。


5.如权利要求1所述的共识方法,其特征在于,所述方法还包括:
接收针对多个所述锁定区块的确认类型消息;所述确认类型消息表征对应的节点视为多个所述锁定区块通过确认;
当接收到的针对多个所述锁定区块的确认类型消息的数量达到预设的数量阈值时,视为多个所述锁定区块在所述确认阶段完成共识。


6.如权利要求1至5任一项所述的共识方法,其特征在于,所述方法还包括:
接收客户端发送的至少一个交易请求;
将所述至少一个交易请求打包形成待确认区块;
发送携带所述待确认区块的预准备消息至所述节点所处区块链中的其它节点。


7.一种节点,其特征在于,所述节点包括:
获取单元,用于响应于节点处于准备阶段,获取对应所述节点的缓存池中锁定区块的数量信息;所述锁定区块为所述节点视为通过确认的区块;
处理单元,用于...

【专利技术属性】
技术研发人员:李俊涛
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1