处理区块链中的交易的方法、系统及装置与流程

文档序号:15963413发布日期:2018-11-16 23:01阅读:200来源:国知局

本发明涉及区块链技术,尤其涉及处理区块链中的交易的方法、系统及装置。

背景技术

区块链是利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据传输和访问的安全,生成不可篡改和不可伪造的分布式账本,建立互相信任的数据网络。区块链账本的数据是以交易为单位执行并更新的,如果频繁发送单笔交易,不但区块链执行效率较低,而且交易到达区块链的顺序无法保证。用户每一笔交易在区块链上经过多个节点广播共识后打包入块,性能瓶颈较大。



技术实现要素:

针对上述问题,本发明一方面提供了一种处理区块链中的交易的方法,所述方法包括:接收至少两笔原始交易数据;针对所述至少两笔原始交易数据中的每笔原始交易数据,生成与所述每笔原始交易数据相对应的签名;将所述每笔原始交易数据和与所述每笔原始交易数据相对应的签名结合形成至少两笔带签名的交易数据;以及将所述至少两笔带签名的交易数据封装成整体交易数据。

在一种实施方式中,将所述至少两笔带签名的交易数据封装成整体交易数据之前还包括:分别对所述至少两笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,以获得与所述每笔带签名的交易数据相对应的至少两个交易哈希。

本发明的另一方面提供了一种处理区块链中的交易的方法,所述方法包括:接收整体交易数据,其中,所述整体交易数据中封装有至少两笔带签名的交易数据;对所述整体交易数据进行解封装以获得所述至少两笔带签名的交易数据,进而获得与所述至少两笔带签名的交易数据相对应的至少两笔原始交易数据。

在一种实施方式中,所述方法还包括:分别执行与所述至少两笔原始交易数据相对应的至少两笔交易。

在一种实施方式中,所述方法还包括:对所述至少两笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,以获得与所述至少两笔带签名的交易数据相对应的至少两个交易哈希。

在一种实施方式中,所述方法还包括:如果所述至少两笔交易中每笔交易都执行成功,则将所述每笔交易的执行状态信息存储到区块链账本中。

本发明另一方面还提供了一种处理区块链中的交易的系统,所述系统至少包括:第一装置和第二装置,其中,所述第一装置被配置为向所述第二装置发送整体交易数据,其中,所述整体交易数据中封装有至少两笔带签名的交易数据,并且所述第二装置位于区块链上;所述第二装置被配置为对接收到的所述整体交易数据进行解封装,以获得与所述至少两笔带签名的交易数据相对应的至少两笔原始交易数据。

一种实施方式中,所述第二装置还被配置为分别执行与所述至少两笔原始交易数据相对应的至少两笔交易中的每笔交易。

一种实施方式中,所述第一装置被配置为通过以下方式获得所述整体交易数据:接收所述至少两笔原始交易数据;针对所述至少两笔原始交易数据中的每笔原始交易数据,生成与所述每笔原始交易数据相对应的签名;将所述每笔原始交易数据和与所述每笔原始交易数据相对应的签名结合形成所述至少两笔带签名的交易数据;以及将所述至少两笔带签名的交易数据封装成所述整体交易数据。

一种实施方式中,所述第二装置还被配置为对所述至少两笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,以获得与所述至少两笔带签名的交易数据相对应的至少两个交易哈希。

一种实施方式中,所述第二装置还被配置为如果所述至少两笔交易中每笔交易都执行成功,则将所述每笔交易的执行状态信息存储到区块链账本中。

本发明另一方面还提供了一种处理区块链的交易的装置,所述装置包括:存储器;处理器,其用于存储指令,当所述指令被执行时使得所述处理器执行上述方法中的任一项所述的方法。

本发明另一方面还提供了一种计算机可读存储介质,所述存储介质包括指令,所述指令被执行时,使得所述计算机的处理器执行上述方法中任一项所述的方法。

本发明可以保证交易的签名等隐私问题不变的前提下,顺序地执行多笔交易。这一批交易作为一个事务,中间某笔失败,则整笔批量交易失败。用户发送批量请求可以获取批量请求的所有交易哈希,作为查询批量中每一单条交易执行结果的凭据。采用批量处理交易,可以大幅度增加区块链的tps,保证多笔交易的执行顺序,提高用户体验。

附图说明

图1示出了根据本发明的实施例的处理区块链中的交易的网络结构图100。

图2示出了根据本发明的实施例的处理区块链中的交易的方法的流程图200;

图3示出了根据本发明的实施例的针对封装侧的处理区块链中的交易的方法的流程图300;

图4示出了根据本发明的实施例的针对解封装侧的处理区块链中的交易的方法的流程图400;

