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

跨链数据互换方法、系统、装置、电子设备

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


跨链数据互换方法、系统、装置、电子设备

技术领域

本申请涉及区块链技术领域,特别涉及一种跨链数据互换方法,跨链数据互换系统、跨链数据互换装置、电子设备、计算机可读存储介质。

背景技术

区块链是指利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。

跨链是指通过技术手段,将原本不同的、独立的区块链上的信息、价值进行交换和流通。狭义上来说是两个相对独立的区块链账本间进行资产互操作(Interoperability)的过程;广义上来说是两个独立的账本间进行资产、数据互操作的过程。不论对于公有链还是私有链来看,跨链技术把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁。

哈希时间锁合约(HTLC)是一项进行区块链网络之间资产交换的技术。在资产交换过程中,为了保证各个区块链的资产安全,资产转移要么全部完成,要么全部没有完成,不存在任何中间状态。哈希时间锁合约基于哈希算法和超时时间机制实现,执行流程复杂,时间效率低。

发明内容

本申请实施例提供了一种跨链数据互换方法,用以简化资产互换流程,提高时间效率。

本申请实施例提供了一种跨链数据互换方法,所述方法由区块链节点执行,所述方法包括:

根据客户端发送的提案数据,向跨链平台发送资产互换请求;

接收所述跨链平台响应所述资产互换请求返回的交易预备指令;

响应所述交易预备指令,对所述提案数据指示的交易资产进行锁定并返回资产锁定结果;

若接收到所述跨链平台基于所述资产锁定结果返回的交易提交指令,转移所述交易资产并返回交易成功消息;

其中,所述交易提交指令是所述跨链平台在接收到参与资产互换的多个区块链节点均返回资产锁定成功消息时才发出的。

在一实施例中,所述响应所述交易预备指令,对所述提案数据指示的交易资产进行锁定并返回资产锁定结果,包括:

响应所述交易预备指令,判断所述提案数据指示的发送方是否为所述客户端对应账户;

若所述发送方为所述客户端对应账户,判断所述发送方的剩余资产是否大于等于所述交易资产;

若所述发送方的剩余资产大于等于所述交易资产,对所述提案数据指示的交易资产进行锁定并返回资产锁定成功消息。

在一实施例中,所述方法还包括:

若所述发送方不是所述客户端对应账户或者所述发送方的剩余资产小于所述交易资产,返回资产锁定失败消息。

在一实施例中,所述对所述提案数据指示的交易资产进行锁定之后,所述方法还包括:

将所述提案数据保存在所述区块链节点本地。

在一实施例中,所述方法还包括:

若接收到所述跨链平台基于所述资产锁定结果返回的交易回滚指令,对锁定的所述交易资产进行解锁;

所述交易回滚指令是所述跨链平台在接收到参与资产互换的至少一个区块链节点返回资产锁定失败消息时才发出的。

在一实施例中,在所述转移所述交易资产之后,所述方法还包括:

从待完成提案列表中删除所述提案数据。

本申请实施例还提供了一种跨链数据互换方法,所述方法由跨链平台执行,所述跨链平台与多个区块链节点进行交互,所述多个区块链节点分属不同的区块链网络;所述方法包括:

当接收到所述多个区块链节点发送包含同一提案标识的资产互换请求时,向所述多个区块链节点发送交易预备指令;其中,所述交易预备指令的发送,触发所述多个区块链节点锁定交易资产并返回资产锁定结果;

当接收到所述多个区块链节点均返回资产锁定成功消息时,向所述多个区块链节点发送交易提交指令;其中,所述交易提交指令的发送,触发所述多个区块链节点转移所述交易资产并返回交易成功消息;

当接收到所述多个区块链节点均返回交易成功消息时,确定当前轮次的资产互换结束。

在一实施例中,所述方法还包括:

当接收到至少一个所述区块链节点返回资产锁定失败消息时,向所述多个区块链节点发送交易回滚指令;

其中,所述交易提交指令的发送,触发所述多个区块链节点对所述交易资产进行解锁。

本申请实施例还提供了一种跨链数据互换系统,包括:

跨链平台;

