一种交易验证方法及装置制造方法及图纸

技术编号:23991650 阅读:19 留言:0更新日期:2020-04-29 16:24
本发明专利技术实施例提供一种交易验证方法及装置,所述方法包括:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。所述装置执行上述方法。本发明专利技术实施例提供的交易验证方法及装置,能够提高共识效率。

A transaction verification method and device

【技术实现步骤摘要】
一种交易验证方法及装置
本专利技术涉及区块链
,尤其涉及一种交易验证方法及装置。
技术介绍
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链目前的主流共识算法包括拜占庭容错(ByzantineFaultTolerance,简称“BFT”)。BFT是一类分布式计算领域的容错技术,拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞中断以及遭到恶意攻击等原因,计算机和网络可能出现不可预料的行为。该容错技术被设计用来处理这些异常行为,并满足所要解决的问题的规范要求。图1为现有技术PBFT算法说明示意图,如图1所示,以BFT中的PBFT算法为例,PBFT算法的核心过程为pre-prepare、prepare和commit三个步骤,这三个步骤是串行执行的,且每一轮需要等上一轮commit之后才会开始,因此,导致现有技术的共识效率低下。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种交易验证方法及装置。本专利技术实施例提供一种交易验证方法,包括:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。其中,所述获取所述下一个提案节点的打包信息,包括:控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。其中,所述打包信息还包括与所述当前提案节点的提案区块对应的投票信息;相应的,所述获取所述下一个提案节点的打包信息,包括:控制下一个提案节点接收所述提案区块,由所述下一个提案节点校验所述提案区块,根据校验结果确定所述投票信息,并广播携带有所述投票信息和所述交易集合的打包信息,以供所述交易验证方法的执行方获取所述打包信息。其中,在对所述下一个提案节点进行交易验证的步骤之后,所述交易验证方法还包括:对交易验证结果进行缓存,并根据本轮出块结果执行相应的处理动作。其中,所述根据本轮出块结果执行相应的处理动作,包括:若所述本轮出块结果为出块不成功,则将缓存的交易验证结果删除;若所述本轮出块结果为出块成功,则确定所述下一个提案节点为当前提案节点,并继续执行预测当前提案节点的下一个提案节点的步骤,直到完成所有轮次共识。其中,所述非共识投票阶段包括:共识等待阶段或者账本写入等待IO阶段。本专利技术实施例提供一种交易验证装置,包括:获取单元,用于在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;交易验证单元,用于在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。其中,所述获取单元具体用于:控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。本专利技术实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如下方法步骤:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。本专利技术实施例提供的交易验证方法及装置,通过在本轮共识过程中,获取当前提案节点的下一个提案节点的打包信息,在非共识投票阶段根据打包信息中下一个提案节点的交易集合,对下一个提案节点进行交易验证,能够提高共识效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术PBFT算法说明示意图;图2为本专利技术交易验证方法实施例流程图;图3为本专利技术实施例每一轮未更换提案节点的示意图;图4为本专利技术实施例每一轮更换提案节点的示意图;图5为本专利技术交易验证装置实施例结构示意图;图6为本专利技术实施例提供的电子设备实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图2为本专利技术交易验证方法实施例流程图,如图2所示,本专利技术实施例提供的一种交易验证方法,包括以下步骤:S201:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合。具体的,在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合。执行该方法步骤的可以是计算机设备,具体可以是终端,即可以是共识节点。本专利技术实施例是基于BFT类共识算法实现的,具体流程如下:1)共识节点(可以是所有共识节点)接收到当前提案节点的提案区块,块号为N。2)共识节点预测下一个提案区块VPN,即产生块号为N+1的区块信息。3)控制VPN节点接收到上述提案区块N,由VPN节点校验该提案区块N,根据校验结果确定投票信息,即如果提案区块本文档来自技高网...

【技术保护点】
1.一种交易验证方法,其特征在于,包括:/n在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;/n在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。/n

【技术特征摘要】
1.一种交易验证方法,其特征在于,包括:
在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;
在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。


2.根据权利要求1所述的交易验证方法,其特征在于,所述获取所述下一个提案节点的打包信息,包括:
控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。


3.根据权利要求2所述的交易验证方法,其特征在于,所述打包信息还包括与所述当前提案节点的提案区块对应的投票信息;相应的,所述获取所述下一个提案节点的打包信息,包括:
控制下一个提案节点接收所述提案区块,由所述下一个提案节点校验所述提案区块,根据校验结果确定所述投票信息,并广播携带有所述投票信息和所述交易集合的打包信息,以供所述交易验证方法的执行方获取所述打包信息。


4.根据权利要求1所述的交易验证方法,其特征在于,在对所述下一个提案节点进行交易验证的步骤之后,所述交易验证方法还包括:
对交易验证结果进行缓存,并根据本轮出块结果执行相应的处理动作。


5.根据权利要求4所述的交易验证方法,其特征在于,所述根据本轮出块结果执行相应的处理动作,包括:
若所...

【专利技术属性】
技术研发人员:徐加明殷舒步璐璐马啸隋丙跃
申请(专利权)人:北京菲林方德科技有限公司
类型:发明
国别省市:北京;11

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

1