图5示出了根据本发明的实施例的处理区块链中的交易的系统的框图500;

图6示出了根据本发明的实施例的处理区块链中的交易的装置600的示意图。

具体实施方式

以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。对于附图中的各单元之间的连线,仅仅是为了便于说明,其表示至少连线两端的单元是相互通信的,并非旨在限制未连线的单元之间无法通信。

术语解释:

交易数据:要完成的交易所涉及的数据,包括例如转出账户地址、转账金额和转入账户地址等等。

整体交易数据:由多笔交易数据封装成的交易数据。

图1示出了根据本发明的实施例的处理区块链中的交易的网络结构图100。

如图1所示,本发明的示例性实施例中的处理区块链中的交易的方法、系统、装置及计算机可读存储介质可以在该网络中实现。该网络包括但不限于装置101和区块链102,区块链102包括但不限于通过网络连接起来的装置(或称为节点)102a、102b和102c。应当理解,出于说明而非限制目的,图1可以包括更多或更少的装置。虽然如图1所示,装置1位于区块链102外,但是还应理解,装置1也可以位于区块链102上。另外还应理解,本发明的装置之间可以通过有线或无线通信的方式进行发送和接收数据并不限于图1中所示的装置之间彼此是否有线连接。

图2示出了根据本发明的实施例的处理区块链中的交易的方法的流程图200。下面结合图1对流程图200进行说明。

在步骤s201中,装置101按约定的格式接收多笔原始交易数据。应理解的是,装置101可以从独立的其它装置或者从其它区块链上的装置(节点)接收多笔原始交易数据。

在步骤s202中,装置101分别对接收到的多笔原始交易数据中的每笔原始交易数据添加签名。

在步骤s203中,装置101分别将每笔原始交易数据与所添加的相应的签名结合形成对应的多笔带签名的交易数据,例如,原始交易数据2结合签名1形成带签名的交易数据1,原始交易数据2结合签名2形成带签名的交易数据1,……,原始交易数据n结合签名n形成带签名的交易数据n等等。

在步骤s204中,装置101对步骤s203中形成的多笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,以获得与多笔带签名的交易数据相对应的多个交易哈希。

在步骤s205中,装置101将步骤s203中形成的多笔带签名的交易数据封装成整体交易数据并且用特殊标识标记整体交易数据。例如,有5笔带签名的交易数据,那么将这5笔交易数据封装在一起成为一笔整体交易数据。

在步骤s206中,装置101向装置102a发送步骤s204中得到的带特殊标识的整体交易数据。应理解,装置101可以向区块链102中的任意装置发送得到的带特殊标识的整体交易数据,这里为了方便,以向装置102a发送整体交易数据为例进行说明。

在一种实施方式中,装置101通过位于其内的api程序执行步骤s201至步骤s206。应理解的是,装置101可以通过其它合适的方式执行步骤s201至步骤s206。

在步骤s207中,针对接收到的带特殊标识的整体交易数据,装置102a识别特殊标识并且对该笔整体交易数据进行解封装,以获得与该笔整体交易数据相对应的多笔带签名的交易数据,进而获得与多笔带签名的交易数据相对应的多笔原始交易数据。

在步骤s208中,装置102a对步骤s207中获得的多笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,以获得与多笔带签名的交易数据相对应的多个交易哈希。在一种实施方式中,用户将该笔交易的交易哈希保存到适当的位置,作为查询交易执行结果的凭据。

在步骤s209中,装置102a分别执行与多笔原始交易数据相对应的多笔交易。

应理解的是,当步骤s206中装置101向装置102b或装置102c发送整体交易数据时,102b或装置102c将与上面叙述的装置102a一样执行步骤s207至步骤s209。

在一种实施方式中,步骤s209之后还包括如下步骤:如果多笔交易都被执行成功,则区块链102中的装置(节点)将每笔交易的执行状态信息存储到区块链账本中,否则只要多笔交易中有一笔交易执行失败就回退到开始执行该多笔交易前的状态。

采用图2所示的批量处理交易的方法,可以大幅度增加区块链的tps(每秒事务处理量),保证多笔交易的执行顺序,提高用户体验。

图3示出了根据本发明的实施例的针对封装侧的处理区块链中的交易的方法的流程图300。下面结合图1对流程图300进行说明。

在步骤s301中,装置101接收多笔原始交易数据。应理解的是,装置101可以从独立的其它装置或者从其它区块链上的装置(节点)接收多笔原始交易数据。

在步骤s302中,装置101对接收到的多笔原始交易数据中的每一笔原始交易数据添加签名。

在步骤s303中,装置101将多笔原始交易数据中的每一笔原始交易数据和添加的相应签名结合形成多笔带签名的交易数据。

