首页 / 专利库 / 广播 / 基于段的缓存 / 一种交易验证方法及装置

一种交易验证方法及装置

阅读:168发布:2020-05-08

专利汇可以提供一种交易验证方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 实施例 提供一种交易验证方法及装置,所述方法包括:在基于共识 算法 进行的本轮共识过程中,预测当前提案 节点 的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。所述装置执行上述方法。本发明实施例提供的交易验证方法及装置,能够提高共识效率。,下面是一种交易验证方法及装置专利的具体信息内容。

1.一种交易验证方法,其特征在于,包括:
在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;
在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
2.根据权利要求1所述的交易验证方法,其特征在于,所述获取所述下一个提案节点的打包信息,包括:
控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。
3.根据权利要求2所述的交易验证方法,其特征在于,所述打包信息还包括与所述当前提案节点的提案区对应的投票信息;相应的,所述获取所述下一个提案节点的打包信息,包括:
控制下一个提案节点接收所述提案区块,由所述下一个提案节点校验所述提案区块,根据校验结果确定所述投票信息,并广播携带有所述投票信息和所述交易集合的打包信息,以供所述交易验证方法的执行方获取所述打包信息。
4.根据权利要求1所述的交易验证方法,其特征在于,在对所述下一个提案节点进行交易验证的步骤之后,所述交易验证方法还包括:
对交易验证结果进行缓存,并根据本轮出块结果执行相应的处理动作。
5.根据权利要求4所述的交易验证方法,其特征在于,所述根据本轮出块结果执行相应的处理动作,包括:
若所述本轮出块结果为出块不成功,则将缓存的交易验证结果删除;
若所述本轮出块结果为出块成功,则确定所述下一个提案节点为当前提案节点,并继续执行预测当前提案节点的下一个提案节点的步骤,直到完成所有轮次共识。
6.根据权利要求1至5任一所述的交易验证方法,其特征在于,所述非共识投票阶段包括:
共识等待阶段或者账本写入等待IO阶段。
7.一种交易验证装置,其特征在于,包括:
获取单元,用于在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;
交易验证单元,用于在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
8.根据权利要求7所述的交易验证装置,其特征在于,所述获取单元具体用于:
控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。

说明书全文

一种交易验证方法及装置

技术领域

[0001] 本发明涉及链技术领域,尤其涉及一种交易验证方法及装置。

背景技术

[0002] 区块链(Block chain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
[0003] 区块链目前的主流共识算法包括拜占庭容错(Byzantine Fault Tolerance,简称“BFT”)。BFT是一类分布式计算领域的容错技术,拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞中断以及遭到恶意攻击等原因,计算机和网络可能出现不可预料的行为。该容错技术被设计用来处理这些异常行为,并满足所要解决的问题的规范要求。图1为现有技术PBFT算法说明示意图,如图1所示,以BFT中的PBFT算法为例,PBFT算法的核心过程为pre-prepare、prepare和commit三个步骤,这三个步骤是串行执行的,且每一轮需要等上一轮commit之后才会开始,因此,导致现有技术的共识效率低下。

发明内容

[0004] 针对现有技术存在的问题,本发明实施例提供一种交易验证方法及装置。
[0005] 本发明实施例提供一种交易验证方法,包括:
[0006] 在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;
[0007] 在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0008] 其中,所述获取所述下一个提案节点的打包信息,包括:
[0009] 控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。
[0010] 其中,所述打包信息还包括与所述当前提案节点的提案区块对应的投票信息;相应的,所述获取所述下一个提案节点的打包信息,包括:
[0011] 控制下一个提案节点接收所述提案区块,由所述下一个提案节点校验所述提案区块,根据校验结果确定所述投票信息,并广播携带有所述投票信息和所述交易集合的打包信息,以供所述交易验证方法的执行方获取所述打包信息。
[0012] 其中,在对所述下一个提案节点进行交易验证的步骤之后,所述交易验证方法还包括:
[0013] 对交易验证结果进行缓存,并根据本轮出块结果执行相应的处理动作。
[0014] 其中,所述根据本轮出块结果执行相应的处理动作,包括:
[0015] 若所述本轮出块结果为出块不成功,则将缓存的交易验证结果删除;
[0016] 若所述本轮出块结果为出块成功,则确定所述下一个提案节点为当前提案节点,并继续执行预测当前提案节点的下一个提案节点的步骤,直到完成所有轮次共识。
[0017] 其中,所述非共识投票阶段包括:
[0018] 共识等待阶段或者账本写入等待IO阶段。
[0019] 本发明实施例提供一种交易验证装置,包括:
[0020] 获取单元,用于在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;
[0021] 交易验证单元,用于在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0022] 其中,所述获取单元具体用于:
[0023] 控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。
[0024] 本发明实施例提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,
[0025] 所述处理器执行所述程序时实现如下方法步骤:
[0026] 在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;
[0027] 在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0028] 本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下方法步骤:
[0029] 在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;
[0030] 在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0031] 本发明实施例提供的交易验证方法及装置,通过在本轮共识过程中,获取当前提案节点的下一个提案节点的打包信息,在非共识投票阶段根据打包信息中下一个提案节点的交易集合,对下一个提案节点进行交易验证,能够提高共识效率。附图说明
[0032] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033] 图1为现有技术PBFT算法说明示意图;
[0034] 图2为本发明交易验证方法实施例流程图
[0035] 图3为本发明实施例每一轮未更换提案节点的示意图;
[0036] 图4为本发明实施例每一轮更换提案节点的示意图;
[0037] 图5为本发明交易验证装置实施例结构示意图;
[0038] 图6为本发明实施例提供的电子设备实体结构示意图。

