首页> 中国专利> 一种支持跨链原子交易的处理方法

一种支持跨链原子交易的处理方法

摘要

本发明公开了一种支持跨链原子交易的处理方法,包括获取甲方/乙方向第一区块链/第二区块链发起跨链交易的申请信息,所述申请信息用于确定仲裁合约,根据所述申请信息和所述仲裁合约向乙方/甲方发起仲裁交易,以实现跨链原子交易,本发明弥补了现有技术中跨链原子交易缺乏原子性的问题,经过以上方法,第一区块链上和第二区块链上的两个操作,就可以原子性的发生,同时生效,或同时失败,同时保证了权限的完整性,没有将自己的权限暴露给第三方。

著录项

  • 公开/公告号CN112598518A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 北京链化未来科技有限公司;

    申请/专利号CN202011556106.1

  • 发明设计人 苏羽;

    申请日2020-12-24

  • 分类号G06Q40/04(20120101);

  • 代理机构33293 杭州快知知识产权代理事务所(特殊普通合伙);

  • 代理人杨冬玲

  • 地址 100190 北京市海淀区中关村大街18号11层1120-64

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本发明涉及数据处理领域,尤其涉及一种支持跨链原子交易的处理方法。

背景技术

现有有区块链A和区块链B,两条链,甲方乙方,两个转账对象,甲方持有链A的a1账户,和链B的a2账户。乙方持有链A的b1账户,和链B的b2账户,跨链的目的是,甲方将链A的资产从a1转给b1,同时乙方将链B的资产从b2转给a2,这两个交易需要同时成功,或者同时失败,也就是具有原子性,一致性。

现有方法中都存在如下缺陷:有先后依赖性,跨链双方部署合约,依赖一个哈希值,来解锁锁定的资产,由一方产生,比如甲方,解锁乙方的锁定资产时,被乙方得知,进而可以解锁获得甲方的锁定资产,是有先后的依赖顺序。

因此当受到攻击,网络问题,导致甲方和乙方不能达成共识,将会使双方蒙受损失。

发明内容

本发明提供的一种支持跨链原子交易的处理方法,旨在解决现有技术中交易双方不能同时发生或同时失败从而导致双方产生损失的问题。

为实现上述目的,本发明采用以下技术方案:

本发明的一种支持跨链原子交易的处理方法,包括以下步骤:

获取甲方/乙方向第一区块链/第二区块链发起跨链交易的申请信息,所述申请信息用于确定仲裁合约;

根据所述申请信息和所述仲裁合约向乙方/甲方发起仲裁交易,以实现跨链原子交易。

首先在A、B两个链部署仲裁合约,根据所述仲裁合约某一方向另一方发起仲裁交易,同时产生交易或者同时失败。

作为优选,获取甲方/乙方向第一区块链/第二区块链发起跨链交易的申请信息,所述申请信息用于确定仲裁合约,包括:

获取第一区块链的第一账户的资产和第二区块链的第二账户的资产,所述第一区块链还包括第一仲裁账户和第一期望,所述第二区块链还包括第二仲裁账户和第二期望,所述第一期望用于确定将所述第一区块链的第一账户的资产转移到第一仲裁账户,所述第二期望用于确定将所述第二区块链的第二账户的资产转移到第二仲裁账户;

根据简单支付验证技术判断所述第一期望/所述第二期望是否存在;

当所述第一期望/所述第二期望存在,则将所述第二区块链的第二账户的资产/所述第一区块链的第一账户的资产转移到所述第一区块链的第二账户/所述第二区块链的第一账户。

作为优选,所述仲裁合约,包括:

在T个块的时间内,执行所述仲裁合约,所述T以区块链出块数量作为计时单位,T为大于1的整数;

当所述第一期望/所述第二期望不存在,则将所述第二区块链的第二账户的资产/所述第一区块链的第一账户的资产转移到所述第二区块链的第二账户/所述第一区块链的第一账户。

作为优选,根据所述申请信息和所述仲裁合约向乙方/甲方发起仲裁交易,以实现跨链原子交易,包括:

当所述第一期望/所述第二期望存在,则判断所述仲裁交易成功;

当所述仲裁交易超过规定的T个块的时间内,则判断所述仲裁交易失败。

一种支持跨链原子交易的处理装置,包括:

获取模块:用于获取甲方/乙方向第一区块链/第二区块链发起跨链交易的申请信息,所述申请信息用于确定仲裁合约;

交易模块:用于根据所述申请信息和所述仲裁合约向乙方/甲方发起仲裁交易,以实现跨链原子交易。

作为优选,所述获取模块具体包括:

