交易执行方法、装置和区块链系统与流程

文档序号:36786117发布日期:2024-01-23 12:02阅读:17来源:国知局
交易执行方法、装置和区块链系统与流程

本说明书实施例属于区块链,尤其涉及一种交易执行方法、装置和区块链系统。


背景技术:

1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。用户可以通过区块链节点参与实现区块链的相关事务,例如,区块链系统中分别对应不同用户的多个区块链节点,可以基于同态加密、零知识证明等隐私技术针对某一节点的私有数据进行安全多方计算(secure multi-party computation,smpc)。再例如,基于区块链网络可以在不同用户账户之间实现转账;再例如,还可以基于区块链网络发行数字画作、数字头像、gif等数字藏品对应的nft(non-fungible token,非同质化代币),以便nft所承载的数字藏品的所有权能够在区块链网络的用户之间流通,从而产生对应于数字藏品的价值。

2、现阶段,往往由区块链系统中的任一节点(如主从架构下的主节点)针对某一区块中的多笔交易发起共识提议,并由该节点与其他节点(如从节点)共同参与共识后分别执行这些交易。其中,为加快该区块的整体执行速度(即减少该区块中全部交易的整体执行耗时),各个节点会分别对所述多笔交易进行分组以得到多个交易组,并以交易组为单位进行调度分发并执行。对此,为了减少占绝大部分的从节点的工作量,以缩短从节点共识后的交易执行整体耗时,相关技术提出分组前置的方案,即由主节点对交易进行分组,并由主节点和从节点共同参与针对分组结果的共识,使得从节点可以在共识通过后直接根据该分组结果按组执行多笔交易,而无需各个从节点分别、重复进行分组处理。

3、然而,在前述分组前置的方案中,各个从节点需要在共识完成后按组执行多笔交易,并在执行完成后提交执行结果。由于需要多个节点参与的共识过程往往耗时较长,所以从节点在执行交易之前仍然需要耗费较长时间等待共识完成,其整体交易处理效率仍有待进一步提升。


技术实现思路

1、本说明书的目的在于提供一种交易执行方法、装置和区块链系统。

2、根据本说明书一个或多个实施例的第一方面,提供了一种交易执行方法,应用于区块链系统,所述区块链系统包括第一节点和第二节点,所述方法包括:

3、第一节点基于待执行的第一批交易各自的预执行读写集确定第一批交易的分组结果信息,并将第一批交易和所述分组结果信息提供至第二节点,所述分组结果信息用于指示对第一批交易进行分组得到的m个交易组,m为正整数;以及,发起针对第二批交易的第一共识提议,并与第二节点共同参与共识;

4、第二节点在共识完成前,根据所述分组结果信息确定所述m个交易组并按组执行第一批交易;以及,在共识完成且通过的情况下,若确定第二批交易与第一批交易为同一批交易,则根据第一批交易中各笔已执行交易的执行结果更新相应的状态数据。

5、根据本说明书一个或多个实施例的第二方面,提供了一种交易执行方法,应用于区块链系统中的第二节点,所述区块链系统还包括第一节点,所述方法包括:

6、接收第一节点发送的第一批交易和分组结果信息,以及,获取第一节点针对第二批交易发起的第一共识提议,并与第一节点共同参与共识;其中,所述分组结果信息由第一节点基于待执行的第一批交易各自的预执行读写集确定,用于指示对第一批交易进行分组得到的m个交易组,m为正整数;

7、在共识完成前,根据所述分组结果信息确定所述m个交易组并按组执行第一批交易;以及,在共识完成且通过的情况下,若确定第二批交易与第一批交易为同一批交易,则根据第一批交易中各笔已执行交易的执行结果更新相应的状态数据。

8、根据本说明书一个或多个实施例的第三方面,提供了一种区块链系统,所述区块链系统包括第一节点和第二节点,其中:

9、第一节点用于基于待执行的第一批交易各自的预执行读写集确定第一批交易的分组结果信息,并将第一批交易和所述分组结果信息提供至第二节点,所述分组结果信息用于指示对第一批交易进行分组得到的m个交易组,m为正整数;以及,发起针对第二批交易的第一共识提议,并与第二节点共同参与共识;

10、第一节点用于在共识完成前,根据所述分组结果信息确定所述m个交易组并按组执行第一批交易;以及,在共识完成且通过的情况下,若确定第二批交易与第一批交易为同一批交易,则根据第一批交易中各笔已执行交易的执行结果更新相应的状态数据。

11、根据本说明书一个或多个实施例的第四方面,提供了一种交易执行装置,应用于区块链系统,所述区块链系统包括第一节点和第二节点,所述装置包括:

12、提供及发起单元,用于使第一节点基于待执行的第一批交易各自的预执行读写集确定第一批交易的分组结果信息,并将第一批交易和所述分组结果信息提供至第二节点,所述分组结果信息用于指示对第一批交易进行分组得到的m个交易组,m为正整数;以及,发起针对第二批交易的第一共识提议,并与第二节点共同参与共识;

13、执行及更新单元,用于使第二节点在共识完成前,根据所述分组结果信息确定所述m个交易组并按组执行第一批交易;以及,在共识完成且通过的情况下,若确定第二批交易与第一批交易为同一批交易,则根据第一批交易中各笔已执行交易的执行结果更新相应的状态数据。

14、根据本说明书一个或多个实施例的第五方面,提供了另一种交易执行装置,应用于区块链系统中第二节点,所述区块链系统还包括第一节点,所述装置包括:

15、接收及获取单元,用于接收第一节点发送的第一批交易和分组结果信息,以及,获取第一节点针对第二批交易发起的第一共识提议,并与第一节点共同参与共识;其中,所述分组结果信息由第一节点基于待执行的第一批交易各自的预执行读写集确定,用于指示对第一批交易进行分组得到的m个交易组,m为正整数;

16、执行及更新单元,用于在共识完成前,根据所述分组结果信息确定所述m个交易组并按组执行第一批交易;以及,在共识完成且通过的情况下,若确定第二批交易与第一批交易为同一批交易,则根据第一批交易中各笔已执行交易的执行结果更新相应的状态数据。

17、根据本说明书一个或多个实施例的第六方面,提出了一种电子设备,包括:

18、处理器;

19、用于存储处理器可执行指令的存储器;

20、其中,所述处理器通过运行所述可执行指令以实现如第一方面或第二方面中任一项所述的方法。

21、根据本说明书一个或多个实施例的第七方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第二方面中任一项所述方法的步骤。

22、可以理解的是,本方案中的第一节点除了针对第一批交易发起第一共识提议之外,还会在确定第一批交易的分组结果信息后将第一批交易和该信息提供至第二节点,使得第二节点在等待第一共识提议共识完成的这段时间内可以根据分组结果信息先提前按组执行所述第一批交易,从而在第一共识提议共识完成且通过的情况下可以检查提前执行的第一批交易与共识通过的第二批交易是否相同,若相同,即表明被共识的第二批交易正是提前执行的第一批交易,此时可以将第一批交易中各笔已执行交易的执行结果作为这部分交易的最终执行结果,用于更新相应的状态数据。可见,第二节点可以在等待共识完成的时间段内提前执行被共识的第一批交易,而无需等待第一批交易共识完成后再执行第一批交易,实现了对交易执行时机的前置处理,有效利用了共识过程的时间,有效提升了第一批交易的整体交易处理效率。另外,在第一共识提议共识完成且通过的情况下,通过检查提前执行的第一批交易与共识通过的第二批交易是否相同,并在相同时才更新状态数据,能够有效避免异常原因(如数据错误、网络延迟、节点作恶等)导致共识不通过时更新状态数据可能引起的状态混乱。

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