CN112446785A - 跨链交易方法、系统、装置、设备和存储介质 - Google Patents

跨链交易方法、系统、装置、设备和存储介质 Download PDF

Info

Publication number
CN112446785A
CN112446785A CN202011233653.6A CN202011233653A CN112446785A CN 112446785 A CN112446785 A CN 112446785A CN 202011233653 A CN202011233653 A CN 202011233653A CN 112446785 A CN112446785 A CN 112446785A
Authority
CN
China
Prior art keywords
cross
chain
link
transaction
target
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.)
Pending
Application number
CN202011233653.6A
Other languages
English (en)
Inventor
邱炜伟
李伟
汪小益
匡立中
张帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202011233653.6A priority Critical patent/CN112446785A/zh
Publication of CN112446785A publication Critical patent/CN112446785A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

公开了一种跨链交易方法、系统、装置、设备和存储介质,属于区块链技术领域。该方法包括:第一跨链网关向中继链系统发送携带目标跨链交易和交易证明信息的跨链验证请求;中继链系统根据该交易证明信息对目标跨链交易进行验证;在验证通过时,生成目标跨链交易的标识信息的数字签名;将该标识信息和该数字签名作为跨链存证存储至区块链;第一跨链网关向第二跨链网关发送携带目标跨链交易的跨链交易请求;第二跨链网关根据该标识信息从中继链系统获取该数字签名;根据该数字签名对目标跨链交易进行验证;在目标跨链交易验证通过时,将目标跨链交易发送给第二应用链系统。本申请可以大大降低中继链系统的存储压力,且可以防止跨链双方的隐私泄露。

Description

跨链交易方法、系统、装置、设备和存储介质
技术领域
本申请涉及跨链技术领域,特别涉及一种跨链交易方法、系统、装置、设备和存储介质。
背景技术
随着区块链技术的不断发展,越来越多的区块链系统采用跨链技术来进行互操作访问与协作。跨链技术是指将同构或异构的区块链系统连接起来,以实现区块链之间的信息互通。
目前,采用中继链技术实现跨链。具体地,来源应用链系统将跨链交易数据发送到中继链系统,该跨链交易数据包括调用信息和交易证明信息;中继链系统对该跨链交易数据进行验证,在验证通过后,将该跨链交易数据存储至配置的区块链,之后,将该跨链交易数据发送到目的应用链系统。
上述方式中,跨链交易数据中的调用信息和交易证明信息均存储至中继链系统配置的区块链,从而导致中继链系统的存储压力较大。并且,这种情况下,维护中继链系统的第三方能够获取到该调用信息,因而容易造成跨链双方的隐私泄露。
发明内容
本申请提供了一种跨链交易方法、系统、装置、设备和存储介质,可以减轻中继链系统的存储压力,且可以防止跨链双方隐私泄露。所述技术方案如下:
第一方面,提供了一种跨链交易方法,所述方法包括:
第一跨链网关从第一应用链系统获取目标跨链交易及对应的交易证明信息;向中继链系统发送跨链验证请求,所述跨链验证请求携带所述目标跨链交易和所述交易证明信息;
所述中继链系统接收到所述跨链验证请求后,根据所述交易证明信息对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链;向所述第一跨链网关返回区块确认通知;
所述第一跨链网关接收到所述区块确认通知后,向第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易;
所述第二跨链网关接收到所述跨链交易请求后,根据所述标识信息从所述中继链系统获取所述数字签名;根据所述数字签名对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,将所述目标跨链交易发送给第二应用链系统。
在本申请中,中继链系统存储目标跨链交易的跨链存证,该跨链存证包括标识信息和数字签名。该标识信息仅是用于标识目标跨链交易的一些简单信息,不包含目标跨链交易中的调用信息,也不包含交易证明信息,如此可以大大降低中继链系统的存储压力,且可以防止跨链双方的隐私泄露。之后,第一跨链网关可以将目标跨链交易直接发送给第二跨链网关,第二跨链网关可以根据中继链系统存储的跨链存证来验证目标跨链交易,在验证通过后将目标跨链交易发送给第二应用链系统,如此可以保证发送给第二应用链系统的目标跨链交易的有效性。
可选地,所述跨链验证请求携带一个跨链交易及对应的交易证明信息,所述一个跨链交易为所述目标跨链交易;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述目标跨链交易的哈希值。
可选地,所述跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明信息,所述多个跨链交易是目标区块中存储的所有跨链交易,所述目标区块是所述第一应用链系统配置的区块链中用于存储所述目标跨链交易的区块;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述第一跨链网关根据所述多个跨链交易构造的默克尔树。
可选地,所述中继链系统根据所述交易证明信息对所述目标跨链交易进行验证之前,还包括:
所述中继链系统根据所述跨链验证请求携带的所有跨链交易的哈希值确定第二校验信息;
所述中继链系统在所述第一校验信息与所述第二校验信息相同的情况下,执行所述根据所述交易证明信息对所述目标跨链交易进行验证的步骤。
可选地,所述中继链系统根据所述交易证明信息对所述目标跨链交易进行验证,包括:
所述中继链系统获取所述第一应用链系统对应的验证规则;
所述中继链系统在所述跨链验证请求携带的所有交易证明信息均满足所述验证规则的情况下,确定所述跨链验证请求携带的所有跨链交易验证通过。
可选地,所述标识信息包括以下至少一项:
所述目标跨链交易的哈希值;
所述目标跨链交易中的目的应用链标识和跨链交易序号。
可选地,所述多个跨链交易具有一个标识信息,所述标识信息包括以下至少一项:
所述默克尔树中的根节点的哈希值;
所述多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号;
目标区块标识。
可选地,所述数字签名包括所述中继链系统中的多个中继链节点中每个中继链节点生成的所述标识信息的数字签名。
可选地,所述跨链交易请求携带所述第一校验信息,所述第二跨链网关根据所述数字签名对所述目标跨链交易进行验证,包括:
所述第二跨链网关使用所述中继链系统的公钥解密所述数字签名,且计算所述目标跨链交易的哈希值;
所述第二跨链网关在使用所述中继链系统的公钥成功解密所述数字签名,且计算出的哈希值与所述目标跨链交易在所述第一校验信息中对应的哈希值相同的情况下,确定所述目标跨链交易验证通过。
第二方面,提供了一种跨链交易系统,所述系统包括:第一跨链网关、中继链系统和第二跨链网关;
所述第一跨链网关,用于从第一应用链系统获取目标跨链交易及对应的交易证明信息;向所述中继链系统发送跨链验证请求,所述跨链验证请求携带所述目标跨链交易和所述交易证明信息;
所述中继链系统,用于接收到所述跨链验证请求后,根据所述交易证明信息对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链;向所述第一跨链网关返回区块确认通知;
所述第一跨链网关,还用于接收到所述区块确认通知后,向所述第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易;
所述第二跨链网关,用于接收到所述跨链交易请求后,根据所述标识信息从所述中继链系统获取所述数字签名;根据所述数字签名对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,将所述目标跨链交易发送给第二应用链系统。
可选地,所述跨链验证请求携带一个跨链交易及对应的交易证明信息,所述一个跨链交易为所述目标跨链交易;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述目标跨链交易的哈希值。
可选地,所述跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明信息,所述多个跨链交易是目标区块中存储的所有跨链交易,所述目标区块是所述第一应用链系统配置的区块链中用于存储所述目标跨链交易的区块;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述第一跨链网关根据所述多个跨链交易构造的默克尔树。
可选地,所述中继链系统还用于:
根据所述跨链验证请求携带的所有跨链交易的哈希值确定第二校验信息;
在所述第一校验信息与所述第二校验信息相同的情况下,执行所述根据所述交易证明信息对所述目标跨链交易进行验证的步骤。
可选地,所述中继链系统用于:
获取所述第一应用链系统对应的验证规则;
在所述跨链验证请求携带的所有交易证明信息均满足所述验证规则的情况下,确定所述跨链验证请求携带的所有跨链交易验证通过。
可选地,所述标识信息包括以下至少一项:
所述目标跨链交易的哈希值;
所述目标跨链交易中的目的应用链标识和跨链交易序号。
可选地,所述多个跨链交易具有一个标识信息,所述标识信息包括以下至少一项:
所述默克尔树中的根节点的哈希值;
所述多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号;
目标区块标识。
可选地,所述数字签名包括所述中继链系统中的多个中继链节点中每个中继链节点生成的所述标识信息的数字签名。
可选地,所述跨链交易请求携带所述第一校验信息,所述第二跨链网关用于:
使用所述中继链系统的公钥解密所述数字签名,且计算所述目标跨链交易的哈希值;
在使用所述中继链系统的公钥成功解密所述数字签名,且计算出的哈希值与所述目标跨链交易在所述第一校验信息中对应的哈希值相同的情况下,确定所述目标跨链交易验证通过。
第三方面,提供了一种跨链交易方法,应用于中继链系统,所述方法包括:
接收第一跨链网关发送的跨链验证请求,所述跨链验证请求携带所述第一跨链网关从第一应用链系统获取的目标跨链交易及对应的交易证明信息;
根据所述交易证明信息对所述目标跨链交易进行验证;
在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;
将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链,所述跨链存证用于在第二跨链网关验证所述目标跨链交易时使用;
向所述第一跨链网关发送区块确认通知,以指示所述第一跨链网关向所述第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易。
可选地,所述跨链验证请求携带一个跨链交易及对应的交易证明信息,所述一个跨链交易为所述目标跨链交易;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述目标跨链交易的哈希值。
可选地,所述跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明信息,所述多个跨链交易是目标区块中存储的所有跨链交易,所述目标区块是所述第一应用链系统配置的区块链中用于存储所述目标跨链交易的区块;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述第一跨链网关根据所述多个跨链交易构造的默克尔树。
可选地,所述根据所述交易证明信息对所述目标跨链交易进行验证之前,还包括:
根据所述跨链验证请求携带的所有跨链交易的哈希值确定第二校验信息;
在所述第一校验信息与所述第二校验信息相同的情况下,执行所述根据所述交易证明信息对所述目标跨链交易进行验证的步骤。
可选地,所述根据所述交易证明信息对所述目标跨链交易进行验证,包括:
获取所述第一应用链系统对应的验证规则;
在所述跨链验证请求携带的所有交易证明信息均满足所述验证规则的情况下,确定所述跨链验证请求携带的所有跨链交易验证通过。
可选地,所述标识信息包括以下至少一项:
所述目标跨链交易的哈希值;
所述目标跨链交易中的目的应用链标识和跨链交易序号。
可选地,所述多个跨链交易具有一个标识信息,所述标识信息包括以下至少一项:
所述默克尔树中的根节点的哈希值;
所述多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号;
目标区块标识。
可选地,所述数字签名包括所述中继链系统中的多个中继链节点中每个中继链节点生成的所述标识信息的数字签名。
第四方面,提供了一种跨链交易装置,应用于中继链系统,所述装置包括:
接收模块,用于接收第一跨链网关发送的跨链验证请求,所述跨链验证请求携带所述第一跨链网关从第一应用链系统获取的目标跨链交易及对应的交易证明信息;
验证模块,用于根据所述交易证明信息对所述目标跨链交易进行验证;
生成模块,用于在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;
存储模块,用于将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链,所述跨链存证用于在第二跨链网关验证所述目标跨链交易时使用;
发送模块,用于向所述第一跨链网关发送区块确认通知,以指示所述第一跨链网关向所述第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易。
可选地,所述跨链验证请求携带一个跨链交易及对应的交易证明信息,所述一个跨链交易为所述目标跨链交易;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述目标跨链交易的哈希值。
可选地,所述跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明信息,所述多个跨链交易是目标区块中存储的所有跨链交易,所述目标区块是所述第一应用链系统配置的区块链中用于存储所述目标跨链交易的区块;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述第一跨链网关根据所述多个跨链交易构造的默克尔树。
可选地,所述装置还包括:
计算模块,用于根据所述跨链验证请求携带的所有跨链交易的哈希值确定第二校验信息;
触发模块,用于在所述第一校验信息与所述第二校验信息相同的情况下,触发所述验证模块根据所述交易证明信息对所述目标跨链交易进行验证。
可选地,所述验证模块用于:
获取所述第一应用链系统对应的验证规则;
在所述跨链验证请求携带的所有交易证明信息均满足所述验证规则的情况下,确定所述跨链验证请求携带的所有跨链交易验证通过。
可选地,所述标识信息包括以下至少一项:
所述目标跨链交易的哈希值;
所述目标跨链交易中的目的应用链标识和跨链交易序号。
可选地,所述多个跨链交易具有一个标识信息,所述标识信息包括以下至少一项:
所述默克尔树中的根节点的哈希值;
所述多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号;
目标区块标识。
可选地,所述数字签名包括所述中继链系统中的多个中继链节点中每个中继链节点生成的所述标识信息的数字签名。
第五方面,提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第三方面所述的跨链交易方法。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第三方面所述的跨链交易方法。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面所述的跨链交易方法的步骤。
可以理解的是,上述第二方面、第三方面、第四方面、第五方面、第六方面、第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链系统的结构示意图;
图2是本申请实施例提供的一种区块链的示意图;
图3是本申请实施例提供的一种跨链交易系统的示意图;
图4是本申请实施例提供的一种跨链交易方法的流程图;
图5是本申请实施例提供的另一种跨链交易方法的流程图;
图6是本申请实施例提供的一种跨链交易装置的结构示意图;
图7是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在对本申请实施例进行解释说明之前,先对区块链的相关内容予以说明。
图1是本申请实施例提供的一种区块链系统的结构示意图。
参见图1,区块链系统100是指用于进行节点与节点之间数据共享的系统,区块链系统100中可以包括多个节点101,多个节点101可以是指区块链系统100中各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护区块链系统100内的共享数据。为了保证区块链系统100内的信息互通,区块链系统100中的每个节点101之间可以存在信息连接,节点101之间可以通过该信息连接进行信息传输。比如,当区块链系统100中的任意节点101接收到输入信息时,区块链系统100中的其他节点101便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统100中全部节点101上存储的数据一致。
区块链系统100中的每个节点101均存储一条相同的区块链。参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
区块链系统100具有分布式数据存储、点对点传输、共识机制、加密算法等计算机技术。区块链系统100是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的共享开放、真实完整和安全可靠。
在对本申请实施例提供的跨链交易方法进行详细地解释说明之前,先对本申请实施例涉及的名词予以说明。
应用链系统:应用链系统是执行跨链交易的区块链系统。
中继链系统:中继链系统是一种区块链系统。中继链系统可以接入应用链系统,以实现跨链交易的验证。
跨链网关:跨链网关是应用链系统和中继链系统之间的转接器。跨链网关可以捕获应用链系统中产生的跨链事件,提交跨链交易数据到中继链系统;或者,跨链网关可以接收中继链系统验证通过的跨链交易,提交跨链交易到应用链系统。
跨链交易:跨链交易是两个应用链系统之间的交易,可以包含来源应用链标识、目的应用链标识、跨链交易序号、调用信息等信息。
下面对本申请实施例涉及的系统架构予以说明。
图3是本申请实施例提供的一种跨链交易系统的示意图。参见图3,该跨链交易系统包括:第一跨链网关301、中继链系统302、第二跨链网关303。
第一跨链网关301是与第一应用链系统304对接的跨链网关。第二跨链网关303是与第二应用链系统305对接的跨链网关。第一跨链网关301可以通过有线网络或无线网络与第二跨链网关303进行通信。
中继链系统302位于第一跨链网关301与第二跨链网关303之间。中继链系统302可以通过有线网络或无线网络与第一跨链网关301进行通信,也可以通过有线网络或无线网络与第二跨链网关303进行通信。
第一应用链系统304、第二应用链系统305和中继链系统302均是区块链系统,该区块链系统可以是如上文图1-图2实施例所述的区块链系统100。
本申请实施例中,第一应用链系统304与第二应用链系统305之间具有跨链交易。对于该跨链交易,第一应用链系统304可以是来源应用链系统,第二应用链系统305可以是目的应用链系统。也即,该跨链交易可以是由第一应用链系统304的用户发起的、需要发送到第二应用链系统305的交易。
第一跨链网关301、中继链系统302和第二跨链网关303可以执行下文图4实施例所述的跨链交易方法,来实现第一应用链系统304与第二应用链系统305之间的跨链交易。
接下来对本申请实施例提供的跨链交易方法进行详细地解释说明。
图4是本申请实施例提供的一种跨链交易方法的流程图。参见图4,该方法包括以下步骤。
步骤401:第一跨链网关从第一应用链系统获取目标跨链交易及对应的交易证明信息。
目标跨链交易是第一应用链系统与第二应用链系统之间的交易。对于目标跨链交易,第一应用链系统是来源应用链系统,第二应用链系统是目的应用链系统。也即,目标跨链交易是由第一应用链系统的用户发起的、需要发送到第二应用链系统的交易。
目标跨链交易可以包含来源应用链标识、目的应用链标识、跨链交易序号、调用信息等信息。
目标跨链交易中的来源应用链标识用于标识目标跨链交易的来源应用链系统,该来源应用链标识即是第一应用链系统的标识。目标跨链交易中的目的应用链标识用于标识目标跨链交易的目的应用链系统,该目的应用链标识即是第二应用链系统的标识。应用链系统的标识可以是该应用链系统的MAC(Media Access Control,介质访问控制)地址、IP(Internet Protocol,互联网协议)地址等,本申请实施例对此不作唯一限定。
目标跨链交易中的跨链交易序号用于唯一标识目标跨链交易。根据目标跨链交易的跨链交易序号可以确定目标跨链交易之前是否提交过,如此可以防止重放攻击。
目标跨链交易中的调用信息可以指定需要转账的代币(token)数量,或者指定需要调用的函数以及调用参数,或者指定合约的二进制代码。
目标跨链交易对应的交易证明(Proof)信息是用于证明目标跨链交易的合法性和存在性的信息。示例地,当第一应用链系统为联盟链Fabric系统时,该交易证明信息可以为背书信息。比如,目标跨链交易对应的交易证明信息可以包括交易内容哈希值和交易哈希值签名,该交易内容哈希值是目标跨链交易的交易内容的哈希值,该交易哈希值签名是第一应用链系统中的背书节点对该交易内容哈希值的签名。
其中,第一跨链网关从第一应用链系统获取目标跨链交易及对应的交易证明信息的操作与相关技术中跨链网关从其对接的应用链系统获取跨链交易数据的操作类似,本申请实施例对此不进行详细阐述。
例如,目标跨链交易由第一应用链系统的用户发起,具体地,用户设备可以调用部署在第一应用链系统上的跨链合约来向第一应用链系统发起目标跨链交易。第一应用链系统接收到目标跨链交易后,执行目标跨链交易以将目标跨链交易存储至第一应用链系统配置的区块链,并且,第一应用链系统在目标跨链交易的执行过程中构造目标跨链交易对应的交易证明信息。第一应用链系统将目标跨链交易存储至第一应用链系统配置的区块链后,得到目标区块标识,目标区块标识用于唯一标识目标区块,目标区块是此区块链中用于存储目标跨链交易的区块,如目标区块标识可以是目标区块的区块高度等。之后,第一应用链系统抛出一个跨链事件,此跨链事件包括目标跨链交易和目标区块标识。应用链插件轮询或订阅该跨链事件,并收集第一应用链系统中与该跨链事件关联的交易证明信息,然后将该跨链事件和该交易证明信息发送到第一跨链网关。如此,第一跨链网关就可以获取到目标跨链交易、该交易证明信息和目标区块标识。
第一跨链网关可以从第一应用链系统获取一个或多个跨链交易,具体可以包括如下两种可能的方式:
第一种可能的方式中,第一跨链网关从第一应用链系统获取一个跨链交易及对应的交易证明信息,这一个跨链交易是目标跨链交易。
这种方式下,第一跨链网关可以计算目标跨链交易的哈希值作为第一校验信息。并且,第一跨链网关可以存储目标跨链交易及对应的交易证明信息。
第二种可能方式中,第一跨链网关从第一应用链系统获取多个跨链交易和每个跨链交易对应的交易证明信息。该多个跨链交易是目标区块中存储的所有跨链交易,因而该多个跨链交易中包括目标跨链交易。
这种方式下,第一跨链网关可以根据该多个跨链交易构造默克尔树作为第一校验信息。并且,第一跨链网关可以存储该多个跨链交易和每个跨链交易对应的交易证明信息。
步骤402:第一跨链网关向中继链系统发送跨链验证请求。
具体地,第一跨链网关可以向中继链系统调用用于验证跨链交易的网络接口,以向中继链系统发送该跨链验证请求。当然,第一跨链网关也可以通过其他方式向中继链系统发送跨链验证请求,本申请实施例对此不作限定。
该跨链验证请求携带目标跨链交易及对应的交易证明信息。该跨链验证请求用于请求中继链系统对目标跨链交易进行验证。
在步骤401中第一跨链网关仅获取了一个跨链交易及对应的交易证明信息的情况下,该跨链验证请求可以携带这一个跨链交易及对应的交易证明信息,这一个跨链交易为目标跨链交易。这种情况下,该跨链验证请求还可以携带第一校验信息,第一校验信息为目标跨链交易的哈希值。进一步地,该跨链验证请求还可以携带目标区块标识。
在步骤401中第一跨链网关获取了多个跨链交易和每个跨链交易对应的交易证明信息的情况下,该跨链验证请求可以携带该多个跨链交易和每个跨链交易对应的交易证明信息。这种情况下,该跨链验证请求还可以携带第一校验信息,第一校验信息为第一跨链网关根据该多个跨链交易构造的默克尔树。进一步地,该跨链验证请求中还可以携带目标区块标识。
步骤403:中继链系统接收到该跨链验证请求后,根据该交易证明信息对目标跨链交易进行验证。
若该跨链验证请求携带第一校验信息,则中继链系统在根据该交易证明信息对目标跨链交易进行验证之前,还可以先根据第一校验信息对目标跨链交易信息进行校验,在校验通过后,再根据该交易证明信息对目标跨链交易进行验证。
其中,中继链系统根据第一校验信息对目标跨链交易进行校验时,中继链系统可以根据该跨链验证请求携带的所有跨链交易的哈希值确定第二校验信息,然后在第一校验信息与第二校验信息相同的情况下,确定该跨链验证请求携带的所有跨链交易校验通过。
该跨链验证请求携带的第一校验信息与中继链系统计算出的该跨链验证请求携带的所有跨链交易的第二校验信息相同,说明该跨链验证请求携带的所有跨链交易未被篡改,具备真实性。因而中继链系统可以继续根据该交易证明信息对目标跨链交易进行验证。
在步骤402中第一跨链网关发送的跨链验证请求携带一个跨链交易及对应的交易证明数据,以及携带的第一校验信息为这个跨链交易的哈希值的情况下,中继链系统可以计算该跨链验证请求携带的目标跨链交易的哈希值作为第二校验信息,若计算出的哈希值与该跨链验证请求携带的哈希值相同,则确定目标跨链交易校验通过。
在步骤402中第一跨链网关发送的跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明数据,以及携带的第一校验信息为该多个跨链交易的默克尔树的情况下,中继链系统可以根据该跨链验证请求携带的该多个跨链交易构造默克尔树作为第二校验信息,若构造出的默克尔树与该跨链验证请求携带的默克尔树相同,则确定该多个跨链交易均校验通过。
其中,中继链系统根据该交易证明信息对目标跨链交易进行验证时,中继链系统获取第一应用链系统对应的验证规则;在该跨链验证请求携带的所有交易证明信息均满足该验证规则的情况下,确定该跨链验证请求携带的所有跨链交易验证通过。
第一应用链系统对应的验证规则是用于验证由与第一应用链系统对接的第一跨链网关发送的跨链交易的有效性的规则,即是用于验证此跨链交易是否合法存在于第一应用链系统的规则。第一应用链系统对应的验证规则可以事先存储于中继链系统。
可选地,第一跨链网关向中继链系统发送跨链验证请求之前,第一跨链网关可以在中继链系统注册第一应用链系统的标识,中继链系统据此可以确定与第一应用链系统对接的是第一跨链网关。中继链系统可以将第一应用链系统的标识与验证规则对应存储。如此,中继链系统接收到第一跨链网关发送的跨链验证请求后,可以根据第一跨链网关对接的第一应用链系统的标识查找到第一应用链系统对应的验证规则。
示例地,第一应用链系统对应的验证规则可以是需要签名的背书节点个数为s个,s为正整数。或者,第一应用链系统对应的验证规则可以是对交易证明信息中的交易哈希值签名解密后得到的哈希值与该交易证明信息中的交易内容哈希值相同。当然,该验证规则还可以为其他的规则,本申请实施例对此不作限定。
在步骤402中第一跨链网关发送的跨链验证请求携带一个跨链交易及其对应的交易证明数据的情况下,中继链系统可以获取第一应用链系统对应的验证规则,然后在目标跨链交易对应的交易证明数据满足该验证规则的情况下,确定目标跨链交易验证通过。
在步骤402中第一跨链网关发送的跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明数据的情况下,中继链系统可以获取第一应用链系统对应的验证规则,然后在该多个跨链交易中每个跨链交易对应的交易证明数据均满足该验证规则的情况下,确定该多个跨链交易均验证通过。
值得注意的是,中继链系统可以包括多个中继链节点。第一跨链网关将跨链验证请求发送到该多个中继链节点中的一个中继链节点。这个中继链节点可以对该跨链验证请求携带的跨链交易进行验证,在验证通过后,将该跨链验证请求发送给该多个中继链节点中除这个中继链节点之外的其他中继链节点,由该其他中继链节点对该跨链验证请求携带的跨链交易进行验证。在该多个中继链节点均对该跨链验证请求携带的跨链交易验证通过的情况下,中继链系统才确定对该跨链验证请求携带的跨链交易验证通过。
步骤404:中继链系统在目标跨链交易验证通过时,生成目标跨链交易的标识信息的数字签名。
目标跨链交易的标识信息是用于标识目标跨链交易的一些简单信息。目标跨链交易的标识信息不含有目标跨链交易中的调用信息,也不含有目标跨链交易对应的交易证明信息。
在步骤402中第一跨链网关发送的跨链验证请求携带一个跨链交易及其对应的交易证明数据,以及携带的第一校验信息为这个跨链交易的哈希值的情况下,该标识信息可以包括以下至少一项:目标跨链交易的哈希值;目标跨链交易中的目的应用链标识和跨链交易序号。此外,该标识信息中还可以包括目标区块标识。
在步骤402中第一跨链网关发送的跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明数据,以及携带的第一校验信息为该多个跨链交易的默克尔树的情况下,该多个跨链交易具有一个标识信息,该标识信息包括以下至少一项:该多个跨链交易的默克尔树中的根节点的哈希值;该多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号;目标区块标识。
其中,中继链系统生成该标识信息的数字签名时,可以计算该标识信息的摘要,然后使用中继链系统的私钥对此摘要进行加密,得到该标识信息的数字签名。
值得注意的是,中继链系统可以包括多个中继链节点。该多个中继链节点中的每个中继链节点对该跨链验证请求携带的跨链交易验证通过后,都可以生成该标识信息的数字签名。这种情况下,中继链系统生成的该标识信息的数字签名是一个多重数字签名,包括该多个中继链节点中每个中继链节点生成的该标识信息的数字签名。
步骤405:中继链系统将该标识信息和该数字签名作为跨链存证存储至中继链系统配置的区块链。
由于该标识信息仅是用于标识目标跨链交易的一些简单信息,其中不含有调用信息和交易证明信息,所以可以大大减轻中继链系统的存储压力,且可以防止跨链双方的隐私泄露。
进一步地,中继链系统将该标识信息和该数字签名作为跨链存证存储至中继链系统配置的区块链之前,可以先验证该数字签名,在该数字签名验证通过的情况下,再将该标识信息和该数字签名作为跨链存证存储至中继链系统配置的区块链。
示例地,中继链系统生成的该标识信息的数字签名是一个多重数字签名,包括该多个中继链节点中每个中继链节点生成的该标识信息的数字签名。对于某个中继链节点生成的一个数字签名,中继链系统验证这个数字签名时,可以在使用这个中继链节点的公钥成功解密该数字签名的情况下,确定这个数字签名验证通过。
值得说明的是,在步骤402中第一跨链网关发送的跨链验证请求携带一个跨链交易的情况下,中继链系统配置的区块链存储的该跨链存证可以证明目标跨链交易的有效性。比如,该跨链存证可以包括标识信息(包括目标跨链交易的哈希值、目标跨链交易中的目的应用链标识和跨链交易序号)、数字签名。
在步骤402中第一跨链网关发送的跨链验证请求携带多个跨链交易的情况下,中继链系统配置的区块链存储的该跨链存证可以证明该多个跨链交易的有效性。比如,该跨链存证可以包括标识信息(包括该多个跨链交易的默克尔树中的根节点的哈希值、该多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号、目标区块标识)、数字签名。如此,对于同一区块中的多个跨链交易,中继链系统只需存储一个跨链存证就可以证明这一区块中的多个跨链交易的有效性,从而可以进一步降低中继链系统的存储压力。
步骤406:中继链系统向第一跨链网关返回区块确认通知。
该区块确认通知用于指示中继链系统已确认此前发送的跨链验证请求携带的跨链交易的有效性。
步骤407:第一跨链网关接收到该区块确认通知后,向第二跨链网关发送跨链交易请求,该跨链交易请求携带目标跨链交易。
在步骤402中第一跨链网关发送的跨链验证请求携带一个跨链交易的情况下,第一跨链网关接收到该区块确认通知后,直接将目标跨链交易携带于跨链交易请求中发送给第二跨链网关。进一步地,该跨链交易请求还可以携带第一校验信息,即携带目标跨链交易的哈希值。
在步骤402中第一跨链网关发送的跨链验证请求携带多个跨链交易的情况下,第一跨链网关接收到该区块确认通知后,将该多个跨链交易携带于不同的跨链交易请求中,并一一发送给与该多个跨链交易中的目的应用链标识所标识的应用链系统对接的跨链网关。进一步地,该跨链交易请求还可以携带第一校验信息,即携带该多个跨链交易的默克尔树。
步骤408:第二跨链网关接收到该跨链交易请求后,根据该标识信息从中继链系统获取该数字签名。
第二跨链网关接收到该跨链交易请求后,可以从该跨链交易请求中获取该标识信息。
具体地,第二跨链网关可以向中继链系统发送跨链存证查询请求,该跨链存证查询请求中携带该标识信息。中继链系统接收到该跨链存证查询请求时,可以从配置的区块链中确定包括有该标识信息的跨链存证,然后获取该跨链存证中的数字签名,将获取到的数字签名发送给第二跨链网关。
步骤409:第二跨链网关根据该数字签名对目标跨链交易进行验证。
第二跨链网关中可以事先存储有中继链系统的公钥,即可以存储有中继链系统中的多个中继链节点中每个中继链节点的公钥。
一种可能的方式中,第二跨链网关使用中继链系统的公钥解密该数字签名,若成功解密该数字签名,说明中继链系统已经确认目标跨链交易的有效性,则可以确定目标跨链交易验证通过。
另一种可能的情况下,若跨链交易请求携带第一校验信息,则第二跨链网关使用中继链系统的公钥解密该数字签名,且计算目标跨链交易的哈希值,在使用中继链系统的公钥成功解密该数字签名,且计算出的哈希值与目标跨链交易在第一校验信息中对应的哈希值相同的情况下,确定目标跨链交易验证通过。
在该跨链交易请求携带的第一校验信息是目标跨链交易的哈希值时,目标跨链交易在第一校验信息中对应的哈希值就是第一校验信息。
在该跨链交易请求携带的第一校验信息是该多个跨链交易的默克尔树时,目标跨链交易在第一校验信息中对应的哈希值是目标跨链交易在该默克尔树中对应的叶子节点的哈希值。
使用中继链系统的公钥成功解密该数字签名,说明中继链系统已经确认目标跨链交易的有效性。计算出的哈希值与目标跨链交易在第一校验信息中对应的哈希值相同,说明目标跨链交易具备真实性。因而可以确定目标跨链交易验证通过。
步骤410:第二跨链网关在目标跨链交易验证通过时,将目标跨链交易发送给第二应用链系统。
第二应用链系统接收到目标跨链交易时,可以执行目标跨链交易。
在本申请实施例中,中继链系统存储目标跨链交易的跨链存证,该跨链存证包括标识信息和数字签名。该标识信息仅是用于标识目标跨链交易的一些简单信息,不包含目标跨链交易中的调用信息,也不包含交易证明信息,如此可以大大降低中继链系统的存储压力,且可以防止跨链双方的隐私泄露。之后,第一跨链网关可以将目标跨链交易直接发送给第二跨链网关,第二跨链网关可以根据中继链系统存储的跨链存证来验证目标跨链交易,在验证通过后将目标跨链交易发送给第二应用链系统,如此可以保证发送给第二应用链系统的目标跨链交易的有效性。
图5是本申请实施例提供的一种跨链交易方法的流程图。该方法应用于中继链系统,该中继链系统可以是上述的中继链系统。参见图5,该方法可以包括如下步骤。
步骤501:接收第一跨链网关发送的跨链验证请求。
该跨链验证请求携带第一跨链网关从第一应用链系统获取的目标跨链交易及对应的交易证明信息。
步骤501的相关内容已经在上述步骤401和步骤402进行解释说明,本申请实施例对此不再赘述。
步骤502:根据该交易证明信息对目标跨链交易进行验证。
步骤502的相关内容已经在上述步骤403进行解释说明,本申请实施例对此不再赘述。
步骤503:在目标跨链交易验证通过时,生成目标跨链交易的标识信息的数字签名。
步骤503的相关内容已经在上述步骤404进行解释说明,本申请实施例对此不再赘述。
步骤504:将该标识信息和该数字签名作为跨链存证存储至中继链系统配置的区块链。
步骤504的相关内容已经在上述步骤405进行解释说明,本申请实施例对此不再赘述。
步骤505:向第一跨链网关发送区块确认通知,以指示第一跨链网关向第二跨链网关发送跨链交易请求,该跨链交易请求携带目标跨链交易。
步骤505的相关内容已经在上述步骤406和步骤407进行解释说明,本申请实施例对此不再赘述。
值得注意的是,该跨链存证用于在第二跨链网关验证目标跨链交易时使用,具体的使用过程已在上述步骤408、步骤409和步骤410进行解释说明,本申请实施例对此不再赘述。
在本申请实施例中,中继链系统存储目标跨链交易的跨链存证,该跨链存证包括标识信息和数字签名。该标识信息仅是用于标识目标跨链交易的一些简单信息,不包含目标跨链交易中的调用信息,也不包含交易证明信息,如此可以大大降低中继链系统的存储压力,且可以防止跨链双方的隐私泄露。之后,第一跨链网关可以将目标跨链交易直接发送给第二跨链网关,第二跨链网关可以根据中继链系统存储的跨链存证来验证目标跨链交易,如此可以保证接收到的目标跨链交易的有效性。
图6是本申请实施例提供的一种跨链交易装置的结构示意图。该装置应用于中继链系统,该中继链系统可以是上述的中继链系统。参见图6,该装置包括:
接收模块601,用于接收第一跨链网关发送的跨链验证请求,跨链验证请求携带第一跨链网关从第一应用链系统获取的目标跨链交易及对应的交易证明信息;
验证模块602,用于根据交易证明信息对目标跨链交易进行验证;
生成模块603,用于在目标跨链交易验证通过时,生成目标跨链交易的标识信息的数字签名;
存储模块604,用于将标识信息和数字签名作为跨链存证存储至中继链系统配置的区块链,跨链存证用于在第二跨链网关验证目标跨链交易时使用;
发送模块605,用于向第一跨链网关发送区块确认通知,以指示第一跨链网关向第二跨链网关发送跨链交易请求,跨链交易请求携带目标跨链交易。
可选地,跨链验证请求携带一个跨链交易及对应的交易证明信息,一个跨链交易为目标跨链交易;
跨链验证请求还携带第一校验信息,第一校验信息为目标跨链交易的哈希值。
可选地,跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明信息,多个跨链交易是目标区块中存储的所有跨链交易,目标区块是第一应用链系统配置的区块链中用于存储目标跨链交易的区块;
跨链验证请求还携带第一校验信息,第一校验信息为第一跨链网关根据多个跨链交易构造的默克尔树。
可选地,该装置还包括:
计算模块,用于根据跨链验证请求携带的所有跨链交易的哈希值确定第二校验信息;
触发模块,用于在第一校验信息与第二校验信息相同的情况下,触发验证模块602根据交易证明信息对目标跨链交易进行验证。
可选地,验证模块602用于:
获取第一应用链系统对应的验证规则;
在跨链验证请求携带的所有交易证明信息均满足验证规则的情况下,确定跨链验证请求携带的所有跨链交易验证通过。
可选地,标识信息包括以下至少一项:
目标跨链交易的哈希值;
目标跨链交易中的目的应用链标识和跨链交易序号。
可选地,多个跨链交易具有一个标识信息,标识信息包括以下至少一项:
默克尔树中的根节点的哈希值;
多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号;
目标区块标识。
可选地,数字签名包括中继链系统中的多个中继链节点中每个中继链节点生成的标识信息的数字签名。
在本申请实施例中,中继链系统存储目标跨链交易的跨链存证,该跨链存证包括标识信息和数字签名。该标识信息仅是用于标识目标跨链交易的一些简单信息,不包含目标跨链交易中的调用信息,也不包含交易证明信息,如此可以大大降低中继链系统的存储压力,且可以防止跨链双方的隐私泄露。之后,第一跨链网关可以将目标跨链交易直接发送给第二跨链网关,第二跨链网关可以根据中继链系统存储的跨链存证来验证目标跨链交易,如此可以保证接收到的目标跨链交易的有效性。
需要说明的是:上述实施例提供的跨链交易装置在跨链交易时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的跨链交易装置与跨链交易方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
图7为本申请实施例提供的一种计算机设备的结构示意图。如图7所示,计算机设备7包括:处理器70、存储器71以及存储在存储器71中并可在处理器70上运行的计算机程序72,处理器70执行计算机程序72时实现上述图5实施例中的跨链交易方法中的步骤。
计算机设备7可以是一个通用计算机设备或一个专用计算机设备。在具体实现中,计算机设备7可以是台式机、便携式电脑、网络服务器、掌上电脑、移动手机、平板电脑、无线终端设备、通信设备或嵌入式设备,本申请实施例不限定计算机设备7的类型。本领域技术人员可以理解,图7仅仅是计算机设备7的举例,并不构成对计算机设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,比如还可以包括输入输出设备、网络接入设备等。
处理器70可以是中央处理单元(Central Processing Unit,CPU),处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器。
存储器71在一些实施例中可以是计算机设备7的内部存储单元,比如计算机设备7的硬盘或内存。存储器71在另一些实施例中也可以是计算机设备7的外部存储设备,比如计算机设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器71还可以既包括计算机设备7的内部存储单元也包括外部存储设备。存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,比如计算机程序的程序代码等。存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机设备,该计算机设备包括:至少一个处理器、存储器以及存储在该存储器中并可在该至少一个处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述任意各个方法实施例中的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例中的步骤。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,该计算机程序包括计算机程序代码,该计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。该计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (14)

