掌桥专利:专业的专利平台
掌桥专利
首页

跨链交易的处理方法、装置、电子设备及可读存储介质

文献发布时间:2023-06-19 11:19:16


跨链交易的处理方法、装置、电子设备及可读存储介质

技术领域

本申请涉及区块链技术领域,具体而言,本申请涉及一种跨链交易的处理方法、装置、电子设备及可读存储介质。

背景技术

区块链技术发展至今,诞生了无数条不同的区块链,各区块链的链上的数据隔离,使得区块链成为一个数据孤岛,不同的区块链之间无法做到互联互通。

跨链技术是用于解决两条或多条区块链之间数据交互的技术,使得数据能够跨过链与链的障碍,让价值在不同的区块链之间流通。

目前,跨链交易一般会要求参与的区块链具有定时任务的能力,以便在交易超时后对被锁定的资源进行回滚,但是目前大部分区块链不具有定时任务的能力,因此,在不具有定时任务能力的区块链进行跨链交易时,无法在交易超时后对被锁定的资源进行回滚,也就无法完成跨链交易,导致当前的跨链交易方案通用性较差。

发明内容

本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:

第一方面,本申请实施例提供了一种跨链交易的处理方法,该方法包括:

当跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段;

基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。

可选地,处理请求为资产转移请求或资产回滚请求,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,包括:

若在指定时段内监听到了第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产转移请求;

若在指定时段内未监听到第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产回滚请求。

可选地,生成资产转移请求,包括:

向第一区块链查询第一资源锁定事件,以使第一区块链返回对第一资源锁定事件的查询结果的第一存在性证明信息;

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件的查询结果的第二存在性证明信息;

基于第一存在性证明信息以及第二存在性证明信息,生成资源转移请求。

可选地,若处理请求为资产转移请求,则将处理请求发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对跨链交易进行处理,包括:

将资产转移请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移。

可选地,生成资产回滚请求,包括:

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件的查询结果的第三存在性证明信息;

基于第三存在性证明信息生成资源回滚请求。

可选地,若处理请求为资产回滚请求,则将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理,包括:

将资产回滚请求分别发送给第一区块链以及第二区块链,以使第一区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第一资源进行回滚,并以使第二区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第二资源进行回滚。

可选地,基于第一资源锁定事件的时间信息确定指定时段,包括:

基于第一资源锁定事件的事件信息中包括的超时时间戳确定指定时段。

第二方面,本申请实施例提供了另一种跨链交易的处理方法,该方法包括:

当接收到针对第一资源的资产锁定请求时,将第一资源锁定,并触发第一资源锁定事件;

当接收到跨链中继发送的处理请求时,对处理请求进行处理,其中,处理请求是由跨链中继在监听到第一资源锁定事件时,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件生成的,指定时段是基于第一资源锁定事件的事件信息确定的。

可选地,上述方法还包括:

在接收到跨链中继对第一资源锁定事件的查询请求时,确定第一资源锁定事件的查询结果;

生成第一资源锁定事件的查询结果的第一存在性证明信息,并将第一存在性证明信息返回给跨链中继。

可选地,处理请求为资产转移请求或资产回滚请求,其中,资产转移请求是跨链中继在指定时段内监听到了第二资源锁定事件时生成的,资产回滚请求是跨链中继在指定时段内未监听到第二资源锁定事件时生成的;

若处理请求为资产转移请求,则对处理请求进行处理,包括:

对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移,其中,第二存在性证明信息为跨链中继在指定时段内监听到了第二资源锁定事件时由第二区块链提供给跨链中继的;

若处理请求为资产回滚请求,则对处理请求进行处理,包括:

对资产转移请求中所携带的第三存在性证明信息进行验证,并在第三存在性证明信息验证通过时对第一资源进行回滚,其中,第三存在性证明信息为跨链中继在指定时段内未监听到第二资源锁定事件时由第二区块链提供给跨链中继的。

可选地,第一资源锁定事件的事件信息中包括的超时时间戳,超时时间戳用于使跨链中继确定指定时段。

第三方面,本申请实施例提供了一种跨链交易的处理装置,该装置包括:

指定时段确定模块,用于在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段;

处理请求生成模块,用于基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。

可选地,处理请求为资产转移请求或资产回滚请求,处理请求生成模块在基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求时,具体用于:

若在指定时段内监听到了第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产转移请求;

若在指定时段内未监听到第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产回滚请求。

可选地,处理请求生成模块在生成资产转移请求时,具体用于:

向第一区块链查询第一资源锁定事件,以使第一区块链返回对第一资源锁定事件的查询结果的第一存在性证明信息;

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件的查询结果的第二存在性证明信息;

基于第一存在性证明信息以及第二存在性证明信息,生成资源转移请求。

可选地,若处理请求为资产转移请求,则处理请求生成模块在将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理时,具体用于:

将资产转移请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移。

可选地,处理请求生成模块在生成资产回滚请求时,具体用于:

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件的查询结果的第三存在性证明信息;

基于第三存在性证明信息生成资源回滚请求。

可选地,若处理请求为资产回滚请求,则处理请求生成模块在将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理时,具体用于:

将资产回滚请求分别发送给第一区块链以及第二区块链,以使第一区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第一资源进行回滚,并以使第二区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第二资源进行回滚。

可选地,指定时段确定模块在基于第一资源锁定事件的时间信息确定指定时段时,具体用于:

基于第一资源锁定事件的事件信息中包括的超时时间戳确定指定时段。

第四方面,本申请实施例提供了另一种跨链交易的处理装置,该装置包括:

资源锁定模块,用于在接收到针对第一资源的资产锁定请求时,将第一资源锁定,并触发第一资源锁定事件;

交易处理模块,用于在接收到跨链中继发送的处理请求时,对处理请求进行处理,其中,处理请求是由跨链中继在监听到第一资源锁定事件时,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件生成的,指定时段是基于第一资源锁定事件的事件信息确定的。

可选地,上述装置还包括存在性证明信息返回模块,存在性证明信息返回模块用于:

在接收到跨链中继对第一资源锁定事件的查询请求时,确定第一资源锁定事件的查询结果;

生成第一资源锁定事件的查询结果的第一存在性证明信息,并将第一存在性证明信息返回给跨链中继。

可选地,处理请求为资产转移请求或资产回滚请求,其中,资产转移请求是跨链中继在指定时段内监听到了第二资源锁定事件时生成的,资产回滚请求是跨链中继在指定时段内未监听到第二资源锁定事件时生成的;

若处理请求为资产转移请求,则交易处理模块在对处理请求进行处理时,具体用于:

对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移,其中,第二存在性证明信息为跨链中继在指定时段内监听到了第二资源锁定事件时由第二区块链提供给跨链中继的;

若处理请求为资产回滚请求,则交易处理模块在对处理请求进行处理时,具体用于:

对资产转移请求中所携带的第三存在性证明信息进行验证,并在第三存在性证明信息验证通过时对第一资源进行回滚,其中,第三存在性证明信息为跨链中继在指定时段内未监听到第二资源锁定事件时由第二区块链提供给跨链中继的。

可选地,第一资源锁定事件的事件信息中包括的超时时间戳,超时时间戳用于使跨链中继确定指定时段。

第五方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中或者本申请的第二方面的任一实施方式中所示的跨链交易的处理方法。

第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中或者本申请的第二方面的任一实施方式中所示的跨链交易的处理方法。

第七方面,本申请实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本申请的第一方面的任一实施方式中或者本申请的第二方面的任一实施方式中所示的跨链交易的处理方法。

本申请实施例提供的技术方案带来的有益效果是:

本申请实施例提供的方案,在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种跨链交易的处理方法的流程示意图;

图2为本申请实施例提供的另一种跨链交易的处理方法的流程示意图;

图3为本申请实施例提供的一种跨链交易的处理装置的结构示意图;

图4为本申请实施例提供的另一种跨链交易的处理装置的结构示意图;

图5为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

解决跨链交易的事务性是跨链技术中所面临的的一个难题。一个完整的跨链交易可以拆分成多个属于各自区块链系统的子交易,这些子交易构成一个事务,该事务应该具备ACID特性,ACID特性包括原子性、一致性、隔离性以及持续性。

