基于区块链网络的意图处理方法及相关设备产品与流程

摘要: 本技术涉及互联网,具体涉及区块链,尤其涉及一种基于区块链网络的意图处理方法及相关设备产品。背景技术:1、随着区块链技术的发展,意图交易模式被提出,所谓的意图交易...
基于区块链网络的意图处理方法及相关设备产品与流程

本技术涉及互联网,具体涉及区块链,尤其涉及一种基于区块链网络的意图处理方法及相关设备产品。

背景技术:

1、随着区块链技术的发展,意图交易模式被提出,所谓的意图交易模式是一种基于对象的交易意图进行交易的模式;其中,交易意图可简称为意图(intent),其是对链上交易行为的一种抽象,可用于指示对象所期望达到的交易结果或者目标,其允许对象将交易创建外包给第三方,而无需将完全控制权交给交易方。在意图交易模式下,对象只需在区块链网络中声明他们的交易意图,而不必关心具体的执行步骤和细节,便可使得区块链网络根据交易意图执行相应的操作,从而简化交易流程并提高效率。

2、目前,对象在构建交易意图后,是以交易的形式将交易意图提交至一个区块链网络中进行处理的,若交易意图为跨链意图,那么该区块链网络在处理该跨链意图所指示的部分操作后,需要将该跨链意图发送给中继(relay)网络中的中继节点,由中继节点将相应跨链意图转发到另一个区块链网络中继续处理。由于现有的中继节点每接收到一笔跨链意图,就会直接打包成一笔单独的交易提交至相应区块链网络,而每笔交易的执行均需要消耗链上计算资源且需中继节点支付一些激励资源(用于激励区块链网络执行交易的电子资源),因此这样的处理方式容易导致交易提交者的资源成本较高且消耗大量的链上计算资源。基于此,如何低成本地处理跨链意图成为了当前的研究热点。

技术实现思路

1、本技术实施例提供了一种基于区块链网络的意图处理方法及相关设备产品,可以低成本地处理跨链意图,节省中继节点的资源成本以及链上计算资源。

2、第一方面,本技术实施例提供了一种基于区块链网络的意图处理方法,该方法包括:

3、从第一区块链网络中获取多个跨链意图,所述跨链意图是指待由第二区块链网络执行的交易意图;

4、对所述多个跨链意图进行交易打包处理,得到目标交易;

5、将所述目标交易提交至所述第二区块链网络,使所述第二区块链网络基于所述目标交易执行所述多个跨链意图,并向所述目标交易的提交者的资源账户进行资源转移处理。

6、第二方面,本技术实施例提供了一种基于区块链网络的意图处理装置,该装置包括:

7、获取单元,用于从第一区块链网络中获取多个跨链意图,所述跨链意图是指待由第二区块链网络执行的交易意图;

8、处理单元,用于对所述多个跨链意图进行交易打包处理,得到目标交易;

9、所述处理单元,还用于将所述目标交易提交至所述第二区块链网络,使所述第二区块链网络基于所述目标交易执行所述多个跨链意图,并向所述目标交易的提交者的资源账户进行资源转移处理。

10、在一种实施方式中,所述获取单元在用于从第一区块链网络中获取多个跨链意图时,具体用于:

11、监测所述第一区块链网络生成的意图事件,一个意图事件中包括一个跨链意图;

12、每监测到一个意图事件,则解析当前监测到的意图事件,得到一个跨链意图。

13、在一种实施方式中,所述第一区块链网络的内存池用于存储至少一个交易意图,一个交易意图用于指示至少一个操作,所述跨链意图是由所述第一区块链网络在执行一个交易意图所指示操作中的部分操作后,根据未被执行的操作生成的;

14、所述第一区块链网络生成意图事件的方式包括:

15、从内存池中获取第i个交易意图,并在执行第i个交易意图所指示操作中的部分操作后,根据所述第i个交易意图所指示操作中的未被执行的操作生成一个跨链意图,i为正整数;

16、获取预设的事件结构,所述事件结构包括原始意图字段和新意图字段;

17、将所述第i个交易意图添加至所述原始意图字段,将生成的跨链意图添加至所述新意图字段,得到一个意图事件。

18、在一种实施方式中,所述第一区块链网络与位于任一区块链网络外的意图设备进行通信,所述意图设备是指配置有意图池的设备;

19、所述意图设备用于从所述意图池中选取k个交易意图,采用所述k个交易意图构建一个初始交易,并将所述初始交易发送给所述第一区块链网络,使所述第一区块链网络在解析所述初始交易得到所述k个交易意图后,将所述k个交易意图缓存至内存池中,k为大于1的正整数。

20、在一种实施方式中,所述处理单元还用于:

21、每获取到一个跨链意图,则将当前获取到的跨链意图进行缓存;