1.一种跨链交易方法,其特征在于,所述方法包括:
第一跨链网关从第一应用链系统获取目标跨链交易及对应的交易证明信息;向中继链系统发送跨链验证请求,所述跨链验证请求携带所述目标跨链交易和所述交易证明信息;
所述中继链系统接收到所述跨链验证请求后,根据所述交易证明信息对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链;向所述第一跨链网关返回区块确认通知;
所述第一跨链网关接收到所述区块确认通知后,向第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易;
所述第二跨链网关接收到所述跨链交易请求后,根据所述标识信息从所述中继链系统获取所述数字签名;根据所述数字签名对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,将所述目标跨链交易发送给第二应用链系统。
2.如权利要求1所述的方法,其特征在于,
所述跨链验证请求携带一个跨链交易及对应的交易证明信息,所述一个跨链交易为所述目标跨链交易;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述目标跨链交易的哈希值。
3.如权利要求1所述的方法,其特征在于,
所述跨链验证请求携带多个跨链交易和每个跨链交易对应的交易证明信息,所述多个跨链交易是目标区块中存储的所有跨链交易,所述目标区块是所述第一应用链系统配置的区块链中用于存储所述目标跨链交易的区块;
所述跨链验证请求还携带第一校验信息,所述第一校验信息为所述第一跨链网关根据所述多个跨链交易构造的默克尔树。
4.如权利要求2或3所述的方法,其特征在于,所述中继链系统根据所述交易证明信息对所述目标跨链交易进行验证之前,还包括:
所述中继链系统根据所述跨链验证请求携带的所有跨链交易的哈希值确定第二校验信息;
所述中继链系统在所述第一校验信息与所述第二校验信息相同的情况下,执行所述根据所述交易证明信息对所述目标跨链交易进行验证的步骤。
5.如权利要求2或3所述的方法,其特征在于,所述中继链系统根据所述交易证明信息对所述目标跨链交易进行验证,包括:
所述中继链系统获取所述第一应用链系统对应的验证规则;
所述中继链系统在所述跨链验证请求携带的所有交易证明信息均满足所述验证规则的情况下,确定所述跨链验证请求携带的所有跨链交易验证通过。
6.如权利要求2所述的方法,其特征在于,所述标识信息包括以下至少一项:
所述目标跨链交易的哈希值;
所述目标跨链交易中的目的应用链标识和跨链交易序号。
7.如权利要求3所述的方法,其特征在于,所述多个跨链交易具有一个标识信息,所述标识信息包括以下至少一项:
所述默克尔树中的根节点的哈希值;
所述多个跨链交易中每个跨链交易中的目的应用链标识和跨链交易序号;
目标区块标识。
8.如权利要求1-3任一所述的方法,其特征在于,所述数字签名包括所述中继链系统中的多个中继链节点中每个中继链节点生成的所述标识信息的数字签名。
9.如权利要求2或3所述的方法,其特征在于,所述跨链交易请求携带所述第一校验信息,所述第二跨链网关根据所述数字签名对所述目标跨链交易进行验证,包括:
所述第二跨链网关使用所述中继链系统的公钥解密所述数字签名,且计算所述目标跨链交易的哈希值;
所述第二跨链网关在使用所述中继链系统的公钥成功解密所述数字签名,且计算出的哈希值与所述目标跨链交易在所述第一校验信息中对应的哈希值相同的情况下,确定所述目标跨链交易验证通过。
10.一种跨链交易系统,其特征在于,所述系统包括:第一跨链网关、中继链系统和第二跨链网关;
所述第一跨链网关,用于从第一应用链系统获取目标跨链交易及对应的交易证明信息;向所述中继链系统发送跨链验证请求,所述跨链验证请求携带所述目标跨链交易和所述交易证明信息;
所述中继链系统,用于接收到所述跨链验证请求后,根据所述交易证明信息对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链;向所述第一跨链网关返回区块确认通知;
所述第一跨链网关,还用于接收到所述区块确认通知后,向所述第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易;
所述第二跨链网关,用于接收到所述跨链交易请求后,根据所述标识信息从所述中继链系统获取所述数字签名;根据所述数字签名对所述目标跨链交易进行验证;在所述目标跨链交易验证通过时,将所述目标跨链交易发送给第二应用链系统。
11.一种跨链交易方法,其特征在于,应用于中继链系统,所述方法包括:
接收第一跨链网关发送的跨链验证请求,所述跨链验证请求携带所述第一跨链网关从第一应用链系统获取的目标跨链交易及对应的交易证明信息;
根据所述交易证明信息对所述目标跨链交易进行验证;
在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;
将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链,所述跨链存证用于在第二跨链网关验证所述目标跨链交易时使用;
向所述第一跨链网关发送区块确认通知,以指示所述第一跨链网关向所述第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易。
12.一种跨链交易装置,其特征在于,应用于中继链系统,所述装置包括:
接收模块,用于接收第一跨链网关发送的跨链验证请求,所述跨链验证请求携带所述第一跨链网关从第一应用链系统获取的目标跨链交易及对应的交易证明信息;
验证模块,用于根据所述交易证明信息对所述目标跨链交易进行验证;
生成模块,用于在所述目标跨链交易验证通过时,生成所述目标跨链交易的标识信息的数字签名;
存储模块,用于将所述标识信息和所述数字签名作为跨链存证存储至所述中继链系统配置的区块链,所述跨链存证用于在第二跨链网关验证所述目标跨链交易时使用;
发送模块,用于向所述第一跨链网关发送区块确认通知,以指示所述第一跨链网关向所述第二跨链网关发送跨链交易请求,所述跨链交易请求携带所述目标跨链交易。
13.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求11所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求11所述的方法。
CN202011233653.6A 2020-11-06 2020-11-06 跨链交易方法、系统、装置、设备和存储介质 Pending CN112446785A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011233653.6A CN112446785A (zh) 2020-11-06 2020-11-06 跨链交易方法、系统、装置、设备和存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011233653.6A CN112446785A (zh) 2020-11-06 2020-11-06 跨链交易方法、系统、装置、设备和存储介质
PCT/CN2020/138062 WO2022095244A1 (zh) 2020-11-06 2020-12-21 跨链交易方法、系统、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN112446785A true CN112446785A (zh) 2021-03-05