原子性(atomicity):跨链事务中的操作要么都发生,要么都不发生;

一致性(atomicity):跨链事务必须使所有区块链从一个一致性状态变换到另外一个一致性状态;

隔离性(isolation):并发执行的各个跨链事务之间不能互相干扰;

持久性(durability):跨链事务一旦被提交,它对区块链中数据的改变就是永久性的,不会无缘无故的回滚。

针对于资产兑换的跨链交易场景,目前主要采用哈希锁定方案,通过资产锁定并设置相应的超时时长和解锁条件来实现公平交易。哈希锁定的基本流程为:

(1)区块链X上的账户A生成随机数s,生成随机数s的哈希值hash(s),将hash(s)发送给区块链Y上的账户B。

(2)账户A在区块链X上锁定币,如果在时间TA(当前时间+2x)内区块链X收到s,则转账给账户B,否则退回给账户A。其中x为超时时长。

(3)账户B收到hash(s),在确定账户A的锁定币,并确定预设时间后,在区块链Y上锁定币,如果在时间TA-x内区块链Y收到s,则转账给账户A,否则退回给账户B。

(4)账户A在确定账户B的锁定币后,在时间TA-x内发送s给区块链Y,得到区块链Y的币。

(5)账户B收到s后,在时间TA内发送s到区块链X,得到区块链X的币。

上述哈希锁定方案中,需要参与跨链交易的区块链具备定时任务的能力,但是目前大部分区块链不具有定时任务的能力,因此,在不具有定时任务能力的区块链进行跨链交易时,无法在交易超时后对被锁定的资源进行回滚,导致现有的跨链交易方案通用性差。

本申请实施例提供的跨链交易的处理方法、装置、电子设备及可读存储介质,旨在解决现有技术的如上技术问题中的至少一个。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1示出了本申请实施例提供的一种跨链交易的处理方法的流程示意图,该方法应用于跨链中继,如图1所示,该方法主要可以包括:

步骤110:当跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段;

步骤120:基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。

其中,第一区块链以及第二区块链可以为参与跨链交易的两个区块链,跨链中继可以为独立于第一区块链与第二区块链的设备,跨链中继可以分别与第一区块链以及第二区块链建立通讯连接。

第一资源以及第二资源为跨链交易中所涉及到资源,例如可以为区块链货币。

第一区块链以及第二区块链中需要各自安装跨链合约,跨链合约可以实现以下接口:

(1)资源锁定接口,用于对跨链交易所涉及的资源进行锁定。由用户调用,并会触发相应的资源锁定事件;

(2)资源转移接口,用于对已经锁定的资源进行转移,由跨链中继在特定阶段调用。

(3)资源回滚接口,对已经锁定的资源进行回滚。由跨链中继在特定阶段负责调用。

在进行跨链交易时,第一区块链以及第二区块链可以分别在接收到用户的资源锁定请求时,锁定相应资源,并触发相应的资源锁定事件。具体而言,用户可以通过资源锁定接口发出资源锁定请求。

跨链中继可以分别对第一区块链的第一资源锁定事件以及第二区块链的第二资源锁定事件进行监听。

本申请实施例中,可以将跨链中继先监听到的触发了资源锁定事件的区块链记做第一区块链,而在跨链交易中第一区块链中与第二区块链中的处理步骤并无本质区别。

在跨链中继监听到第一资源锁定事件时,可以基于第一资源锁定事件的事件信息确定指定时段,指定时段可以用于确定第二资源锁定事件的是否超时。

根据指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,跨链中继可以生成相应的处理请求,并将处理请求分别发送至第一区块链以及第二区块链进行处理。

由于是通过资源锁定事件的事件信息确定指定时段,并通过跨链中继确定是否在指定时段内监听到了第二资源锁定事件,即通过跨链中继实现定时任务,从而实现跨链交易,使得跨链交易不再依赖于区块链的定时任务能力。

本申请实施例提供的方法,在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