第一获取单元:用于获取第一区块链的第一账户的资产和第二区块链的第二账户的资产,所述第一区块链还包括第一仲裁账户和第一期望,所述第二区块链还包括第二仲裁账户和第二期望,所述第一期望用于确定将所述第一区块链的第一账户的资产转移到第一仲裁账户,所述第二期望用于确定将所述第二区块链的第二账户的资产转移到第二仲裁账户;

判断单元:用于根据简单支付验证技术判断所述第一期望/所述第二期望是否存在;

第一判断单元:当所述第一期望/所述第二期望存在,则将所述第二区块链的第二账户的资产/所述第一区块链的第一账户的资产转移到所述第一区块链的第二账户/所述第二区块链的第一账户。

作为优选,所述获取模块还包括:

执行单元:用于在T个块的时间内,执行所述仲裁合约,所述T以区块链出块数量作为计时单位,T为大于1的整数;

第二判断单元:当所述第一期望/所述第二期望不存在,则将所述第二区块链的第二账户的资产/所述第一区块链的第一账户的资产转移到所述第二区块链的第二账户/所述第一区块链的第一账户。

作为优选,所述交易模块具体包括:

第一仲裁单元:用于当所述第一期望/所述第二期望存在,则判断所述仲裁交易成功;

第二仲裁单元:用于当所述仲裁交易超过规定的T个块的时间内,则判断所述仲裁交易失败。

一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上述中任一项所述的一种支持跨链原子交易的处理方法。

一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述中任一项所述的一种支持跨链原子交易的处理方法。

本发明具有如下有益效果:

在每一步,甲乙双方的操作都不受到对方的限制,可以独立进行,合约的锁定时间也是相互独立的,符合各自商定,可以通过对方验证即可不受到共识类型的影响,即便是实用拜占庭容错,块的确认时间可能随着因为共识过程变化,同样不会造成损失。

附图说明

图1是本发明实施例实现一种支持跨链原子交易的处理方法第一流程图;

图2是本发明实施例实现一种支持跨链原子交易的处理方法第二流程图;

图3是本发明实施例实现一种支持跨链原子交易的处理方法第三流程图;

图4是本发明实施例实现一种支持跨链原子交易的处理方法具体实施流程图。

图5是本发明实施例实现一种支持跨链原子交易的处理装置示意图;

图6是本发明实施例实现一种支持跨链原子交易的处理装置的获取模块示意图;

图7是本发明实施例实现一种支持跨链原子交易的处理装置的交易模块示意图;

图8是本发明实施例实现一种支持跨链原子交易的处理装置的具体实施流程图;

图9是本发明实施例实现一种支持跨链原子交易的处理装置的一种电子设备示意图。

具体实施方式

下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,一种支持跨链原子交易的处理方法,包括:

S110:获取甲方/乙方向第一区块链/第二区块链发起跨链交易的申请信息,所述申请信息用于确定仲裁合约;

S120:根据所述申请信息和所述仲裁合约向乙方/甲方发起仲裁交易,以实现跨链原子交易。

首先在A、B两个链部署仲裁合约,根据所述仲裁合约某一方向另一方发起仲裁交易,同时产生交易或者同时失败,在每一步,甲乙双方的操作都不受到对方的限制,可以独立进行,合约的锁定时间也是相互独立的,符合各自商定,可以通过对方验证即可不受到共识类型的影响,即便是实用拜占庭容错,块的确认时间可能随着因为共识过程变化,同样不会造成损失。

实施例2

如图2所示,一种支持跨链原子交易的处理方法,包括:

S210、获取第一区块链的第一账户的资产和第二区块链的第二账户的资产,所述第一区块链还包括第一仲裁账户和第一期望,所述第二区块链还包括第二仲裁账户和第二期望,所述第一期望用于确定将所述第一区块链的第一账户的资产转移到第一仲裁账户,所述第二期望用于确定将所述第二区块链的第二账户的资产转移到第二仲裁账户;

S220、根据简单支付验证技术判断所述第一期望/所述第二期望是否存在;

S230、当所述第一期望/所述第二期望存在,则将所述第二区块链的第二账户的资产/所述第一区块链的第一账户的资产转移到所述第一区块链的第二账户/所述第二区块链的第一账户。

S240、根据所述申请信息和所述仲裁合约向乙方/甲方发起仲裁交易,以实现跨链原子交易。

由实施例2可知,当获取到第一区块链的第一账户的资产和第二区块链的第二账户的资产,将第一区块链的第一账户的资产转移到第一仲裁账户,这一过程为第一期望,同理,所述第二期望用于确定将所述第二区块链的第二账户的资产转移到第二仲裁账户,因此在验证时,需要提出证据,根据简单支付验证技术判断第一期望和第二期望是否成功,如果成功,那么资产是从第一仲裁账户/第二区块链第二仲裁账户转移到所述第一区块链的第二账户/所述第二区块链的第一账户,各自由仲裁账户发起,即可同时产生或同时失败。

