CN113205418B - 跨链交易方法、计算机设备和存储介质 - Google Patents
跨链交易方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113205418B CN113205418B CN202110488444.4A CN202110488444A CN113205418B CN 113205418 B CN113205418 B CN 113205418B CN 202110488444 A CN202110488444 A CN 202110488444A CN 113205418 B CN113205418 B CN 113205418B
- Authority
- CN
- China
- Prior art keywords
- transaction
- confirmation
- execution
- blockchain
- asset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种跨链交易方法、计算机设备和存储介质,该方法包括:接收第一预执行交易;在执行第一预执行交易成功时,冻结第一资产;接收第二预执行交易;存证第二预执行交易;接收包括第一预执行交易的第一哈希值和第二预执行交易的第二哈希值的第一确认执行交易;在执行第一确认执行交易成功时,更新第一确认状态;接收包括第一哈希值和第二哈希值的第二确认执行交易;在执行第二确认执行交易成功时,更新第二确认状态;在判断出第一确认状态和第二确认状态均更新时,将第一资产解冻并划转至第一区块链上的第二用户的第二用户账户。本申请无需借助第三方中间模块即可在区块链上提供跨链资产交易服务。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种跨链交易方法、计算机设备和存储介质。
背景技术
在现有技术中,跨链资产交易服务的实现都需要有第三方的中间模块的参与,如公证人或Relay技术。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种无需借助第三方中间模块即可在区块链上提供跨链资产交易服务的跨链交易方法、计算机设备和存储介质。
第一方面,本发明提供一种适用于第一区块链的第一区块链节点的跨链交易方法,第一区块链和第二区块链为同构链,且第一区块链和第二区块链部署有相同的跨链合约,上述方法包括:
接收第一预执行交易;其中,第一预执行交易由第一用户的第一终端响应于第一用户请求使用第一区块链上的第一资产兑换第二用户在第二区块链上的第二资产所生成,第一预执行交易同时由第一终端发送至第二区块链,以供第二区块链的第二区块链节点存证第一预执行交易;
在执行第一预执行交易成功时,冻结第一资产;
接收第二预执行交易;其中,第二预执行交易由第二用户的第二终端响应于第二用户请求使用第二资产兑换第一资产所生成,第二预执行交易同时由第二终端发送至第二区块链,以供第二区块链节点在执行第二预执行交易成功时,冻结第二资产;
存证第二预执行交易;
接收包括第一预执行交易的第一哈希值和第二预执行交易的第二哈希值的第一确认执行交易;其中,第一确认执行交易由第一终端响应于第一用户确认第二预执行交易被第二区块链节点成功执行所生成,第一确认执行交易由第一终端同时发送至第二区块链,以供第二区块链节点在执行第一确认执行交易成功时,更新第一用户的第一确认状态;
在执行第一确认执行交易成功时,更新第一确认状态;
接收包括第一哈希值和第二哈希值的第二确认执行交易;其中,第二确认执行交易由第二终端响应于第二用户确认第一预执行交易被第一区块链节点成功执行所生成,第二确认执行交易由第二终端同时发送至第二区块链,以供第二区块链节点在执行第二确认执行交易成功时,更新第二用户的第二确认状态,以及,在判断出第一确认状态和第二确认状态均更新时,将第二资产解冻并划转至第二区块链上的第一用户的第一用户账户;
在执行第二确认执行交易成功时,更新第二确认状态;以及,
在判断出第一确认状态和第二确认状态均更新时,将第一资产解冻并划转至第一区块链上的第二用户的第二用户账户。
第二方面,本发明提供一种适用于第二区块链的第二区块链节点的跨链交易方法,第一区块链和第二区块链为同构链,且第一区块链和第二区块链部署有相同的跨链合约,上述方法包括:
接收第一预执行交易;其中,第一预执行交易由第一用户的第一终端响应于第一用户请求使用第一区块链上的第一资产兑换第二用户在第二区块链上的第二资产所生成,第一预执行交易同时由第一终端发送至第一区块链,以供第一区块链的第一区块链节点在执行第一预执行交易成功时,冻结第一资产;
存证第一预执行交易;
接收第二预执行交易;其中,第二预执行交易由第二用户的第二终端响应于第二用户请求使用第二资产兑换第一资产所生成,第二预执行交易同时由第二终端发送至第一区块链,以供第一区块链节点存证第二预执行交易;
在执行第二预执行交易成功时,冻结第二资产;
接收包括第一预执行交易的第一哈希值和第二预执行交易的第二哈希值的第一确认执行交易;其中,第一确认执行交易由第一终端响应于第一用户确认第二预执行交易被第二区块链节点成功执行所生成,第一确认执行交易由第一终端同时发送至第一区块链,以供第一区块链节点在执行第一确认执行交易成功时,更新第一用户的第一确认状态;
在执行第一确认执行交易成功时,更新第一确认状态;
接收包括第一哈希值和第二哈希值的第二确认执行交易;其中,第二确认执行交易由第二终端响应于第二用户确认第一预执行交易被第一区块链节点成功执行所生成,第二确认执行交易由第二终端同时发送至第一区块链,以供第一区块链节点在执行第二确认执行交易成功时,更新第二用户的第二确认状态,以及,在判断出第一确认状态和第二确认状态均更新时,将第一资产解冻并划转至第一区块链上的第二用户的第二用户账户;
在执行第二确认执行交易成功时,更新第二确认状态;以及,
在判断出第一确认状态和第二确认状态均更新时,将第二资产解冻并划转至第二区块链上的第一用户的第一用户账户。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的跨链交易方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的跨链交易方法。
本发明诸多实施例提供的跨链交易方法、计算机设备和存储介质通过接收第一预执行交易;在执行第一预执行交易成功时,冻结第一资产;接收第二预执行交易;存证第二预执行交易;接收包括第一预执行交易的第一哈希值和第二预执行交易的第二哈希值的第一确认执行交易;在执行第一确认执行交易成功时,更新第一确认状态;接收包括第一哈希值和第二哈希值的第二确认执行交易;在执行第二确认执行交易成功时,更新第二确认状态;在判断出第一确认状态和第二确认状态均更新时,将第一资产解冻并划转至第一区块链上的第二用户的第二用户账户的方法,无需借助第三方中间模块即可在区块链上提供跨链资产交易服务。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种跨链交易方法的流程图。
图2为本发明一实施例提供的另一种跨链交易方法的流程图。
图3为本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种跨链交易方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于第一区块链的第一区块链节点的跨链交易方法,第一区块链和第二区块链为同构链,且第一区块链和第二区块链部署有相同的跨链合约,上述方法包括:
S11:接收第一预执行交易;其中,第一预执行交易由第一用户的第一终端响应于第一用户请求使用第一区块链上的第一资产兑换第二用户在第二区块链上的第二资产所生成,第一预执行交易同时由第一终端发送至第二区块链,以供第二区块链的第二区块链节点存证第一预执行交易;
S12:在执行第一预执行交易成功时,冻结第一资产;
S13:接收第二预执行交易;其中,第二预执行交易由第二用户的第二终端响应于第二用户请求使用第二资产兑换第一资产所生成,第二预执行交易同时由第二终端发送至第二区块链,以供第二区块链节点在执行第二预执行交易成功时,冻结第二资产;
S14:存证第二预执行交易;
S15:接收包括第一预执行交易的第一哈希值和第二预执行交易的第二哈希值的第一确认执行交易;其中,第一确认执行交易由第一终端响应于第一用户确认第二预执行交易被第二区块链节点成功执行所生成,第一确认执行交易由第一终端同时发送至第二区块链,以供第二区块链节点在执行第一确认执行交易成功时,更新第一用户的第一确认状态;
S16:在执行第一确认执行交易成功时,更新第一确认状态;
S17:接收包括第一哈希值和第二哈希值的第二确认执行交易;其中,第二确认执行交易由第二终端响应于第二用户确认第一预执行交易被第一区块链节点成功执行所生成,第二确认执行交易由第二终端同时发送至第二区块链,以供第二区块链节点在执行第二确认执行交易成功时,更新第二用户的第二确认状态,以及,在判断出第一确认状态和第二确认状态均更新时,将第二资产解冻并划转至第二区块链上的第一用户的第一用户账户;
S18:在执行第二确认执行交易成功时,更新第二确认状态;以及,
S19:在判断出第一确认状态和第二确认状态均更新时,将第一资产解冻并划转至第一区块链上的第二用户的第二用户账户。
具体地,以用户A与用户B约定,用户A用chain1上的n1个token1与用户B在chain2上的n2个token2进行兑换;
需要说明的是,第一区块链和第二区块链为同构链指的是,第一区块链和第二区块链使用相同的底层语言所搭建;
用户A的终端响应于用户A请求用chain1上的n1个token1与用户B在chain2上的n2个token2进行兑换,生成预执行交易tx1,并将tx1发送至chain1与chain2;
chain1的区块链节点执行步骤S11,接收tx1;
chain2的区块链节点接收并存证tx1;
chain1的区块链节点在执行tx1成功时,冻结A在chain1上的n1个token1;
用户B的终端响应于用户B请求用chain2上的n2个token2与用户A在chain1上的n1个token1进行兑换,生成预执行交易tx2,并将tx2发送至chain1与chain2;
chain2的区块链节点接收并存证tx2;
chain1的区块链节点执行步骤S13,接收tx2;
chain1的区块链节点执行步骤S14,存证tx2;
用户A的终端响应于用户A确定tx2被chain2的区块链节点成功执行,生成确认交易tx3,并将tx3发送至chain1与chain2;tx3包括hash(tx1)和hash(tx2);
chain2的区块链节点接收tx3,在执行tx3成功时,更新用户A的确认状态,例如更新为:统计结果[tx3];在更多实施例中,更新的状态还可以根据实际需求进行配置,例如配置为:统计结果[addr(A)],可实现相同的技术效果;
chain1的区块链节点执行步骤S15,接收tx3;
chain1的区块链节点执行步骤S16,在执行tx3成功时,更新用户A的确认状态,更新为:统计结果[tx3];
用户B的终端响应于用户B确定tx1被chain1的区块链节点成功执行,生成确认交易tx4,并将tx4发送至chain1与chain2;tx4包括hash(tx1)和hash(tx2);
chain2的区块链节点接收tx4,在执行tx4成功时,更新用户B的确认状态,例如更新为:统计结果[tx4];在更多实施例中,此处的更新结果还可以根据实际需求进行配置,例如配置为:统计结果[tx3、tx4],可实现相同的技术效果;
chain1的区块链节点执行步骤S17,接收tx4;
chain1的区块链节点执行步骤S18,在执行tx4成功时,更新用户B的确认状态;
chain1的区块链节点执行步骤S19,在判断出用户A和用户B的确认状态均更新时(即,已生成统计结果[tx3]、统计结果[tx4]),将n1个token1解冻并划转至用户B在chain1上的账户;
chain2的区块链节点在判断出用户A和用户B的确认状态均更新时,将n2个token2解冻并划转至用户A在chain2上的账户。
需要说明的是,本领域技术人员应当理解,如果chain1和chain2上均配置有可以查询预执行交易的执行状态的接口,则终端可以通过上述接口获取预执行交易的执行状态,进而直接生成确认交易,例如,用户B的终端通过上述接口获取tx1在chain1上被成功执行的执行状态,则直接生成tx4并发送至chain1和chain2,可实现相同的技术效果。
需要说明的是,本领域技术人员应当理解,上述方法还可以根据实际需求扩展为更多条链间的跨链交易方法,但是需要保证:上述更多条链的每条链均为同构链,以及,上述更多条链的每条链部署有相同的跨链合约。
上述实施例无需借助第三方中间模块即可在区块链上提供跨链资产交易服务。
优选地,第一预执行交易和第二预执行交易还包括第一高度;
在执行第一确认执行交易成功时,更新第一用户的第一确认状态,以及,在执行第一确认执行交易成功时,更新第一确认状态包括:
判断打包第一确认执行交易的第一区块的第一区块高度是否不大于第一高度:
是,则更新第一确认状态;
否,则第一确认执行交易执行失败;
在执行第二确认执行交易成功时,更新第二用户的第二确认状态,以及,在执行第二确认执行交易成功时,更新第二确认状态包括:
判断打包第二确认执行交易的第二区块的第二区块高度是否不大于第一高度:
是,则更新第二确认状态;
否,则第二确认执行交易执行失败。
与图1所示的实施例相比,在上述实施例中,确认执行交易需要在第一高度内生成并执行,上述实施例保证了跨链交易完成的速度,改善了用户体验。
进一步优选地,上述方法还包括:
接收第一撤销交易;其中,第一撤销交易由第一客户端或第二客户端确认第一确认状态和第二确认状态未均更新所生成,第一撤销交易由生成第一撤销交易的客户端同时发送至第二区块链,以供第二区块链节点在执行第一撤销交易成功时,解冻第二资产;
在执行第一撤销交易成功时,解冻第一资产。
需要说明的是,本领域技术人员应当理解,如果chain1和chain2上均配置有可以查询确认状态的接口,则终端可以通过上述接口获取确认状态,进而直接生成撤销交易,例如,如果第一时长内用户A的确认状态未更新,则直接生成撤销交易并发送至chain1和chain2,可实现相同的技术效果。
需要说明的是,本领域技术人员应当理解,撤销操作也可以不根据撤销交易而响应;例如,跨链合约中约定了自动撤销的操作,假设经过上述第一时长,用户A和用户B的确认状态未均更新,则chain1的区块链节点解冻上述第一资产,chain2的区块链节点解冻上述第二资产,可实现相同的技术效果。
进一步优选地,在执行第一撤销交易成功时,解冻第二资产包括:
判断第二区块链上打包第一撤销交易的第三区块高度是否大于第一高度:
是,则解冻第二资产;
在执行第一撤销交易成功时,解冻第一资产包括:
判断第一区块链上打包第一撤销交易的第四区块高度是否大于第一高度:
是,则解冻第一资产。
优选地,第一预执行交易、第二预执行交易、第一确认执行交易、第二确认执行交易可以根据实际需求配置为多重签名类交易,以第一预执行交易为例,其交易内容msg1为(addr(A)_chain1,addr(B)_chain2,n1,token1),用户A的终端对msg1进行签名以生成签名数据sigd ata1,用户A的终端将msg1发送给用户B的终端,用户B的终端对msg1进行签名以生成签名数据sigdata2并返回给用户A的终端;用户A的终端生成多重签名交易tx1(sigdata1,sigdata2,2:2),其中2:2表示在两个签名数据中,需要两个正确的签名数据才能执行tx1。
上述实施例增加了跨链交易的安全性。
图2为本发明一实施例提供的另一种跨链交易方法的流程图。图2所示的方法与图1所示的方法进行配合,如图2所示,在本实施例中,本发明提供一种适用于第二区块链的第二区块链节点的跨链交易方法,第一区块链和第二区块链为同构链,且第一区块链和第二区块链部署有相同的跨链合约,上述方法包括:
S21:接收第一预执行交易;其中,第一预执行交易由第一用户的第一终端响应于第一用户请求使用第一区块链上的第一资产兑换第二用户在第二区块链上的第二资产所生成,第一预执行交易同时由第一终端发送至第一区块链,以供第一区块链的第一区块链节点在执行第一预执行交易成功时,冻结第一资产;
S22:存证第一预执行交易;
S23:接收第二预执行交易;其中,第二预执行交易由第二用户的第二终端响应于第二用户请求使用第二资产兑换第一资产所生成,第二预执行交易同时由第二终端发送至第一区块链,以供第一区块链节点存证第二预执行交易;
S24:在执行第二预执行交易成功时,冻结第二资产;
S25:接收包括第一预执行交易的第一哈希值和第二预执行交易的第二哈希值的第一确认执行交易;其中,第一确认执行交易由第一终端响应于第一用户确认第二预执行交易被第二区块链节点成功执行所生成,第一确认执行交易由第一终端同时发送至第一区块链,以供第一区块链节点在执行第一确认执行交易成功时,更新第一用户的第一确认状态;
S26:在执行第一确认执行交易成功时,更新第一确认状态;
S27:接收包括第一哈希值和第二哈希值的第二确认执行交易;其中,第二确认执行交易由第二终端响应于第二用户确认第一预执行交易被第一区块链节点成功执行所生成,第二确认执行交易由第二终端同时发送至第一区块链,以供第一区块链节点在执行第二确认执行交易成功时,更新第二用户的第二确认状态,以及,在判断出第一确认状态和第二确认状态均更新时,将第一资产解冻并划转至第一区块链上的第二用户的第二用户账户;
S28:在执行第二确认执行交易成功时,更新第二确认状态;以及,
S29:在判断出第一确认状态和第二确认状态均更新时,将第二资产解冻并划转至第二区块链上的第一用户的第一用户账户。
上述实施例的跨链交易原理可参考图1所示的方法,此处不再赘述。
优选地,第一预执行交易和第二预执行交易还包括第一高度;
在执行第一确认执行交易成功时,更新第一用户的第一确认状态,以及,在执行第一确认执行交易成功时,更新第一确认状态包括:
判断打包第一确认执行交易的第一区块的第一区块高度是否不大于第一高度:
是,则更新第一确认状态;
否,则第一确认执行交易执行失败;
在执行第二确认执行交易成功时,更新第二用户的第二确认状态,以及,在执行第二确认执行交易成功时,更新第二确认状态包括:
判断打包第二确认执行交易的第二区块的第二区块高度是否不大于第一高度:
是,则更新第二确认状态;
否,则第二确认执行交易执行失败。
进一步优选地,上述方法还包括:
接收第一撤销交易;其中,第一撤销交易由第一客户端或第二客户端确认第一确认状态和第二确认状态未均更新所生成,第一撤销交易由生成第一撤销交易的客户端同时发送至第一区块链,以供第一区块链节点在执行第一撤销交易成功时,解冻第一资产;
在执行第一撤销交易成功时,解冻第二资产。
进一步优选地,在执行第一撤销交易成功时,解冻第一资产包括:
判断第一区块链上打包第一撤销交易的第三区块高度是否大于第一高度:
是,则解冻第一资产;
在执行第一撤销交易成功时,解冻第二资产包括:
判断第二区块链上打包第一撤销交易的第四区块高度是否大于第一高度:
是,则解冻第二资产。
优选地,第一预执行交易、第二预执行交易、第一确认执行交易、第二确认执行交易可以根据实际需求配置为多重签名类交易。
图3为本发明一实施例提供的一种计算机设备的结构示意图。
如图3所示,作为另一方面,本申请还提供了一种计算机设备,包括一个或多个中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM303中,还存储有计算机设备操作所需的各种程序和数据。CPU301、ROM302以及RAM303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入计算机设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种跨链交易方法,其特征在于,第一区块链和第二区块链为同构链,且所述第一区块链和所述第二区块链部署有相同的跨链合约,所述方法适用于第一区块链的第一区块链节点,所述方法包括:
接收第一预执行交易;其中,所述第一预执行交易由第一用户的第一终端响应于所述第一用户请求使用所述第一区块链上的第一资产兑换第二用户在所述第二区块链上的第二资产所生成,所述第一预执行交易同时由所述第一终端发送至所述第二区块链,以供所述第二区块链的第二区块链节点存证所述第一预执行交易;
在执行所述第一预执行交易成功时,冻结所述第一资产;
接收第二预执行交易;其中,所述第二预执行交易由所述第二用户的第二终端响应于所述第二用户请求使用所述第二资产兑换所述第一资产所生成,所述第二预执行交易同时由所述第二终端发送至所述第二区块链,以供所述第二区块链节点在执行所述第二预执行交易成功时,冻结所述第二资产;
存证所述第二预执行交易;
接收包括所述第一预执行交易的第一哈希值和所述第二预执行交易的第二哈希值的第一确认执行交易;其中,所述第一确认执行交易由所述第一终端响应于所述第一用户确认所述第二预执行交易被所述第二区块链节点成功执行所生成,所述第一确认执行交易由所述第一终端同时发送至所述第二区块链,以供所述第二区块链节点在执行所述第一确认执行交易成功时,更新所述第一用户的第一确认状态;
在执行所述第一确认执行交易成功时,更新所述第一确认状态;
接收包括所述第一哈希值和所述第二哈希值的第二确认执行交易;其中,所述第二确认执行交易由所述第二终端响应于所述第二用户确认所述第一预执行交易被所述第一区块链节点成功执行所生成,所述第二确认执行交易由所述第二终端同时发送至所述第二区块链,以供所述第二区块链节点在执行所述第二确认执行交易成功时,更新所述第二用户的第二确认状态,以及,在判断出所述第一确认状态和所述第二确认状态均更新时,将所述第二资产解冻并划转至所述第二区块链上的所述第一用户的第一用户账户;
在执行所述第二确认执行交易成功时,更新所述第二确认状态;以及,
在判断出所述第一确认状态和所述第二确认状态均更新时,将所述第一资产解冻并划转至所述第一区块链上的所述第二用户的第二用户账户。
2.根据权利要求1所述的方法,其特征在于,所述第一预执行交易和所述第二预执行交易还包括第一高度;
所述在执行所述第一确认执行交易成功时,更新所述第一用户的第一确认状态,以及,所述在执行所述第一确认执行交易成功时,更新所述第一确认状态包括:
判断打包所述第一确认执行交易的第一区块的第一区块高度是否不大于所述第一高度:
是,则更新所述第一确认状态;
否,则所述第一确认执行交易执行失败;
所述在执行所述第二确认执行交易成功时,更新所述第二用户的第二确认状态,以及,所述在执行所述第二确认执行交易成功时,更新所述第二确认状态包括:
判断打包所述第二确认执行交易的第二区块的第二区块高度是否不大于所述第一高度:
是,则更新所述第二确认状态;
否,则所述第二确认执行交易执行失败。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收第一撤销交易;其中,所述第一撤销交易由所述第一终端 或所述第二终端 确认所述第一确认状态和所述第二确认状态未均更新所生成,所述第一撤销交易由生成所述第一撤销交易的终端 同时发送至所述第二区块链,以供所述第二区块链节点在执行所述第一撤销交易成功时,解冻所述第二资产;
在执行所述第一撤销交易成功时,解冻所述第一资产。
4.根据权利要求3所述的方法,其特征在于,所述在执行所述第一撤销交易成功时,解冻所述第二资产包括:
判断所述第二区块链上打包所述第一撤销交易的第三区块高度是否大于所述第一高度:
是,则解冻所述第二资产;
所述在执行所述第一撤销交易成功时,解冻所述第一资产包括:
判断所述第一区块链上打包所述第一撤销交易的第四区块高度是否大于所述第一高度:
是,则解冻所述第一资产。
5.一种跨链交易方法,其特征在于,第一区块链和第二区块链为同构链,且所述第一区块链和所述第二区块链部署有相同的跨链合约,所述方法适用于第二区块链的第二区块链节点,所述方法包括:
接收第一预执行交易;其中,所述第一预执行交易由第一用户的第一终端响应于所述第一用户请求使用所述第一区块链上的第一资产兑换第二用户在所述第二区块链上的第二资产所生成,所述第一预执行交易同时由所述第一终端发送至所述第一区块链,以供所述第一区块链的第一区块链节点在执行所述第一预执行交易成功时,冻结所述第一资产;
存证所述第一预执行交易;
接收第二预执行交易;其中,所述第二预执行交易由所述第二用户的第二终端响应于所述第二用户请求使用所述第二资产兑换所述第一资产所生成,所述第二预执行交易同时由所述第二终端发送至所述第一区块链,以供所述第一区块链节点存证所述第二预执行交易;
在执行所述第二预执行交易成功时,冻结所述第二资产;
接收包括所述第一预执行交易的第一哈希值和所述第二预执行交易的第二哈希值的第一确认执行交易;其中,所述第一确认执行交易由所述第一终端响应于所述第一用户确认所述第二预执行交易被所述第二区块链节点成功执行所生成,所述第一确认执行交易由所述第一终端同时发送至所述第一区块链,以供所述第一区块链节点在执行所述第一确认执行交易成功时,更新所述第一用户的第一确认状态;
在执行所述第一确认执行交易成功时,更新所述第一确认状态;
接收包括所述第一哈希值和所述第二哈希值的第二确认执行交易;其中,所述第二确认执行交易由所述第二终端响应于所述第二用户确认所述第一预执行交易被所述第一区块链节点成功执行所生成,所述第二确认执行交易由所述第二终端同时发送至所述第一区块链,以供所述第一区块链节点在执行所述第二确认执行交易成功时,更新所述第二用户的第二确认状态,以及,在判断出所述第一确认状态和所述第二确认状态均更新时,将所述第一资产解冻并划转至所述第一区块链上的所述第二用户的第二用户账户;
在执行所述第二确认执行交易成功时,更新所述第二确认状态;以及,
在判断出所述第一确认状态和所述第二确认状态均更新时,将所述第二资产解冻并划转至所述第二区块链上的所述第一用户的第一用户账户。
6.根据权利要求5所述的方法,其特征在于,所述第一预执行交易和所述第二预执行交易还包括第一高度;
所述在执行所述第一确认执行交易成功时,更新所述第一用户的第一确认状态,以及,所述在执行所述第一确认执行交易成功时,更新所述第一确认状态包括:
判断打包所述第一确认执行交易的第一区块的第一区块高度是否不大于所述第一高度:
是,则更新所述第一确认状态;
否,则所述第一确认执行交易执行失败;
所述在执行所述第二确认执行交易成功时,更新所述第二用户的第二确认状态,以及,所述在执行所述第二确认执行交易成功时,更新所述第二确认状态包括:
判断打包所述第二确认执行交易的第二区块的第二区块高度是否不大于所述第一高度:
是,则更新所述第二确认状态;
否,则所述第二确认执行交易执行失败。
7.根据权利要求6所述的方法,其特征在于,还包括:
接收第一撤销交易;其中,所述第一撤销交易由所述第一终端 或所述第二终端 确认所述第一确认状态和所述第二确认状态未均更新所生成,所述第一撤销交易由生成所述第一撤销交易的终端 同时发送至所述第一区块链,以供所述第一区块链节点在执行所述第一撤销交易成功时,解冻所述第一资产;
在执行所述第一撤销交易成功时,解冻所述第二资产。
8.根据权利要求7所述的方法,其特征在于,所述在执行所述第一撤销交易成功时,解冻所述第一资产包括:
判断所述第一区块链上打包所述第一撤销交易的第三区块高度是否大于所述第一高度:
是,则解冻所述第一资产;
所述在执行所述第一撤销交易成功时,解冻所述第二资产包括:
判断所述第二区块链上打包所述第一撤销交易的第四区块高度是否大于所述第一高度:
是,则解冻所述第二资产。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-8中任一项所述的方法。
10.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110488444.4A CN113205418B (zh) | 2021-05-06 | 2021-05-06 | 跨链交易方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110488444.4A CN113205418B (zh) | 2021-05-06 | 2021-05-06 | 跨链交易方法、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113205418A CN113205418A (zh) | 2021-08-03 |
CN113205418B true CN113205418B (zh) | 2022-09-13 |
Family
ID=77028511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110488444.4A Active CN113205418B (zh) | 2021-05-06 | 2021-05-06 | 跨链交易方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113205418B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146448A (zh) * | 2018-07-13 | 2019-01-04 | 杭州复杂美科技有限公司 | 跨链资产转移方法、设备和存储介质 |
CN109544171A (zh) * | 2018-11-30 | 2019-03-29 | 众安信息技术服务有限公司 | 用于实现跨区块链交易的一致性的方法及设备 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
CN111311209A (zh) * | 2020-02-03 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 跨区块链的数据处理方法、装置、设备及计算机存储介质 |
CN111652618A (zh) * | 2020-07-14 | 2020-09-11 | 中国人民解放军国防科技大学 | 一种去中心化的不可链接的跨链原子交易方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019142049A1 (en) * | 2018-01-17 | 2019-07-25 | Geeq Corporation | Blockchain methods, nodes, systems and products |
-
2021
- 2021-05-06 CN CN202110488444.4A patent/CN113205418B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146448A (zh) * | 2018-07-13 | 2019-01-04 | 杭州复杂美科技有限公司 | 跨链资产转移方法、设备和存储介质 |
CN109544171A (zh) * | 2018-11-30 | 2019-03-29 | 众安信息技术服务有限公司 | 用于实现跨区块链交易的一致性的方法及设备 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
CN111311209A (zh) * | 2020-02-03 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 跨区块链的数据处理方法、装置、设备及计算机存储介质 |
CN111652618A (zh) * | 2020-07-14 | 2020-09-11 | 中国人民解放军国防科技大学 | 一种去中心化的不可链接的跨链原子交易方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113205418A (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110751475A (zh) | 一种区块链交易的跨链方法及系统、设备和存储介质 | |
CN113179324B (zh) | 一种区块链节点及其执行的业务处理方法 | |
CN110443708B (zh) | 平行链交易方法、设备和存储介质 | |
CN110083745B (zh) | 数据查询方法、设备和存储介质 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN110992009A (zh) | 延时交易提前处理方法、设备和存储介质 | |
CN111984422B (zh) | 基于区块链的数据处理方法、装置及存储介质 | |
CN112084044B (zh) | 系统中事件处理方法及相关装置 | |
CN114327799B (zh) | 分布式事务处理方法及装置、电子设备、存储介质 | |
CN111857772A (zh) | 终端边缘应用程序远程传输及动态加载方法及设备 | |
CN113205418B (zh) | 跨链交易方法、计算机设备和存储介质 | |
CN111292028A (zh) | 库存信息处理方法及系统、计算机系统和可读存储介质 | |
CN111523897B (zh) | 防攻击方法、设备和存储介质 | |
CN112053154A (zh) | 交易广播方法、设备和存储介质 | |
CN112184228A (zh) | 资产交换方法、设备和存储介质 | |
CN111310242B (zh) | 设备指纹生成的方法、装置、存储介质及电子设备 | |
CN111523896A (zh) | 防攻击方法、设备和存储介质 | |
CN116737198A (zh) | 固件推送方法、装置、设备及存储介质 | |
CN110795288B (zh) | 数据获取方法、设备和存储介质 | |
CN115756544A (zh) | 一种设备更新方法、装置、电子设备及存储介质 | |
CN112804351B (zh) | 区块链系统的流量控制方法、装置、节点、介质及产品 | |
CN113222576B (zh) | 延时转账方法、计算机设备和存储介质 | |
CN113592653A (zh) | 代理延时交易方法、计算机设备和存储介质 | |
CN111639939A (zh) | 区块还原方法、设备和存储介质 | |
CN111583045A (zh) | 一种信息处理方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |