区块链中的交易处理方法和系统与流程

文档序号:35987980发布日期:2023-11-15 16:51阅读:45来源:国知局
区块链中的交易处理方法和系统与流程

本申请实施例涉及区块链,尤其涉及一种区块链中的交易处理方法、系统、计算机设备及计算机可读存储介质。


背景技术:

1、为了确保区块链交易的正确性、一致性和安全性,nonce值机制通常是区块链交易中不可或缺的一部分。然而,由于nonce值的递增性质,每个账户只能按照顺序提交交易,而无法跳过或乱序提交交易。这就限制了账户能够同时处理的交易数量。当账户正在处理一笔交易时,后续nonce值对应的交易无法被提交和执行,直到前一个nonce值对应的交易完成。因此,nonce值限制了账户的交易吞吐量,即账户在单位时间内能够处理的交易数量。

2、现有技术中,提出了一些优化思路来提高整体的交易吞吐量,如批量交易、layer2解决方案等。但是,批量交易只是将多个交易合并为一个交易提交,仍然需要等待交易执行,实时性存在问题,而layer2解决方案也存在nonce执行顺序的问题,且实现成本和维护成本非常高。


技术实现思路

1、本申请实施例的目的是提供一种区块链中的交易处理方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:如何提高整体的区块链交易吞吐量。

2、本申请实施例的一个方面提供了一种区块链中的交易处理方法,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述方法包括:

3、获取需要在同一区块中处理的至少一个业务合约交易;

4、针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的nonce值不同;

5、通过所述目标代理账户发起业务合约交易。

6、可选地,所述方法还包括:

7、调用所述鉴权合约对所述目标代理账户进行鉴权;

8、在对所述目标代理账户进行鉴权成功的情况下,执行所述业务合约交易。

9、可选地,所述方法还包括:

10、在对所述目标代理账户进行鉴权失败的情况下,中止执行所述业务合约交易。

11、可选地,在所述通过所述目标代理账户发起业务合约交易的步骤之后,所述方法还包括:

12、记录所述代理账户池中的所述目标代理账户已发起交易。

13、可选地,所述方法还包括:

14、在确定所述业务合约交易执行成功的情况下,发起交易开销补充交易;

15、记录所述代理账户池中的所述目标代理账户已完成交易。

16、可选地,在所述发起交易开销补充交易的步骤之后,所述方法还包括:

17、在确定所述交易开销补充交易执行成功的情况下,结束所述交易开销补充交易;或,

18、在确定所述交易开销补充交易执行失败的情况下,返回执行所述发起交易开销补充交易的步骤。

19、可选地,所述预设条件包含所述代理账户在当前区块中不存在nonce值冲突,以及所述代理账户中当前拥有的交易开销大于或等于发起所述业务合约交易所需的交易开销。

20、可选地,所述方法还包括:

21、根据所述代理账户池中包含的至少一个代理账户,生成授权账户列表;

22、所述调用所述鉴权合约对所述目标代理账户进行鉴权,包括:

23、调用所述鉴权合约判断所述目标代理账户是否存在所述授权账户列表中;

24、若所述目标代理账户存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权成功;或,

25、若所述目标代理账户不存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权失败。

26、本申请实施例的一个方面又提供了一种区块链中的交易处理系统,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述系统包括:

27、交易获取模块,用于获取需要在同一区块中处理的至少一个业务合约交易;

28、代理账户确定模块,用于针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的nonce值不同;

29、交易发起模块,用于通过所述目标代理账户发起业务合约交易。

30、本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的区块链中的交易处理方法的步骤。

31、本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的区块链中的交易处理方法的步骤。

32、本申请实施例提供的区块链中的交易处理方法、系统、设备及计算机可读存储介质,通过基于鉴权合约维护代理账户池,该代理账户池中包含至少一个允许发起交易的代理账户,当需要发起交易时,针对每一个业务合约交易,从代理账户池中确定满足预设条件的目标代理账户;通过目标代理账户发起业务合约交易,无需等待其他交易执行完成。由于在区块链的设计中,每个账户的nonce值是独立的,不会相互进行干扰,通过增加允许发起交易的代理账户数量的方式,从而可以由不同的代理账户发起交易,无需等待交易,达到了提高区块链交易吞吐量的目的。



技术特征:

1.一种区块链中的交易处理方法,其特征在于,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述方法包括:

2.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的区块链中的交易处理方法,其特征在于,在所述通过所述目标代理账户发起业务合约交易的步骤之后,所述方法还包括:

5.根据权利要求1所述的区块链中的交易处理方法,其特征在于,在所述通过所述目标代理账户发起业务合约交易的步骤之后,所述方法还包括:

6.根据权利要求5所述的区块链中的交易处理方法,其特征在于,在所述发起交易开销补充交易的步骤之后,所述方法还包括:

7.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述预设条件包含所述代理账户在当前区块中不存在nonce值冲突,以及所述代理账户中当前拥有的交易开销大于或等于发起所述业务合约交易所需的交易开销。

8.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述方法还包括:

9.一种区块链中的交易处理系统,其特征在于,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述系统包括:

10.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至8中任意一项所述的区块链中的交易处理方法的步骤。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至8中任意一项所述的区块链中的交易处理方法的步骤。


技术总结
本申请实施例提供了一种区块链中的交易处理方法和系统,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述方法包括:获取需要在同一区块中处理的至少一个业务合约交易;针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;通过所述目标代理账户发起所述业务合约交易。由于在区块链的设计中,每个账户的Nonce值是独立的,不会相互进行干扰,本申请通过增加允许发起交易的账户(即代理账户)数量,从而可以由不同的代理账户发起交易,无需等待交易,达到了提高区块链交易吞吐量的目的。

技术研发人员:鲁华林,周晨程,孙若宇,邢志远,孙英男
受保护的技术使用者:上海加密原生科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1