本申请实施例的一种可选方式中,处理请求为资产转移请求或资产回滚请求,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,包括:

若在指定时段内监听到了第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产转移请求;

若在指定时段内未监听到第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产回滚请求。

本申请实施例中,若跨链中继在指定时段内监听到了第二资源锁定事件,则可以认为交易未超时,这时可以生成资产转移请求。

若跨链中继在指定时段内未能够监听到第二资源锁定事件,则可以认为交易超时,这时可以生成资产回滚请求。

本申请实施例的一种可选方式中,生成资产转移请求,包括:

向第一区块链查询第一资源锁定事件,以使第一区块链返回对第一资源锁定事件的查询结果的第一存在性证明信息;

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件的查询结果的第二存在性证明信息;

基于第一存在性证明信息以及第二存在性证明信息,生成资源转移请求。

本申请实施例中,在生成资产转移请求时,跨链中继可以向第一区块链查询第一资源锁定事件,并向第二区块链查询第二资源锁定事件。第一区块链可以对第一资源锁定事件进行查询,得到第一资源锁定事件的查询结果,基于该第一资源锁定事件的查询结果能够确定第一资源锁定事件存在。而后可以生成该第一资源锁定事件的查询结果的第一存在性证明信息,并将第一存在性证明信息返回给跨链中继。同样地,第二区块链可以对第二资源锁定事件进行查询,得到第二资源锁定事件的查询结果,基于该第二资源锁定事件的查询结果能够确定第二资源锁定事件存在。而后可以生成该第二资源锁定事件的查询结果的第二存在性证明信息,并将第二存在性证明信息返回给跨链中继。

跨链中继可以将第一存在性证明信息以及第二存在性证明信息作为参数,生成资源转移请求。

本申请实施例的一种可选方式中,若处理请求为资产转移请求,则将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理,包括:

将资产转移请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息的有效性进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移。

本申请实施例中,跨链中继可以将资产转移请求分别发送给第一区块链以及第二区块链,具体而言,可以调用资源转移接口将资产转移请求发送至第一区块链中的节点以及第二区块链中的节点。

第一区块链以及第二区块链可以分别对第一存在性证明信息的有效性以及第二存在性证明信息的有效性进行验证,并在二者均验证通过时,认为当前的跨链交易符合要求,可以将第一资源与第二资源进行转移。具体地,可以将第二资源转移给第一区块链,将第一资源转移给第二区块链。

由于资产转移请求中携带了第一存在性证明信息与第二存在性证明信息,为避免在资产转移请求发送至第一区块链以及第二区块链的过程中第一存在性证明信息与第二存在性证明信息的泄露,可以对第一存在性证明信息与第二存在性证明信息进行加密,以保证第一存在性证明信息与第二存在性证明信息的安全性。具体而言,可以采用对第一存在性证明信息与第二存在性证明信息分别进行数据混淆的方式实现加密。

作为一个示例,可以基于预设定的数据混淆规则对第一存在性证明信息与第二存在性证明信息分别进行混淆,将混淆后的第一存在性证明信息与混淆后的第二存在性证明信息作为资源转移请求的参数。第一区块链与第二区块链在接收到资源转移请求时,可以根据上述数据混淆规则将混淆后的第一存在性证明信息转换为第一存在性证明信息,将混淆后的第二存在性证明信息转换为第二存在性证明信息,而后可以分别对第一存在性证明信息的有效性以及第二存在性证明信息的有效性进行验证。

本申请实施例的一种可选方式中,生成资产回滚请求,包括:

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件查询结果的第三存在性证明信息;

基于第三存在性证明信息生成资源回滚请求。

本申请实施例中,当跨链中继未在指定时段内监听到第二资源锁定事件时,跨链中继可以向第二区块链查询第二资源锁定事件。第二区块链可以对第二资源锁定事件进行查询,得到第二资源锁定事件的查询结果,基于该第二资源锁定事件的查询结果能够确定第二资源锁定事件不存在。而后可以生成该第二资源锁定事件查询结果的第三存在性证明信息,并将第三存在性证明信息返回给跨链中继。

