一种交易预处理方法、装置及电子设备制造方法及图纸

技术编号:19143319 阅读:21 留言:0更新日期:2018-10-13 09:09
本申请实施例公开一种交易预处理方法、装置及电子设备,包括:第一区块链节点将提议块信息广播给一个或多个第二区块链节点;每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的共识节点。本申请通过提供基于多轮投票共识算法的区块链系统中的交易预处理方法、装置及电子设备,有效地提供了资源利用率,减少了资源浪费,提高了区块链系统的性能。

Transaction preprocessing method, device and electronic device

The embodiment of the present application discloses a transaction preprocessing method, device and electronic device, including: the first block chain node broadcasts the proposed block information to one or more second block chain nodes; each second block chain node performs transaction preprocessing according to the proposed block information according to certain rules; wherein the first zone The block chain node and the second block chain node are the consensus nodes in the block chain network. By providing transaction preprocessing methods, devices and electronic devices in block chain system based on multi-round voting consensus algorithm, the application effectively provides resource utilization, reduces resource waste, and improves the performance of block chain system.

【技术实现步骤摘要】
一种交易预处理方法、装置及电子设备
本申请涉及网络
,尤其涉及一种交易预处理方法、装置及电子设备。
技术介绍
区块链是一种新的分布式技术,是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。采用区块链技术架构的网络可视为区块链网络,该区块链网络中包含多个区块链节点,任一区块链节点可对应至少一个区块链,任一区块链可包含至少一个区块。在区块链技术中,共识算法是区块链网络中实现不同区块链节点之间建立信任、获取权益的重要方法。目前采用实用拜占庭容错(PracticalByzantineFaultTolerance,PBFT)这类共识算法的区块链中,区块链底层平台先对交易完成共识,共识完成后才会去完成交易的执行计算。在这类共识算法中,一般会采用多轮投票,在多轮投票的过程中,先完成共识,当最后一轮投票结束后,通过投票的块(block)被提交,才会开始进行计算。由于多轮投票过程比较耗时,在这个过程中,相应的功能模块往往处于空闲状态,资源利用率低,资源比较浪费。由此,亟需找到一种区块链中新的提高资源利用率的预处理方案,以克服上述问题。
技术实现思路
本申请实施例提供一种交易预处理方法、装置及电子设备,用以解决现有技术的共识方案中存在的资源利用率低、资源浪费的问题。为了解决上述技术问题,本申请实施例采用下述技术方案:第一方面,提供了一种交易预处理方法,包括:第一区块链节点将提议块信息广播给一个或多个第二区块链节点;每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的共识节点。在一种可能的实现方式中,所述每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理,包括:所述每个第二区块链节点根据所述提议块信息获得所述每个第二区块链节点对应的第一交易数据包,并根据所述第一交易数据包按照一定的规则进行交易预处理。可选的,所述每个第二区块链节点将交易预处理的结果不存入数据库,存入各自的缓存中。在一种可能的实现方式中,在所述每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理之后,所述方法还包括:所述每个第二区块链节点进行第一轮共识投票,所述第一区块链节点根据所述第一轮共识投票的结果获得预确认块信息。可选的,在所述第一区块链节点根据所述第一轮共识投票的结果获得预确认块信息之后,所述方法还包括:所述每个第二区块链节点进行第二轮共识投票,所述第一区块链节点根据所述第二轮共识投票的结果获得确认块信息;所述每个第二区块链节点将所述提议块信息与所述确认块信息进行比对。在一种可能的实现方式中,所述每个第二区块链节点将所述提议块信息与所述确认块信息进行比对,进一步包括:如果所述提议块信息与所述确认块信息相同,则所述每个第二区块链节点将所述每个第二区块链节点对应的交易预处理的结果存入数据库;如果所述提议块信息与所述确认块信息不同,则所述每个第二区块链节点根据所述确认块信息获得所述每个第二区块链节点对应的第二交易数据包,并根据所述第二交易数据包进行交易处理;所述每个第二区块链节点将所述交易处理的结果存入数据库。第二方面,提供了一种交易预处理装置,包括:广播模块,用于第一区块链节点将提议块信息广播给一个或多个第二区块链节点;处理模块,用于每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理;以及每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理之后,所述每个第二区块链节点进行第一轮共识投票,所述第一区块链节点根据所述第一轮共识投票的结果获得预确认块信息;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的共识节点。在一种可能的实现方式中,所述处理模块,还用于使所述每个第二区块链节点进行第二轮共识投票,所述第一区块链节点根据所述第二轮共识投票的结果获得确认块信息;以及所述每个第二区块链节点将所述提议块信息与所述确认块信息进行比对;如果所述提议块信息与所述确认块信息相同,则所述处理模块用于所述每个第二区块链节点将所述每个第二区块链节点对应的交易预处理的结果存入存储模块;如果所述提议块信息与所述确认块信息不同,则所述处理模块用于所述每个第二区块链节点根据所述确认块信息获得所述每个第二区块链节点对应的第二交易数据包,并根据所述第二交易数据包进行交易处理;所述每个第二区块链节点将所述交易处理的结果存入所述存储模块。第三方面,本申请提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行第一方面所述的方法。第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面所述的方法。第五方面,本申请提供一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的软件程序,以实现第一方面所述的方法。本申请通过提供基于多轮投票共识算法的区块链系统中的交易预处理方法、装置及电子设备,使交易得到预先执行,有效地提供了资源利用率,提高了区块链系统的性能。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种PBFT共识算法示意图;图2为本申请实施例提供的一种tendermint共识算法示意图;图3为本申请实施例提供的一种交易预处理的方法的流程图;图4为本申请实施例提供的一种交易预处理的方法的示意图;图5为本说明书实施例提供的一种电子设备的结构示意图;图6为本说明书实施例提供的一种交易预处理装置的结构示意图。具体实施方式为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书实施例保护的范围。以下结合附图,详细说明本说明书各实施例提供的技术方案。区块链本质上是一个去中心化的数据库,是一连串使用密码学方法产生相关联的数据块,每一个数据块中包含了一段时间内全网交易的信息。不同的区块链,有着不同的内涵和功能。区块链中最重要的就是共识算法,共识算法中包括分布式一致性算法,分布式一致性算法一般可以分为拜占庭容错(ByzantineFaultTolerance,BFT)算法和非拜占庭容错算法。目前主流的拜占庭容错算法包括传统的PBFT算法、tendermint算法等。基于拜占庭将军的问题,一致性的确保主要分为三个阶段:预准备(pre-prepare)、准备(prepare)和确认(commit)。其示意图如图1所示。在图1中,C为发送请求端节点,0、1、2、3为服务端节点,3为宕机的服务端节点,具体步骤如下:请求(Request):请求端节点C发送请求到任意一节点,在本申请的实施例中为0。预准本文档来自技高网...