在步骤s304中,装置101将形成的多笔带签名的交易数据封装成整体交易数据。

在一种实施方式中,在步骤s304之前还包括以下步骤:装置101分别对步骤s303中形成的多笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,以获得与多笔带签名的交易数据相相对应的多个交易哈希。

在另一种实施方式中,步骤s304之后还包括以下步骤:装置101还向区块链中的装置102a至装置102c中的任意一个装置发送整体交易数据。

图4示出了根据本发明的实施例的针对解封装侧的处理区块链中的交易的方法的流程图400。下面结合图1对流程图400进行说明。

在步骤s401中,装置102a接收来自装置101的整体交易数据。

在步骤s402中,装置102a对接收到的整体交易数据进行解封装以获得多笔带签名的交易数据,进而获得与多笔带签名的交易数据相对应的多笔原始交易数据。

在一种实施方式中,步骤s402之后还包括以下步骤:装置102a分别执行与步骤s402中获得的多笔原始交易数据相对应的多笔原始交易。

在一种实施方式中,在分别执行与步骤s402中获得的多笔原始交易数据相对应的多笔原始交易之前还包括以下步骤:装置102a分别对在步骤s402中获得的多笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,从而获得与多笔带签名的交易数据相对应的多个交易哈希。

在另一种实施方式中,分别执行与步骤s402中获得的多笔原始交易数据相对应的多笔原始交易之后还包括以下步骤:如果多笔原始交易中的每笔原始交易均执行成功,则装置102a将每笔交易的执行状态信息存储到区块链账本中。

应理解的是,也可以由装置102b或102c中的任意一个装置代替装置102a执行上述步骤,这里只是以装置102a为例说明并不局限于只有装置102a能够执行上述步骤。

图5示出了根据本发明的实施例的处理区块链中的交易的系统500的框图。

如图所示,系统500至少包括装置501和装置502a,装置501被配置为向装置502发送整体交易数据,其中,整体交易数据中封装有多笔带签名的交易数据,并且装置502a位于区块链502上,装置502a被配置为对接收到的整体交易数据进行解封装,以获得与多笔带签名的交易数据相对应的多笔原始交易数据。

在一种实施方式中,装置502a还被配置为在获得多笔原始交易数据之后分别执行与多笔原始交易数据相对应的多笔交易。

应理解的是,装置501也可以位于区块链502上。还应理解,区块链502可以包括多个装置,如图5所示区块链502还包括装置502b和装置502c,可以用装置502b或装置502c中的任意一个装置代替502a与装置501形成系统500,这里只是以装置502a为例说明并不局限于只有装置502a可以和装置501组成系统500,系统500还可以包括装置501、装置502a、装置502b和/或装置502c,或者系统500还可以包括更多个装置。

在一种实施方式中,装置501还被配置为通过以下方式获得整体交易数据:接收多笔原始交易数据;针对多笔原始交易数据中的每笔原始交易数据,生成与每笔原始交易数据相对应的签名;将每笔原始交易数据和与每笔原始交易数据相对应的签名结合形成多笔带签名的交易数据;以及将多笔带签名的交易数据封装成整体交易数据。

在另一种实施方式中,装置502a还被配置为对多笔带签名的交易数据中的每笔带签名的交易数据进行哈希计算,以获得与多笔带签名的交易数据相对应的多个交易哈希。

在另一种实施方式中,装置502a还被配置为如果多笔交易中每笔交易都执行成功,则将与每笔交易相对应的执行状态信息存储到区块链账本中。

图6示出了根据发明的实施例的处理区块链中的交易的装置600的示意图。装置600可以包括:存储器601和耦合到存储器601的处理器602。存储器601用于存储指令,处理器602被配置为基于存储器601存储的指令来实现针对图2至图4所描述的方法的步骤中的任何步骤中的一个或多个。

如图6所示,装置600还可以包括通信接口603,用于与其它设备进行信息交互。此外,装置600还可以包括总线604,存储器601、处理器602和通信接口603通过总线604来彼此进行通信。

存储器601可以包括易失性存储器,也可以包括非易失性存储器。处理器602可以是中央处理器(cpu)、微控制器、专用集成电路(asic)、数字信号处理器(dsp)、现场可编程门阵列(fpga)或其它可编程逻辑器件、或是被配置为实现本发明的实施例的一个或多个集成电路。

替代地,上述的基于区块链的跨链通信方法能够通过计算机程序产品,即有形的计算机可读存储介质来体现。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

需要注意的是,以上列举的仅为本发明的具体实施例,显然本发明不限于以上实施例,随之有着许多的类似变化。本领域的技术人员如果从本发明公开的内容直接导出或联想到的所有变形,均应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1