具体实施方式

[0039] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040] 图2为本发明交易验证方法实施例流程图,如图2所示,本发明实施例提供的一种交易验证方法,包括以下步骤:
[0041] S201:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合。
[0042] 具体的,在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合。执行该方法步骤的可以是计算机设备,具体可以是终端,即可以是共识节点。本发明实施例是基于BFT类共识算法实现的,具体流程如下:
[0043] 1)共识节点(可以是所有共识节点)接收到当前提案节点的提案区块,块号为N。
[0044] 2)共识节点预测下一个提案区块VPN,即产生块号为N+1的区块信息。
[0045] 3)控制VPN节点接收到上述提案区块N,由VPN节点校验该提案区块N,根据校验结果确定投票信息,即如果提案区块N的区块信息错误,则投票信息为反对票;如果提案区块N的区块信息正确,则投票信息为赞成票。
[0046] 4)控制VPN节点打包VPN的交易集合和上述投票信息,并将该打包信息广播到共识网络(类似于tcp协议的ack回复方式),以供上述共识节点获取该打包信息。
[0047] 5)当共识节点接收到VPN广播的上述打包信息后,可以立刻进行对该交易集合的验证工作,并对交易验证结果进行缓存,验证工作可在本轮共识过程中的非共识投票阶段进行,并根据交易集合对VPN进行交易验证。即验证工作与共识工作并行进行,非共识投票阶段可以包括共识等待阶段或者账本写入等待IO阶段等,不作具体限定。
[0048] 6)如果本轮出块结果为出块不成功,则将上述缓存的交易验证结果删除。
[0049] 7)如果本轮出块结果为出块成功,则确定下一个提案节点为当前提案节点,并继续执行预测当前提案节点的下一个提案节点的步骤,直到完成所有轮次共识,即共识节点可预测(N+2)区块的提案节点,重复从第2)步执行。
[0050] 需要说明的是,上述打包信息也可以不包括上述投票信息,相应的,该方法可以包括:控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。
[0051] S202:在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0052] 具体的,在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。非共识投票阶段可参照上述说明,交易验证可以具体包括签名验证、完整性验证等,不作具体限定。
[0053] 图3为本发明实施例每一轮未更换提案节点的示意图,图4为本发明实施例每一轮更换提案节点的示意图,如图3和图4所示,本发明实施例具有如下有益效果:
[0054] 1)提升共识效率,降低交易验证时间。该技术方案在某轮共识中可开始对下一轮区块交易集合进行验证。
[0055] 2)提高资源利用率。在投票等待期间、账本写入期间,CPU资源为空闲态,利用该时间进行签名验证等耗费CPU资源的操作。
[0056] 本发明实施例尤其适用于如下应用场景:
[0057] 在区块内交易较多、逻辑复杂和共识节点验证交易速度慢。
[0058] 本发明实施例提供的交易验证方法,通过在本轮共识过程中,获取当前提案节点的下一个提案节点的打包信息,在非共识投票阶段根据打包信息中下一个提案节点的交易集合,对下一个提案节点进行交易验证,能够提高共识效率。
[0059] 在上述实施例的基础上,所述获取所述下一个提案节点的打包信息,包括:
[0060] 具体的,控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。可参照上述说明,不再赘述。
[0061] 本发明实施例提供的交易验证方法,能够高效获取到下一个提案节点的打包信息,有助于进一步提高共识效率。
[0062] 在上述实施例的基础上,所述打包信息还包括与所述当前提案节点的提案区块对应的投票信息;相应的,所述获取所述下一个提案节点的打包信息,包括:
[0063] 具体的,控制下一个提案节点接收所述提案区块,由所述下一个提案节点校验所述提案区块,根据校验结果确定所述投票信息,并广播携带有所述投票信息和所述交易集合的打包信息,以供所述交易验证方法的执行方获取所述打包信息。可参照上述说明,不再赘述。
[0064] 本发明实施例提供的交易验证方法,通过在打包信息中还携带投票信息,避免再单独发送携带投票信息的通信报文,能够节约通信资源。
[0065] 在上述实施例的基础上,在对所述下一个提案节点进行交易验证的步骤之后,所述交易验证方法还包括:
[0066] 具体的,对交易验证结果进行缓存,并根据本轮出块结果执行相应的处理动作。即根据本轮出块结果执行相应的处理动作具体包括:上述本轮出块结果为出块不成功和本轮出块结果为出块成功的情况,不再赘述。
[0067] 本发明实施例提供的交易验证方法,进一步优化了该方法的执行过程。
[0068] 在上述实施例的基础上,所述根据本轮出块结果执行相应的处理动作,包括:
[0069] 具体的,若所述本轮出块结果为出块不成功,则将缓存的交易验证结果删除;可参照上述说明,不再赘述。
[0070] 具体的,若所述本轮出块结果为出块成功,则确定所述下一个提案节点为当前提案节点,并继续执行预测当前提案节点的下一个提案节点的步骤,直到完成所有轮次共识。可参照上述说明,不再赘述。
[0071] 本发明实施例提供的交易验证方法,一方面能够及时删除缓存中的信息,另一方面能够实现该方法的快速循环迭代,进一步提高共识效率。
[0072] 在上述实施例的基础上,具体的,所述非共识投票阶段包括:
[0073] 共识等待阶段或者账本写入等待IO阶段。
[0074] 本发明实施例提供的交易验证方法,通过在共识等待阶段或者账本写入等待IO阶段对下一个提案节点进行交易验证,实现交易验证和共识的并行进行,进一步提高共识效率。
[0075] 图5为本发明交易验证装置实施例结构示意图,如图5所示,本发明实施例提供了一种交易验证装置,包括获取单元501和交易验证单元502,其中:
[0076] 获取单元501用于在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;交易验证单元502用于在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0077] 具体的,获取单元501用于在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;交易验证单元502用于在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0078] 本发明实施例提供的交易验证装置,通过在本轮共识过程中,获取当前提案节点的下一个提案节点的打包信息,在非共识投票阶段根据打包信息中下一个提案节点的交易集合,对下一个提案节点进行交易验证,能够提高共识效率。
[0079] 在上述实施例的基础上,所述获取单元具体501用于:
[0080] 控制下一个提案节点广播所述打包信息,以供所述交易验证方法的执行方获取所述打包信息。
[0081] 本发明实施例提供的交易验证装置,能够高效获取到下一个提案节点的打包信息,有助于进一步提高共识效率。
[0082] 本发明实施例提供的交易验证装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
[0083] 图6为本发明实施例提供的电子设备实体结构示意图,如图6所示,所述电子设备包括:处理器(processor)601、存储器(memory)602和总线603;
[0084] 其中,所述处理器601、存储器602通过总线603完成相互间的通信;
[0085] 所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0086] 本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0087] 本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:在基于共识算法进行的本轮共识过程中,预测当前提案节点的下一个提案节点,并获取所述下一个提案节点的打包信息;其中,所述共识算法为可预测提案节点的BFT类共识算法、所述打包信息至少包括所述下一个提案节点的交易集合;在非共识投票阶段根据所述交易集合,对所述下一个提案节点进行交易验证。
[0088] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0089] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0090] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0091] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