【技术保护点】
1.一种交易预处理方法,其特征在于,所述方法包括:第一区块链节点将提议块信息广播给一个或多个第二区块链节点;每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的共识节点。

【技术特征摘要】
1.一种交易预处理方法,其特征在于,所述方法包括:第一区块链节点将提议块信息广播给一个或多个第二区块链节点;每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理;其中,所述第一区块链节点和所述第二区块链节点为区块链网络中的共识节点。2.根据权利要求1所述的方法,其特征在于,所述每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理,包括:所述每个第二区块链节点根据所述提议块信息获得所述每个第二区块链节点对应的第一交易数据包,并根据所述第一交易数据包按照一定的规则进行交易预处理。3.根据权利要求1或2所述的方法,其特征在于,所述每个第二区块链节点将交易预处理的结果不存入数据库,存入各自的缓存中。4.根据权利要求1或2所述的方法,其特征在于,在所述每个第二区块链节点根据所述提议块信息按照一定的规则进行交易预处理之后,所述方法还包括:所述每个第二区块链节点进行第一轮共识投票,所述第一区块链节点根据所述第一轮共识投票的结果获得预确认块信息。5.根据权利要求4所述的方法,其特征在于,在所述第一区块链节点根据所述第一轮共识投票的结果获得预确认块信息之后,所述方法还包括:所述每个第二区块链节点进行第二轮共识投票,所述第一区块链节点根据所述第二轮共识投票的结果获得确认块信息;所述每个第二区块链节点将所述提议块信息与所述确认块信息进行比对。6.根据权利要求5所述的方法,其特征在于,所述每个第二区块链节点将所述提议块信息与所述确认块信息进行比对,进一步包括:如果所述提议块信息与所述确认块信息相同,则所述每个第二区块链节点将所述每个第二区块链节点对应的交易预处理的结果存入数据库;如果所述提议块信息与所述确认块信息不同,则所述每个第二区块链节点根据所述确认块信息获得所述每个第二区块链节点对应的第二交易数据包,并根据所述第二交易数据包进行交易处理;所述每个第二区块链节点将所述交易处理的结果存入数据库。7...

【专利技术属性】
技术研发人员:谢晗剑卢缃梅张亚宁
申请(专利权)人:杭州秘猿科技有限公司
类型:发明
国别省市:浙江,33

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

1