实施例3

如图3所示,一种支持跨链原子交易的处理方法,包括:

S310、获取甲方/乙方向第一区块链/第二区块链发起跨链交易的申请信息,所述申请信息用于确定仲裁合约;

S320、在T个块的时间内,执行所述仲裁合约,所述T以区块链出块数量作为计时单位,T为大于1的整数;

S330、当所述第一期望/所述第二期望不存在,则将所述第二区块链的第二账户的资产/所述第一区块链的第一账户的资产转移到所述第二区块链的第二账户/所述第一区块链的第一账户;

S340、当所述第一期望/所述第二期望存在,则判断所述仲裁交易成功;

S350、当所述仲裁交易超过规定的T个块的时间内,则判断所述仲裁交易失败。

实施例3中,仲裁合约的内容为:以A链为例,等待时间T,以区块链出块数量作为计时单位,成功条件是通过简单支付验证技术,证明第二期望在B链上被确认,第二期望指定是在B链上,B链的第二账户已经按照要求将资产转移入仲裁合约的第二仲裁账户,并提起仲裁,成功后,对应资产的接收账户变为B链的第一账户,否则超时的话,对应资产的接收账户变为A链的第一账户。

实施例4

如图4所示,一种具体的实施方式可为:

S410、首先在A,B两个链上部署仲裁合约Ara和Arb;

仲裁合约只能根据开源的代码逻辑做出仲裁,相应的操作,除此之外不能执行任何其他交易,也就是设立了一个功能完全透明且不可更改逻辑的仲裁者,Ara表示第一仲裁账户,Arb表示第二仲裁账户。

S420、甲乙两方在各自链上将资产转给各自链的仲裁者;

根据业务,在A,B两条链上,需要同时资产转移的交易,并且要求具有原子性,不失一般性,假设A链上,a1->b1,同时要求B链上b2->a2,a1表示第一区块链的第一账户,b1表示第二区块链的第一账户,b2表示第二区块链的第二账户,a2表示第一区块链的第二账户,甲乙两个用户可以在各自链上,将商定好的资产转给各自链的仲裁者,A链的Ara,B链的Arb,产生一个仲裁提案,可以先后发生,根据双方意愿即可。

S430、仲裁交易包含要素;

等待时间T,以区块链出块数量作为计时单位,比如等待100个块,成功条件是,通过简单支付验证技术,证明Trx-B在b链上被确认,Trx-B指的是B链上,b2已经按照要求将资产转入仲裁合约Arb,并提起仲裁,成功后,对应资产的接受账号变为b1,否则超时的话,资产接收账号变为a1

S440、仲裁交易逻辑部分;

若A链经过T个块,没有人提交SPV的证据,证明B链上,TrxB确定发生,那么资产接收方设为发起方a1。这里TrxB是B链上b2提交仲裁交易,并锁定资产,该交易需要明确指定仲裁的锁定时间T,仲裁成功的收益人a2,仲裁成功的条件是a1在A链上提交了仲裁交易TrxA。若在T个块以内,有人提交了SPV证据证明TrxB确定发生了,那么就将资产接收方设置为仲裁接收账号b1,在T个块以后,仲裁交易的资产收益放,如果仲裁成功就是b1,如果仲裁超时失败,就是a1,就可以取回资产。

S450、仲裁交易完成部分。

此时,两条仲裁交易TrxA,TrxB都已经上链,甲乙双方,可以互相独立提交证据到对应的链上的合约,获得指定的财产,经过以上步骤,A链上a1->b1,B链上b2->a2的两个操作,就可以原子性的发生,同时生效,或同时失败,同时保证了权限的完整性,没有将自己的权限暴露给第三方。

实施例5

如图5所示,一种支持跨链原子交易的处理装置,包括:

获取模块10:用于获取甲方/乙方向第一区块链/第二区块链发起跨链交易的申请信息,所述申请信息用于确定仲裁合约;

交易模块20:用于根据所述申请信息和所述仲裁合约向乙方/甲方发起仲裁交易,以实现跨链原子交易。

上述装置的一种实施方式可为:获取模块10获取交易申请信息和仲裁合约,交易模块20根据获取模块10获取的交易申请信息和仲裁合约进行仲裁交易。

实施例6

如图6所示,一种支持跨链原子交易的处理装置的获取模块10包括:

第一获取单元12:用于获取第一区块链的第一账户的资产和第二区块链的第二账户的资产,所述第一区块链还包括第一仲裁账户和第一期望,所述第二区块链还包括第二仲裁账户和第二期望,所述第一期望用于确定将所述第一区块链的第一账户的资产转移到第一仲裁账户,所述第二期望用于确定将所述第二区块链的第二账户的资产转移到第二仲裁账户;