跨链中继可以将第三存在性证明信息作为参数,生成资源回滚请求。

本申请实施例的一种可选方式中,若处理请求为资产回滚请求,则将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理,包括:

将资产回滚请求分别发送给第一区块链以及第二区块链,以使第一区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第一资源进行回滚,并以使第二区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第二资源进行回滚。

本申请实施例中,跨链中继可以将资产回滚请求分别发送给第一区块链以及第二区块链,具体而言,可以调用资源回滚接口将资产回滚请求发送至第一区块链中的节点以及第二区块链中的节点。

第一区块链可以对资产回滚请求中所携带第三存在性证明信息的有效性进行验证,并在验证通过时将第一资源进行回滚。第二区块链可以对资产回滚请求中所携带第三存在性证明信息的有效性进行验证,并在验证通过时将第二资源进行回滚。

由于资产回滚请求中携带了第三存在性证明信息,为避免在资产回滚请求发送至第一区块链以及第二区块链的过程中第三存在性证明信息的泄露,可以对第三存在性证明信息进行加密,以保证第三存在性证明信息的安全性。具体而言,可以采用对第三存在性证明信息进行数据混淆的方式实现加密。

作为一个示例,可以基于预设定的数据混淆规则对第三存在性证明信息进行混淆,将混淆后的第三存在性证明信息作为资源回滚请求的参数。第一区块链与第二区块链在接收到资源回滚请求时,可以根据上述数据混淆规则将混淆后的第三存在性证明信息转换为第三存在性证明信息,而后可以对第三存在性证明信息的有效性进行验证。

本申请实施例的一种可选方式中,基于第一资源锁定事件的时间信息确定指定时段,包括:

基于第一资源锁定事件的事件信息中包括的超时时间戳确定指定时段。

本申请实施例中,第一资源锁定事件的事件信息中可以包括超时时间戳,根据超时时间戳能够确定出指定时段。超时时间戳可以根据实际情需要进行指定。在实际使用中,也可以通过指定区块高度的方式来确定指定时段,即使得事件信息中包括指定的区块高度。

第一资源锁定事件的事件信息中还可以包括交易ID(Identity document,标识),交易ID可以用于对第一资源锁定事件以及第二资源锁定事件的查询。

相应地,第二资源锁定事件的事件信息中也可以包括超时时间戳以及交易ID,或者可以包括指定的区块高度以及交易ID。

图2示出了本申请实施例提供的另一种跨链交易的处理方法的流程示意图,该方法应用于第一区块链上的第一节点,如图2所示,该方法主要可以包括:

步骤S210:当接收到针对第一资源的资产锁定请求时,将第一资源锁定,并触发第一资源锁定事件;

步骤S220:当接收到跨链中继发送的处理请求时,对处理请求进行处理,其中,处理请求是由跨链中继在监听到第一资源锁定事件时,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件生成的,指定时段是基于第一资源锁定事件的事件信息确定的。

本申请实施例中,第一节点可以为第一区块链中与跨链中继建立通讯连接的节点。

在进行跨链交易时,第一区块链在接收到用户的资源锁定请求时,可以锁定第一资源,并触发第一资源锁定事件。

在跨链中继监听到第一资源锁定事件时,可以基于第一资源锁定事件的事件信息确定指定时段,指定时段可以用于确定第二资源锁定事件的是否超时。

根据指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,跨链中继可以生成相应的处理请求,并将处理请求发送至第一区块链进行处理。

本申请实施例提供的方法,在接收到针对第一资源的资产锁定请求时,将第一资源锁定,并触发第一资源锁定事件,当接收到跨链中继发送的处理请求时,对处理请求进行处理,其中,处理请求是由跨链中继在监听到第一资源锁定事件时,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件生成的,指定时段是基于第一资源锁定事件的事件信息确定的。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

可以将第二区块链中的第二节点作为上述的第一节点,使得上述图2中所提供的方法还可以应用于该第二节点。

本申请实施例的一种可选方式中,上述方法还包括:

在接收到跨链中继对第一资源锁定事件的查询请求时,确定第一资源锁定事件的查询结果;

生成第一资源锁定事件的查询结果的第一存在性证明信息,并将第一存在性证明信息返回给跨链中继。

本申请实施例中,在跨链中继生成处理请求时,如果跨链中继在指定时段内监听到了第二区块链中触发的对第二资源的第二资源锁定事件时,跨链中继可以向第一区块链查询第一资源锁定事件,第一区块链可以查询第一资源锁定事件,得到第一资源锁定事件的查询结果,而后可以生成该第一资源锁定事件的查询结果的第一存在性证明信息,并将第一存在性证明信息返回给跨链中继。

跨链中继同时可以向第二区块链查询第二资源锁定事件,第二区块链可以查询第二资源锁定事件,得到第二资源锁定事件的查询结果,而后可以生成该第二资源锁定事件的查询结果的第二存在性证明信息,并将第二存在性证明信息返回给跨链中继。

跨链中继可以将第一存在性证明信息以及第二存在性证明信息作为参数,生成资源转移请求。

本申请实施例中,在跨链中继未在指定时段内监听到第二资源锁定事件时,跨链中继可以向第二区块链查询第二资源锁定事件。第二区块链可以查询第二资源锁定事件,得到第二资源锁定事件查询结果,基于该第二资源锁定事件查询结果能够确定第二资源锁定事件不存在。而后可以生成该第二资源锁定事件查询结果的第三存在性证明信息,并将第三存在性证明信息返回给跨链中继。

跨链中继可以将第三存在性证明信息作为参数,生成资源回滚请求。

本申请实施例的一种可选方式中,处理请求为资产转移请求或资产回滚请求,其中,资产转移请求是跨链中继在指定时段内监听到了第二资源锁定事件时生成的,资产回滚请求是跨链中继在指定时段内未监听到第二资源锁定事件时生成的;

若处理请求为资产转移请求,则对处理请求进行处理,包括:

对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移,其中,第二存在性证明信息为跨链中继在指定时段内监听到了第二资源锁定事件时由第二区块链提供给跨链中继的;

若处理请求为资产回滚请求,则对处理请求进行处理,包括:

对资产转移请求中所携带的第三存在性证明信息进行验证,并在第三存在性证明信息验证通过时对第一资源进行回滚,其中,第三存在性证明信息为跨链中继在指定时段内未监听到第二资源锁定事件时由第二区块链提供给跨链中继的。

本申请实施例中,若跨链中继在指定时段内监听到了第二资源锁定事件,则可以认为交易未超时,这时可以跨链中继可以生成资产转移请求,并将资产转移请求分别发送给第一区块链以及第二区块链。

跨链中继生成资产转移请求的过程为:跨链中继向第一区块链查询第一资源锁定事件,并向第二区块链查询第二资源锁定事件。第一区块链可以对第一资源锁定事件进行查询,得到第一资源锁定事件的查询结果,基于该第一资源锁定事件的查询结果能够确定第一资源锁定事件存在。而后可以生成该第一资源锁定事件的查询结果的第一存在性证明信息,并将第一存在性证明信息返回给跨链中继。第二区块链可以对第二资源锁定事件进行查询,得到第二资源锁定事件的查询结果,基于该第二资源锁定事件的查询结果能够确定第二资源锁定事件存在。而后可以生成该第二资源锁定事件的查询结果的第二存在性证明信息,并将第二存在性证明信息返回给跨链中继。跨链中继可以将第一存在性证明信息以及第二存在性证明信息作为参数,生成资源转移请求。

跨链中继可以将资产转移请求分别发送给第一区块链以及第二区块链,具体而言,可以调用资源转移接口将资产转移请求发送至第一区块链中的第一节点以及第二区块链中的第二节点。

第一区块链以及第二区块链可以分别对资产转移请求中所携带第一存在性证明信息的有效性以及第二存在性证明信息的有效性进行验证,并在二者均验证通过时,认为当前的跨链交易符合要求,可以将第一资源与第二资源进行转移。具体地,可以将第二资源转移给第一区块链,将第一资源转移给第二区块链。