22、对已缓存的多个跨链意图进行统计,得到目标意图量;并获取所述第二区块链网络的交易容量,所述交易容量用于指示:所述第二区块链网络中的单笔交易所容纳的意图量;

23、若所述目标意图量达到所述第二区块链网络的交易容量,则获取被统计的多个跨链意图,并触发执行所述对所述多个跨链意图进行交易打包处理,得到目标交易的步骤。

24、在一种实施方式中,所述处理单元还用于:

25、若所述目标意图量未达到所述第二区块链网络的交易容量,则从被统计的多个跨链意图中,确定缓存时间最早的跨链意图作为目标跨链意图;

26、获取当前系统时间和所述目标跨链意图的缓存时间之间的时间间隔,所述当前系统时间是指:检测到所述目标意图量未达到所述交易容量的时间;

27、若所述时间间隔满足预设时间间隔,则触发执行所述对所述多个跨链意图进行交易打包处理,得到目标交易的步骤。

28、在一种实施方式中,每个跨链意图均包含一个目标链标识,所述目标链标识是指待执行跨链意图的区块链网络的区块链标识;

29、所述处理单元将当前获取到的跨链意图进行缓存,具体用于:

30、根据当前获取到的跨链意图包含的目标链标识,确定所述当前获取到的跨链意图所属的目标意图组,将所述当前获取到的跨链意图缓存至所述目标意图组对应的存储空间中;

31、所述对已缓存的多个跨链意图进行统计,得到目标意图量,包括:对所述目标意图组对应的缓存空间中已缓存的多个跨链意图进行统计,得到目标意图量。

32、在一种实施方式中,所述方法由计算机设备执行,所述计算机设备是位于所述第一区块链网络和第二区块链网络外的设备;所述将所述目标交易提交至所述第二区块链网络之前,所述处理单元还用于:

33、获取区块链标识列表,所述区块链标识列表用于存储允许所述计算机设备提交交易的区块链网络的区块链标识;

34、根据所述区块链标识列表,检测所述计算机设备向所述第二区块链网络提交所述目标交易的提交资格,其中,若所述区块链标识列表存储有所述第二区块链网络的区块链标识,则具备所述提交资格;

35、若检测到所述提交资格,则触发执行所述将所述目标交易提交至所述第二区块链网络的步骤。

36、在一种实施方式中,所述处理单元对所述多个跨链意图进行交易打包处理,得到目标交易,具体用于:

37、获取所述多个跨链意图中的每个跨链意图的执行信息,所述执行信息用于指示相应跨链意图是否已被所述第二区块链网络执行;

38、基于所述多个跨链意图中的每个跨链意图的执行信息,从所述多个跨链意图中筛选出未被所述第二区块链网络执行的跨链意图;

39、对筛选出的跨链意图进行交易打包处理,得到所述目标交易。

40、在一种实施方式中,所述处理单元对筛选出的跨链意图进行交易打包处理,得到所述目标交易,具体用于:

41、统计筛选出的跨链意图的意图量;

42、若所述筛选出的跨链意图的意图量未达到所述第二区块链网络的交易容量,则继续从所述第一区块链网络中获取待提交至所述第二区块链网络的跨链意图;

43、当继续获取到的跨链意图和筛选出的跨链意图之间的意图量达到所述第二区块链网络的交易容量时,将所述继续获取到的跨链意图和所述筛选出的跨链意图进行交易打包处理,得到所述目标交易。

44、第三方面,本技术实施例提供了一种计算机设备,该计算机设备包括存储器、通信接口以及处理器,其中,存储器、通信接口和处理器相互连接;存储器存储有计算机程序,处理器调用存储器中存储的计算机程序,用于实现上述第一方面的基于区块链网络的意图处理方法。

45、第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面的基于区块链网络的意图处理方法。

46、第五方面,本技术实施例提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序存储在计算机存储介质中;计算机设备的处理器从计算机存储介质中读取该计算机程序,处理器执行该计算机程序,使得计算机设备执行上述第一方面的基于区块链网络的意图处理方法。

47、本技术实施例可由中继节点从第一区块链网络中获取多个跨链意图,并将多个跨链意图打包成一笔交易提交至第二区块链网络,以此来减少中继节点向第二区块链网络提交多个跨链意图所涉及的交易数,这样不仅可降低中继节点所需支付的激励资源量,从而节省中继节点的资源成本,还可降低第二区块链网络的拥堵程度,从而提升第二区块链网络的处理性能。并且,通过将多个跨链意图打包进一笔交易提交至第二区块链网络,还可使第二区块链网络基于这一笔交易所需的链上计算资源来实现多个跨链意图的执行,由此可有效节省链上计算资源并提升链上计算资源的使用效率。