多个区块链节点,与所述跨链平台通信连接;所述多个区块链节点分属不同的区块链网络;

所述跨链平台,用于在接收到所述多个区块链节点发送包含同一提案标识的资产互换请求时,向所述多个区块链节点发送交易预备指令;在接收到所述多个区块链节点均返回资产锁定成功消息时,向所述多个区块链节点发送交易提交指令;

所述多个区块链节点,用于接收所述交易预备指令,锁定交易资产并返回资产锁定结果;接收所述交易提交指令,转移所述交易资产并返回交易成功消息;

所述跨链平台,还用于在接收到所述多个区块链节点均返回交易成功消息时,确定当前轮次的资产互换结束。

本申请实施例还提供了一种跨链数据互换装置,所述装置应用于区块链节点,所述装置包括:

请求发送模块,用于根据客户端发送的提案数据,向跨链平台发送资产互换请求;

指令接收模块,用于接收所述跨链平台响应所述资产互换请求返回的交易预备指令;

资产锁定模块,用于响应所述交易预备指令,对所述提案数据指示的交易资产进行锁定并返回资产锁定结果;

资产转移模块,用于若接收到所述跨链平台基于所述资产锁定结果返回的交易提交指令,转移所述交易资产并返回交易成功消息;

其中,所述交易提交指令是所述跨链平台在接收到参与资产互换的多个区块链节点均返回资产锁定成功消息时才发出的。

本申请实施例还提供了一种电子设备,所述电子设备包括:

处理器;

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

其中,所述处理器被配置为执行上述跨链数据互换方法。

本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述跨链数据互换方法。

本申请上述实施例提供的技术方案,处于不同区块链网络中的区块链节点,可以在接收到交易预备指令时,对交易资产进行锁定,并返回资产锁定结果,在不同区块链网络中的区块链节点均返回资产锁定成功消息时,区块链节点才能接收到跨链平台发送的交易提交指令,才会进行资产转移,从而保证了交易的安全性,通过锁定和转移两个阶段即可实现不同区块链网络之间的资产互换,方便快捷。

附图说明

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

图1为本申请一实施例提供的跨链数据互换系统的架构示意图;

图2是XA实现分布式事务的原理示意图;

图3是本申请实施例提供的电子设备的结构示意图;

图4是本申请实施例提供的跨链数据互换方法的流程示意图;

图5图4对应实施例中步骤430的细节流程图;

图6是跨链平台与两条链的跨链路由节点进行交互实现资产互换的流程示意图;

图7是跨链平台与N条链的跨链路由节点进行交互实现资产互换的流程示意图;

图8是本申请另一实施例提供的一种跨链数据互换方法的流程示意图;

图9是基于哈希时间锁的跨链资产互换流程示意图;

图10为本申请一实施例示出的一种跨链数据互换装置的框图;

图11为本申请另一实施例示出的一种跨链数据互换装置的框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1为本申请实施例提供的跨链数据互换系统的架构示意图,如图1所示,该系统包括跨链平台150以及多个区块链节点160。多个区块链节点160分属不同的区块链网络。例如一个区块链节点160属于第一区块链网络,另一个区块链节点160属于第二区块链网络。跨链平台150包括多个跨链节点151,跨链节点151和区块链节点160可以是矿机、台式电脑、笔记本电脑、服务器。多个区块链节点160,与所述跨链平台150通信连接。

该系统还可以包括客户端140,客户端140可以与区块链节点160进行通信,向区块链节点160发送提案数据,从而区块链节点160向跨链平台150发送资产互换请求。提案数据可以包括提案标识、发送方信息(例如发送方账号)、接收方信息(例如接收方账号)、交易资产(即转账金额)等。

其中,跨链平台150在接收到所述多个区块链节点160发送包含同一提案标识的资产互换请求时,向所述多个区块链节点160发送交易预备指令;多个区块链节点160接收所述交易预备指令,锁定交易资产并返回资产锁定结果。

跨链平台150在接收到所述多个区块链节点160均返回资产锁定成功消息时,向所述多个区块链节点1460发送交易提交指令;多个区块链节点160接收所述交易提交指令,转移所述交易资产并返回交易成功消息。

所述跨链平台150在接收到所述多个区块链节点160均返回交易成功消息时,确定当前轮次的资产互换结束。

在一实施例中,跨链平台150接收到至少一个区块链节点返回资产锁定失败消息时,可以向多个区块链节点发送交易回滚指令;

多个区块链节点接收到交易回滚指令,对锁定的交易资产进行解锁。

本申请中,跨链平台相当于事务管理器,区块链节点相当于本地资源管理器。通过类似于数据库XA分布式事务的模式,应用于区块链的跨链资产互换,通过预备阶段(pre阶段)及提交阶段(commit阶段)来实现。去除哈希(hash)时间锁、且达到执行效率的提高。XA是一个分布式事务协议,由Tuxedo提出。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2这些商业数据库都实现了XA接口,XA接口提供资源管理器与事务管理器之间进行通信的标准接口。而事务管理器作为全局的调度者,负责各个本地资源的提交和回滚。XA实现分布式事务的原理如图2所示。

第一阶段,事务管理器向多个本地资源管理器发送预备指令,在预备成功后,本地资源管理器向实务管理器返回预备成功消息。第二阶段,事务管理器向多个本地资源管理器发送提交指令,在提交完成后,多个本地资源管理器返回提交成功消息。由此,本申请跨链资产互换也可以通过预备阶段和提交阶段两阶段实现资产互换,无需哈希时间锁,提高执行效率。

图3是本申请实施例提供的电子设备的结构示意图。该电子设备可以作为跨链平台或区块链节点,该电子设备100可以用于执行本申请实施例提供的跨链数据互换方法。如图3所示,该电子设备100包括:一个或多个处理器102、一个或多个存储处理器可执行指令的存储器104。其中,所述处理器102被配置为执行本申请下述实施例提供的跨链数据互换方法。

所述处理器102可以是包含中央处理单元(CPU)、图像处理单元(GPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子设备100中的其它组件的数据进行处理,还可以控制所述电子设备100中的其它组件以执行期望的功能。

所述存储器104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的跨链数据互换方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

在一实施例中,图3所示电子设备100还可以包括输入装置106、输出装置108以及数据采集装置110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图3所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备100也可以具有其他组件和结构。

所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。所述数据采集装置110可以采集对象的图像,并且将所采集的图像存储在所述存储器104中以供其它组件使用。示例性地,该数据采集装置110可以为摄像头。

在一实施例中,用于实现本申请实施例的跨链数据互换方法的示例电子设备100中的各器件可以集成设置,也可以分散设置,诸如将处理器102、存储器104、输入装置106和输出装置108集成设置于一体,而将数据采集装置110分离设置。

在一实施例中,用于实现本申请实施例的跨链数据互换方法的示例电子设备100可以被实现为诸如计算机、服务器、矿机等智能设备。

图4是本申请实施例提供的跨链数据互换方法的流程示意图。该方法可以由区块链节点执行。如图4所示,该流程包括步骤S410-步骤S440。

步骤S410:区块链节点根据客户端发送的提案数据,向跨链平台发送资产互换请求。

需要说明的是,初始化阶段,跨链平台可以分别在区块链网络部署xaLock智能合约。智能合约可以是solidity实现版本的合约,实际应用中也可以是其他形式的智能合约,如链码。智能合约的输入参数有资金合约地址,例如,用户A在区块链A的a1资产合约地址及在区块链B的a2资产合约地址,部署完成后得到合约地址,区块链A的k1合约地址和区块链B的k2合约地址。跨链平台做好对各区块链的节点的链接,同时区块链节点的资金合约需要授权跨链平台的跨链合约有权操作锁定的资金。

其中,提案数据可以包括提案标识、发送方信息(例如发送方账号)、接收方信息(例如接收方账号)、交易资产(即转账金额)等。

举例来说,用户A的客户端和用户B的客户端通过交互协商一个提案,链A提案数据(称为发起方提案)可以包括:提案标识t1,发送者accountA1,接收者accountB1,转账金额20coin。用户A的客户端使用账号accountA1对提案签名,便于上链。如链B提案数据(称为对手方提案)可以包括:提案标识t1,发送者accountB2,接收者accountA2,转账金额10coin。用户B的客户端使用账号accountB2对提案签名,便于上链。也就是说,用户A需要在A链转账给用户B 20个币,作为交换,用户B需要在B链转账给用户A 10个币。区块链节点可以是A链的其中一个节点,也可以是B链的其中一个节点。

区块链节点接收到客户端发送的提案数据,可以向跨链平台发送资产互换请求。资产互换请求可以包含提案数据包含的提案标识。跨链平台接收到资产互换请求可以向区块链节点返回交易预备指令。

步骤S420:区块链节点接收所述跨链平台响应所述资产互换请求返回的交易预备指令。

其中,交易预备指令可以包括提案标识。

步骤S430:区块链节点响应所述交易预备指令,对所述提案数据指示的交易资产进行锁定并返回资产锁定结果。

区块链节点接收到交易预备指令后,可以根据交易预备指令携带的提案标识,将提案标识对应的提案数据中指示的发送者的交易资产进行锁定。举例来说,“提案标识t1,发送者accountA1,接收者accountB1,转账金额20coin”则可以将账户为accountA1的20币先进行锁定。锁定是指限定这20币只能转账给账户accountB1。不管锁定是否成功,区块链节点均向跨链平台发送资产锁定结果。资产锁定结果可能是锁定成功,也可能是锁定失败。

步骤S440:若区块链节点接收到所述跨链平台基于所述资产锁定结果返回的交易提交指令,转移所述交易资产并返回交易成功消息。

其中,所述交易提交指令是所述跨链平台在接收到参与资产互换的多个区块链节点均返回资产锁定成功消息时才发出的。

在一实施例中,区块链节点如果交易资产锁定成功,则可以向跨链平台发送资产锁定成功消息,资产锁定成功消息是资产锁定结果的一种。区块链节点如果交易资产锁定失败,则可以向跨链平台发送资产锁定失败消息,资产锁定失败消息是另一种资产锁定结果。

如果参与此轮资产互换的多个区块链节点均向跨链平台发送资产锁定成功消息,则跨链平台可以向这些区块链节点发送交易提交指令。交易提交指令可以包括提案标识。区块链节点接收到交易提交指令后,可以根据提案数据指示的发送者账户和接收者账户,将发送者账户锁定的交易资产转移到接收到账户,并向跨链平台发送交易成功消息。交易成功消息可以包括提案标识。跨链平台接收到所有区块链节点发送的交易成功消息,则表示此轮资产互换结束。区块链节点可以从待完成提案列表中删除已完成的上述提案数据。

本申请上述实施例提供的技术方案,处于不同区块链网络中的区块链节点,可以在接收到交易预备指令时,对交易资产进行锁定,并返回资产锁定结果,在不同区块链网络中的区块链节点均返回资产锁定成功消息时,区块链节点才能接收到跨链平台发送的交易提交指令,才会进行资产转移,从而保证了交易的安全性,通过锁定和转移两个阶段即可实现不同区块链网络之间的资产互换,方便快捷。

在一实施例中,如图5所示,上述步骤S430具体包括步骤S431-步骤S433。

步骤S431:响应所述交易预备指令,判断所述提案数据指示的发送方是否为所述客户端对应账户。

步骤S432:若所述发送方为所述客户端对应账户,判断所述发送方的剩余资产是否大于等于所述交易资产。

步骤S433:若所述发送方的剩余资产大于等于所述交易资产,对所述提案数据指示的交易资产进行锁定并返回资产锁定成功消息。

在一实施例中,在锁定成功后,区块链节点可以将提案数据保存在本地。

步骤S433’:若所述发送方不是所述客户端对应账户或者所述发送方的剩余资产小于所述交易资产,返回资产锁定失败消息。

也就是说,区块链节点需要检查发送者的账户是否是客户端自己的账户,发送者的账户余额是否足够,若足够,调用资产合约将发送者的交易资产(转账金额)锁定。例如,链A将用户A的accountA1账户的20币锁定;链B将用户B的accountB2账户的10币锁定。

在一实施例中,假设区块链节点没有接收到交易提交指令,而是接收到跨链平台基于所述资产锁定结果返回的交易回滚指令,则区块链节点需要对锁定的所述交易资产进行解锁。

其中,所述交易回滚指令是跨链平台在接收到参与资产互换的至少一个区块链节点返回资产锁定失败消息时才发出的。

也就是说,如果参与资产互换的某个区块链节点对用户的交易资产锁定失败,则会向跨链平台发送资产锁定失败消息。跨链平台接收到资产锁定失败消息,则会向所有区块链节点发送交易回滚指令。交易回滚指令可以包括提案标识。区块链接收到交易回滚指令,根据提案标识对应锁定的交易资产,对锁定的交易资产进行解锁。解锁是相对锁定而言的,是指该笔交易资产不限于转账给提案数据中限定的接收者,也可以转账给其他第三人。区块链节点在完成解锁后,可以向跨链平台发送解锁成功消息,至此此轮资产互换以失败告终。

图6是跨链平台与两条链的跨链路由节点进行交互,实现链A中用户A向用户B进行转账,链B中用户B向用户A进行转张,实现两条链的资产互换的流程示意图。图7是跨链平台与N条链的跨链路由节点进行交互,实现N个用户在N条链的资产互换的流程示意图。

从图6和图7中可以看出,如:不同链的用户,用户1、用户2、用户N协商一个提案(如下),将提案经过pre阶段—资产锁定上链、commit阶段,资产转移上链的流程,来完成资产互换。

链A提案详情(称为发起方提案):{提案taskId:t1,发送者accountX1,接收者accountY1,转账金额20coin}。

链B提案详情(称为对手方提案):{提案taskId:t1,发送者accountY2,接收者accountZ2,转账金额10coin}。

链N提案详情(称为对手方提案):{提案taskId:t1,发送者accountZn,接收者accountRn,转账金额n coin}。

Pre阶段:各个链之间的资产同时锁定,知道全部锁定成功;然后在commit阶段进行转移。由此本申请通过XA两阶段事务方式实现跨链,将哈希时间锁的原先方案(提案、锁定步骤)统一到pre阶段操作,转移步骤统一到提交阶段操作,达到资产的跨链互换,同时去除hash限定及时间限定、达到执行效率的提高及事务的可靠性提高。

图8是本申请另一实施例提供的一种跨链数据互换方法的流程示意图。如图8所示,该方法可以由跨链平台执行,所述跨链平台与多个区块链节点进行交互,所述多个区块链节点分属不同的区块链网络。该方法包括以下步骤S810-步骤S830。

步骤S810:当跨链平台接收到多个区块链节点发送包含同一提案标识的资产互换请求时,向所述多个区块链节点发送交易预备指令;其中,所述交易预备指令的发送,触发所述多个区块链节点锁定交易资产并返回资产锁定结果。其中,发送包含同一提案标识的多个区块链节点可以认为是参与此轮资产互换的多个区块链节点。

步骤S820:当跨链平台接收到所述多个区块链节点均返回资产锁定成功消息时,向所述多个区块链节点发送交易提交指令;其中,所述交易提交指令的发送,触发所述多个区块链节点转移所述交易资产并返回交易成功消息。

步骤S820’:当跨链平台接收到至少一个所述区块链节点返回资产锁定失败消息时,向所述多个区块链节点发送交易回滚指令;其中,所述交易提交指令的发送,触发所述多个区块链节点对所述交易资产进行解锁。

步骤S830:当跨链平台接收到所述多个区块链节点均返回交易成功消息时,确定当前轮次的资产互换结束。

上述由跨链平台执行的跨链数据互换方法可以参照上文由区块链节点执行的跨链数据互换方法实施例。

为充分体现本申请实施例提供的跨链数据互换方法的技术效果,图9示出了基于哈希时间锁的跨链资产互换流程。

背景:链A账号:用户A持有账号1、资产1000,用户B持有账号2;链B账号:用户B持有账号3,资产800,用户A持有账号4。

目标:通过跨链平台,账号1在链A给账号2转账500,账号3在链B给账号4转账300,依次达到跨链资产互换。

具体的,哈希时间锁跨链转账流程如下:

1、用户A首先选取一个秘钥随机数S,使用哈希算法计算出S的哈希值H,做为提案编号,并将H发送给B,同时A和B协商两个时间点T0和T1,确保T0>T1。(提案流程)

2、跨链平台基于H提案,将用户A的资产(1000)锁定给哈希时间锁合约(HTLCLock.sol),该智能合约会锁定用户A的资产,可以在T0时间内使用秘钥S转移给用户B,如果在T0前仍未解锁,则会自动撤销锁定,且不会有任何资产转移。(锁定流程)

3、跨链平台基于H提案,将用户B的资产(800)锁定给哈希时间锁合约(HTLCLock.sol),该智能合约会锁定用户B的资产,可以在T1时间内使用秘钥S转移给用户A,如果在T1前仍未解锁,则会自动撤销锁定,且不会有任何资产转移。(锁定流程)

4、在双方同时完成锁定后,跨链节点使用A的随机数S,调用B上的哈希时间锁智能合约,将资产(800)转移给A。(转移流程)

5、经过上述步骤,B获得了秘钥随机数S,跨链节点使用B得到的S,将资产(1000)转移给B,完成资产交换。(转移流程)

6、如果A或B任意一方超时未执行操作,则在T1时间点后,B资产会撤销锁定,T0时间后,A资产会撤销锁定,还原初始状态。(回滚流程)

哈希时间锁虽然确保了用户资金的安全性,但是执行流程复杂(提案、锁定、转移、回滚),每一步都涉及复杂上链的操作,均依赖于hash锁及时间锁。转移流程各链之间必须串行执行,时间效率较低。各链之间资产锁定和资产转移无法同时进行。

而通过类似于数据库XA分布式事务的模式,应用于区块链的跨链资产互换,通过预备阶段及提交阶段来实现,去除hash时间锁、各链之间资产锁定和资产转移可以同时进行,提高了执行效率。

下述为本申请装置实施例,可以用于执行本申请上述跨链数据互换方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请跨链数据互换方法实施例。

图10为本申请一实施例示出的一种跨链数据互换装置的框图。该装置可以应用于区块链节点,如图10所示,该装置包括:请求发送模块910、指令接收模块920、资产锁定模块930以及资产转移模块940。

请求发送模块910,用于根据客户端发送的提案数据,向跨链平台发送资产互换请求;

指令接收模块920,用于接收所述跨链平台响应所述资产互换请求返回的交易预备指令;

资产锁定模块930,用于响应所述交易预备指令,对所述提案数据指示的交易资产进行锁定并返回资产锁定结果;

资产转移模块940,用于若接收到所述跨链平台基于所述资产锁定结果返回的交易提交指令,转移所述交易资产并返回交易成功消息;

其中,所述交易提交指令是所述跨链平台在接收到参与资产互换的多个区块链节点均返回资产锁定成功消息时才发出的。

图11为本申请另一实施例示出的一种跨链数据互换装置的框图。该装置可以应用于跨链平台,所述跨链平台与多个区块链节点进行交互,所述多个区块链节点分属不同的区块链网络;如图11所示,该装置可以包括:预备指令发送模块1010、提交指令发送模块1020以及成功消息接收模块1030。

预备指令发送模块1010,用于当接收到所述多个区块链节点发送包含同一提案标识的资产互换请求时,向所述多个区块链节点发送交易预备指令;其中,所述交易预备指令的发送,触发所述多个区块链节点锁定交易资产并返回资产锁定结果;

提交指令发送模块1020,用于当接收到所述多个区块链节点均返回资产锁定成功消息时,向所述多个区块链节点发送交易提交指令;其中,所述交易提交指令的发送,触发所述多个区块链节点转移所述交易资产并返回交易成功消息;

成功消息接收模块1030,用于当接收到所述多个区块链节点均返回交易成功消息时,确定当前轮次的资产互换结束。

上述装置中各个模块的功能和作用的实现过程具体详见上述跨链数据互换方法中对应步骤的实现过程,在此不再赘述。

在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

相关技术
  • 跨链数据互换方法、系统、装置、电子设备
  • 一种联盟链跨链数据一致性验证方法、装置和电子设备
技术分类

06120112879597