本申请实施例中,若跨链中继在指定时段内未能够监听到第二资源锁定事件,则可以认为交易超时,这时跨链中继可以生成资产回滚请求,并将资产回滚请求分别发送给第一区块链以及第二区块链。

跨链中继生成资产回滚请求的过程为:跨链中继向第二区块链查询第二资源锁定事件。第二区块链可以对第二资源锁定事件进行查询,得到第二资源锁定事件查询结果,基于该第二资源锁定事件查询结果能够确定第二资源锁定事件不存在。而后可以生成该第二资源锁定事件的查询结果的第三存在性证明信息,并将第三存在性证明信息返回给跨链中继。跨链中继可以将第三存在性证明信息作为参数,生成资源回滚请求。

跨链中继可以将资产回滚请求分别发送给第一区块链以及第二区块链,具体而言,可以调用资源回滚接口将资产回滚请求发送至第一区块链中的第一节点以及第二区块链中的第二节点。

第一区块链可以对资产回滚请求中所携带第三存在性证明信息的有效性进行验证,并在验证通过时将第一资源进行回滚。相应地,第二区块链可以对资产回滚请求中所携带第三存在性证明信息的有效性进行验证,并在验证通过时将第二资源进行回滚。

本申请实施例的一种可选方式中,第一资源锁定事件的事件信息中包括的超时时间戳,超时时间戳用于使跨链中继确定指定时段。

本申请实施例中,第一资源锁定事件的事件信息中可以包括超时时间戳,跨链中继能够根据超时时间戳能够确定出指定时段,在实际使用中,事件信息中也可以包括指定的区块高度,使得跨链中继能够根据指定的区块高度确定出指定时段。

第一资源锁定事件的事件信息中还可以包括交易ID(Identity document,标识),用于对第一资源锁定事件以及第二资源锁定事件的查询。

相应地,第二资源锁定事件的事件信息中也可以包括超时时间戳以及交易ID,或者可以包括指定的区块高度以及交易ID。

基于与图1中所示的方法相同的原理,图3示出了本申请实施例提供的一种跨链交易的处理装置的结构示意图,如图3所示,该跨链交易的处理装置30可以包括:

指定时段确定模块310,用于在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段;

处理请求生成模块320,用于基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。

本申请实施例提供的装置,在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

可选地,处理请求为资产转移请求或资产回滚请求,处理请求生成模块在基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求时,具体用于:

若在指定时段内监听到了第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产转移请求;

若在指定时段内未监听到第二区块链中触发的对第二资源的第二资源锁定事件,则生成资产回滚请求。

可选地,处理请求生成模块在生成资产转移请求时,具体用于:

向第一区块链查询第一资源锁定事件,以使第一区块链返回对第一资源锁定事件的查询结果的第一存在性证明信息;

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件的查询结果的第二存在性证明信息;

基于第一存在性证明信息以及第二存在性证明信息,生成资源转移请求。

可选地,若处理请求为资产转移请求,则处理请求生成模块在将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理时,具体用于:

将资产转移请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移。

可选地,处理请求生成模块在生成资产回滚请求时,具体用于:

向第二区块链查询第二资源锁定事件,以使第二区块链返回对第二资源锁定事件的查询结果的第三存在性证明信息;

基于第三存在性证明信息生成资源回滚请求。

可选地,若处理请求为资产回滚请求,则处理请求生成模块在将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理时,具体用于:

将资产回滚请求分别发送给第一区块链以及第二区块链,以使第一区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第一资源进行回滚,并以使第二区块链对资产回滚请求中携带的第三存在性证明信息进行验证,并在验证通过时对第二资源进行回滚。

可选地,指定时段确定模块在基于第一资源锁定事件的时间信息确定指定时段时,具体用于:

基于第一资源锁定事件的事件信息中包括的超时时间戳确定指定时段。

可以理解的是,本实施例中的跨链交易的处理装置的上述各模块具有实现图1中所示的实施例中的跨链交易的处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述跨链交易的处理装置的各模块的功能描述具体可以参见图1中所示实施例中的跨链交易的处理方法的对应描述,在此不再赘述。