Family

ID=74735926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011233653.6A Pending CN112446785A (zh) 2020-11-06 2020-11-06 跨链交易方法、系统、装置、设备和存储介质

Country Status (2)

Country Link
CN (1) CN112446785A (zh)
WO (1) WO2022095244A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734432A (zh) * 2021-03-30 2021-04-30 支付宝(杭州)信息技术有限公司 跨链数据处理方法和装置
CN112804357A (zh) * 2021-03-30 2021-05-14 支付宝(杭州)信息技术有限公司 一种基于中继设备网络跨链读取数据的方法和装置
CN112861190A (zh) * 2021-04-23 2021-05-28 腾讯科技(深圳)有限公司 数据跨链协同方法、系统及装置
WO2022205958A1 (zh) * 2021-03-30 2022-10-06 蚂蚁区块链科技(上海)有限公司 一种基于中继设备网络跨链中转数据的方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710297B (zh) * 2022-05-25 2022-09-06 深圳天谷信息科技有限公司 基于聚合签名的区块链存证方法、装置、设备及存储介质
CN115051815A (zh) * 2022-08-15 2022-09-13 江苏通付盾区块链科技有限公司 用于区块链异构链之间的跨链数据交互方法、装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10790973B2 (en) * 2019-04-19 2020-09-29 Alibaba Group Holding Limited Blockchain authorization information generation
CN112615871A (zh) * 2019-06-28 2021-04-06 创新先进技术有限公司 一种跨链发送可认证消息的方法和装置
CN110650189B (zh) * 2019-09-20 2022-01-18 深圳供电局有限公司 一种基于中继的区块链的交互系统及方法
CN110751475A (zh) * 2019-10-24 2020-02-04 杭州趣链科技有限公司 一种区块链交易的跨链方法及系统、设备和存储介质
CN111666325A (zh) * 2020-05-18 2020-09-15 国网浙江省电力有限公司信息通信分公司 一种跨链接口调用的有效性验证方法
CN111769957B (zh) * 2020-09-02 2020-12-15 百度在线网络技术(北京)有限公司 区块链跨链查询方法、装置、设备和存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734432A (zh) * 2021-03-30 2021-04-30 支付宝(杭州)信息技术有限公司 跨链数据处理方法和装置
CN112804357A (zh) * 2021-03-30 2021-05-14 支付宝(杭州)信息技术有限公司 一种基于中继设备网络跨链读取数据的方法和装置
CN112734432B (zh) * 2021-03-30 2021-07-23 支付宝(杭州)信息技术有限公司 跨链数据处理方法和装置
CN112804357B (zh) * 2021-03-30 2021-08-06 支付宝(杭州)信息技术有限公司 一种基于中继设备网络跨链读取数据的方法和装置
WO2022205962A1 (zh) * 2021-03-30 2022-10-06 蚂蚁区块链科技(上海)有限公司 一种基于中继设备网络跨链读取数据的方法和装置
WO2022205958A1 (zh) * 2021-03-30 2022-10-06 蚂蚁区块链科技(上海)有限公司 一种基于中继设备网络跨链中转数据的方法和装置
CN112861190A (zh) * 2021-04-23 2021-05-28 腾讯科技(深圳)有限公司 数据跨链协同方法、系统及装置

Also Published As

Publication number Publication date
WO2022095244A1 (zh) 2022-05-12

Similar Documents

Publication Publication Date Title
CN112446785A (zh) 跨链交易方法、系统、装置、设备和存储介质
US9749297B2 (en) Manicoding for communication verification
CN110602138B (zh) 区块链网络的数据处理方法、装置、电子设备及存储介质
CN112214780B (zh) 一种数据处理方法、装置、智能设备及存储介质
CN108805571B (zh) 数据保护方法、平台、区块链节点、系统和存储介质
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
CN113691597B (zh) 区块链合约部署方法、装置、设备以及存储介质
US20110320359A1 (en) secure communication method and device based on application layer for mobile financial service
CN110958110A (zh) 一种基于零知识证明的区块链隐私数据管理方法和系统
CN112822181B (zh) 跨链交易的验证方法、终端设备及可读存储介质
CN111464315B (zh) 数字签名处理方法、装置、计算机设备以及存储介质
CN111476573B (zh) 一种账户数据处理方法、装置、设备及存储介质
CN113722749A (zh) 基于加密算法的区块链baas服务的数据处理方法及装置
CN110930153A (zh) 基于隐藏第三方账号的区块链隐私数据管理方法和系统
CN114244534A (zh) 数据存储方法、装置、设备和存储介质
CN113255011A (zh) 区块链状态映射方法、系统、计算机设备及存储介质
CN113051622A (zh) 索引构建方法、装置、设备和存储介质
CN112446039A (zh) 区块链交易处理方法、装置、设备和存储介质
CN112734423A (zh) 一种基于区块链的交易方法及终端设备
CN112184440A (zh) 数据处理方法、装置、节点设备及存储介质
CN112737779A (zh) 一种密码机服务方法、装置、密码机及存储介质
CN111522563A (zh) 基于区块链的终端升级保护系统及方法
CN112053159A (zh) 交易数据验证方法、装置、风险控制服务器及业务服务器
CN109948326B (zh) 一种异常状态回溯方法及终端
CN112507369B (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