判断单元14:用于根据简单支付验证技术判断所述第一期望/所述第二期望是否存在;

第一判断单元16:当所述第一期望/所述第二期望存在,则将所述第二区块链的第二账户的资产/所述第一区块链的第一账户的资产转移到所述第一区块链的第二账户/所述第二区块链的第一账户。

上述装置的获取模块10的一种实施方式可为:第一获取单元12获取各自链上的资产,并将各自的资产转移到各自的链上的仲裁者,判断单元14判断转移过程是否存在,第一判断单元16当判断单元14判断存在,则完成交易。

实施例7

如图7所示,一种支持跨链原子交易的处理装置的交易模块20包括:

第一仲裁单元22:用于当所述第一期望/所述第二期望存在,则判断所述仲裁交易成功;

第二仲裁单元24:用于当所述仲裁交易超过规定的T个块的时间内,则判断所述仲裁交易失败。

上述装置的交易模块20的一种实施方式可为:执行仲裁合约,在规定的T个块内,若提交了证据,则判断交易成功,否则交易失败。

实施例8

如图8所示,一种具体的实施装置可为:

S810、首先在A,B两个链上部署仲裁合约Ara和Arb;

仲裁合约只能根据开源的代码逻辑做出仲裁,相应的操作,除此之外不能执行任何其他交易,也就是设立了一个功能完全透明且不可更改逻辑的仲裁者,Ara表示第一仲裁账户,Arb表示第二仲裁账户。

S820、甲乙两方在各自链上将资产转给各自链的仲裁者;

根据业务,在A,B两条链上,需要同时资产转移的交易,并且要求具有原子性,不失一般性,假设A链上,a1->b1,同时要求B链上b2->a2,a1表示第一区块链的第一账户,b1表示第二区块链的第一账户,b2表示第二区块链的第二账户,a2表示第一区块链的第二账户,甲乙两个用户可以在各自链上,将商定好的资产转给各自链的仲裁者,A链的Ara,B链的Arb,产生一个仲裁提案,可以先后发生,根据双方意愿即可。

S830、仲裁交易包含要素;

等待时间T,以区块链出块数量作为计时单位,比如等待100个块,成功条件是,通过简单支付验证技术,证明Trx-B在b链上被确认,Trx-B指的是B链上,b2已经按照要求将资产转入仲裁合约Arb,并提起仲裁,成功后,对应资产的接受账号变为b1,否则超时的话,资产接收账号变为a1

S840、仲裁交易逻辑部分;

若A链经过T个块,没有人提交SPV的证据,证明B链上,TrxB确定发生,那么资产接收方设为发起方a1。这里TrxB是B链上b2提交仲裁交易,并锁定资产,该交易需要明确指定仲裁的锁定时间T,仲裁成功的收益人a2,仲裁成功的条件是a1在A链上提交了仲裁交易TrxA。若在T个块以内,有人提交了SPV证据证明TrxB确定发生了,那么就将资产接收方设置为仲裁接收账号b1,在T个块以后,仲裁交易的资产收益放,如果仲裁成功就是b1,如果仲裁超时失败,就是a1,就可以取回资产。

S850、仲裁交易完成部分。

此时,两条仲裁交易TrxA,TrxB都已经上链,甲乙双方,可以互相独立提交证据到对应的链上的合约,获得指定的财产,经过以上步骤,A链上a1->b1,B链上b2->a2的两个操作,就可以原子性的发生,同时生效,或同时失败,同时保证了权限的完整性,没有将自己的权限暴露给第三方。

实施例9

如图9所示,一种电子设备,包括存储器901和处理器902,所述存储器901用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器902执行以实现上述的一种支持跨链原子交易的处理方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述的一种支持跨链原子交易的处理方法。

示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器901中,并由处理器902执行,并由输入接口905和输出接口906完成数据的I/O接口传输,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机设备中的执行过程。

计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,存储器901、处理器902。本领域技术人员可以理解,本实施例仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入器907、网络接入设备、总线等。

处理器902可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器902、数字信号处理器902(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgRAM503mableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器902可以是微处理器902或者该处理器902也可以是任何常规的处理器902等。

存储器901可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。存储器901也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器901还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器901用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器901还可以用于暂时地存储在输出器9008,而前述的存储介质包括U盘、移动硬盘、只读存储器ROM1003、随机存储器RAM1004、碟盘或光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的具体实施例,但本发明的技术特征并不局限于此,任何本领域的技术人员在本发明的领域内,所作的变化或修饰皆涵盖在本发明的专利范围之中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号