基于与图2中所示的方法相同的原理,图4示出了本申请实施例提供的一种跨链交易的处理装置的结构示意图,如图4所示,该跨链交易的处理装置40可以包括:

资源锁定模块410,用于在接收到针对第一资源的资产锁定请求时,将第一资源锁定,并触发第一资源锁定事件;

交易处理模块420,用于在接收到跨链中继发送的处理请求时,对处理请求进行处理,其中,处理请求是由跨链中继在监听到第一资源锁定事件时,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件生成的,指定时段是基于第一资源锁定事件的事件信息确定的。

本申请实施例提供的装置,在接收到针对第一资源的资产锁定请求时,将第一资源锁定,并触发第一资源锁定事件,当接收到跨链中继发送的处理请求时,对处理请求进行处理,其中,处理请求是由跨链中继在监听到第一资源锁定事件时,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件生成的,指定时段是基于第一资源锁定事件的事件信息确定的。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

可选地,上述装置还包括存在性证明信息返回模块,存在性证明信息返回模块用于:

在接收到跨链中继对第一资源锁定事件的查询请求时,确定第一资源锁定事件的查询结果;

生成第一资源锁定事件的查询结果的第一存在性证明信息,并将第一存在性证明信息返回给跨链中继。

可选地,处理请求为资产转移请求或资产回滚请求,其中,资产转移请求是跨链中继在指定时段内监听到了第二资源锁定事件时生成的,资产回滚请求是跨链中继在指定时段内未监听到第二资源锁定事件时生成的;

若处理请求为资产转移请求,则交易处理模块在对处理请求进行处理时,具体用于:

对资产转移请求中所携带的第一存在性证明信息以及第二存在性证明信息进行验证,并在第一存在性证明信息以及第二存在性证明信息均验证通过时对第一资源与第二资源进行转移,其中,第二存在性证明信息为跨链中继在指定时段内监听到了第二资源锁定事件时由第二区块链提供给跨链中继的;

若处理请求为资产回滚请求,则交易处理模块在对处理请求进行处理时,具体用于:

对资产转移请求中所携带的第三存在性证明信息进行验证,并在第三存在性证明信息验证通过时对第一资源进行回滚,其中,第三存在性证明信息为跨链中继在指定时段内未监听到第二资源锁定事件时由第二区块链提供给跨链中继的。

可选地,第一资源锁定事件的事件信息中包括的超时时间戳,超时时间戳用于使跨链中继确定指定时段。

可以理解的是,本实施例中的跨链交易的处理装置的上述各模块具有实现图2中所示的实施例中的跨链交易的处理方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述跨链交易的处理装置的各模块的功能描述具体可以参见图2中所示实施例中的跨链交易的处理方法的对应描述,在此不再赘述。

本申请实施例提供了一种电子设备,包括处理器和存储器;

存储器,用于存储操作指令;

处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的跨链交易的处理方法。

作为一个示例,图5示出了本申请实施例所适用的一种电子设备的结构示意图,如图5所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。

其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。

处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的跨链交易的处理方法。

本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种电子设备,与现有技术相比,在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的跨链交易的处理方法。

本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种计算机可读存储介质,与现有技术相比,在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

本申请实施例提供了一种计算机程序产品,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的跨链交易的处理方法。

本申请实施例提供的计算机程序产品,适用于上述方法任一实施例,在此不再赘述。

本申请实施例提供了一种计算机程序产品,与现有技术相比,在跨链中继监听到第一区块链中触发的对第一资源的第一资源锁定事件时,基于第一资源锁定事件的事件信息确定指定时段,基于在指定时段内是否监听到了第二区块链中触发的对第二资源的第二资源锁定事件,生成相应的处理请求,并将处理请求分别发送给第一区块链以及第二区块链,以使第一区块链以及第二区块链分别对处理请求进行处理。本方案中,通过跨链中继实现了跨链交易中的定时任务,使得跨链交易不再依赖于区块链的定时任务能力,有助于提升了跨链交易方案的通用性。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 跨链交易的处理方法、装置、电子设备及可读存储介质
  • 跨链交易方法、电子设备及可读存储介质
技术分类

06120112879595