CN111769957B - 区块链跨链查询方法、装置、设备和存储介质 - Google Patents
区块链跨链查询方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111769957B CN111769957B CN202010908384.2A CN202010908384A CN111769957B CN 111769957 B CN111769957 B CN 111769957B CN 202010908384 A CN202010908384 A CN 202010908384A CN 111769957 B CN111769957 B CN 111769957B
- Authority
- CN
- China
- Prior art keywords
- chain
- cross
- target
- block
- target transaction
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or 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/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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了区块链跨链查询方法、装置、设备和存储介质,涉及区块链技术领域,可用于云计算和云服务。具体实现方案为:响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据默克尔证明信息确定目标事务是否在目标区块中,若是则对目标事务原文进行签名得到目标事务签名数据;调用跨链智能合约,向源区块链网络发送目标事务原文和目标事务签名数据,由源区块链网络对目标事务签名数据进行验签,若验签通过则将目标事务原文作为跨链查询结果。本申请能够降低跨链查询的资源消耗。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及区块链技术领域,具体涉及一种区块链跨链查询方法、装置、设备和存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。
区块链网络的链上数据是一个数据孤岛,不同的区块链之间无法做到互联互通,这阻碍了区块链应用生态的进一步发展。跨链技术用于解决两条或多条区块链之间互操作性,让数据跨过链与链之间的障碍,让价值在不同区块链之间流通。
发明内容
本公开提供了一种用于区块链跨链查询方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种区块链跨链查询方法,包括:
响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;
在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
调用跨链智能合约,向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
根据本公开的另一方面,提供了一种区块链跨链查询方法,包括:
调用跨链智能合约向中继节点发起跨链查询事务请求,用于指示所述中继节点执行如下:从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
调用跨链智能合约,从所述中继节点获取所述目标事务原文和所述目标事务签名数据;
对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
根据本公开的又一方面,提供了一种区块链跨链查询方法,包括:
获取跨链节点转发的跨链查询事务请求;
向中继节点发送待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息,由所述中继节点在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,且对所述目标事务原文进行签名得到目标事务签名数据;以及由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
根据本公开的又一方面,提供了一种区块链跨链查询装置,包括:
目标信息获取模块,用于响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;
事务验证模块,用于在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
中继信息发送模块,用于调用跨链智能合约,向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
根据本公开的又一方面,提供了一种区块链跨链查询装置,包括:
跨链请求发起模块,用于调用跨链智能合约向中继节点发起跨链查询事务请求,用于指示所述中继节点执行如下:从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
签名数据获取模块,用于调用跨链智能合约,从所述中继节点获取所述目标事务原文和所述目标事务签名数据;
验签模块,用于对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
根据本公开的又一方面,提供了一种区块链跨链查询装置,包括:
跨链请求获取模块,用于获取跨链节点转发的跨链查询事务请求;
目标信息发送模块,用于向中继节点发送待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息,由所述中继节点在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,且对所述目标事务原文进行签名得到目标事务签名数据;以及由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
根据第七方面,提供了一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本申请实施例中任一项所述的区块链跨链查询方法。
根据第八方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本申请实施例中任一项所述的区块链跨链查询方法。
根据本申请的技术能够降低跨链查询的资源消耗。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1a是根据本申请实施例提供的一种区块链跨链查询方法的流程示意图;
图1b是根据本申请实施例提供的一种区块链跨链查询系统的结构示意图;
图1c是根据相关技术提供的一种区块链跨链查询系统的结构示意图;
图2是根据本申请实施例提供的另一种区块链跨链查询方法的流程示意图;
图3是根据本申请实施例提供的又一种区块链跨链查询方法的流程示意图;
图4是根据本申请实施例提供的又一种区块链跨链查询方法的流程示意图;
图5是根据本申请实施例提供的又一种区块链跨链查询方法的流程示意图;
图6是根据本申请实施例提供的又一种区块链跨链查询方法的流程示意图;
图7是根据本申请实施例提供的一种区块链跨链查询装置的结构示意图;
图8是根据本申请实施例提供的另一种区块链跨链查询装置的结构示意图;
图9是根据本申请实施例提供的又一种区块链跨链查询装置的结构示意图;
图10是用来实现本申请实施例的区块链跨链查询方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1a是根据本申请实施例提供的区块链跨链查询方法的流程示意图。本实施例可适用于源区块链网络中节点查询目标区块链网络中事务的情况。本实施例公开的区块链跨链查询方法可以由电子设备执行,具体可以由区块链跨链查询装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中,该电子设备可以为中继节点。参见图1a,本实施例提供的区块链跨链查询方法包括:
S110、响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息。
图1b是根据本申请实施例提供的一种区块链跨链查询系统的结构示意图,参考图1b,区块链跨链查询系统包括至少一个源区块链网络、至少一个目标区块链网络和中继节点。源区块链网络与目标区块链网络不同且可以相互切换,中继节点中可以部署有源区块链网络和目标区块链网络的轻量级客户端,即能够与源区块链网络和目标区块链网络进行交互,但是不用同步源区块链和目标区块链,即中继节点为源区块链网络与目标区块链网络的轻量级节点,而无需同步区块体。中继节点为可信计算节点,内置有可信执行环境,例如中继节点可以采用英特尔SGX(Software Guard Extension,软件安全增强)技术创建可信执行环境。源区块链网络和目标区块链网络上均部署有跨链智能合约,跨链智能合约用于进行跨链查询验证。跨链智能合约至少包括用于用户发起跨链查询的跨链查询接口(queryChainData)。
本申请通过源区块链网络向中继节点证明,且中继节点向目标区块链证明,即中继节点对目标区块链网络的数据进行验证,源区块链网络对中继节点的数据进行验证,实现跨链查询。其中,跨链查询事务请求是指源区块链网络中节点发起的用于对目标区块链网络中事务进行查询请求。
具体的,在源区块链网络中节点需要查询目标区块链网络中事务数据时,该节点可以调用跨链智能合约的跨链查询接口,根据待查询的目标事务标识向中继节点发起跨链查询事务请求,中继节点响应于所述跨链查询事务请求,从目标区块链网络请求目标事务原文和目标事务所属目标区块的默克尔证明信息。
S120、在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据。
中继节点在可信执行环境中对目标区块链网络的数据进行验证。中继节点将获取的目标事务原文和目标区块的默克尔证明信息发送到可信执行环境,在可信执行环境中,根据默克尔证明信息确定目标事务是否在目标区块中;若在目标区块中,则采用中继节点的区块链账户密钥对目标事务原文进行签名得到目标事务签名数据;若不在目标区块中,则结束操作,跨链查询失败。
其中,目标区块的默克尔证明信息由目标区块链网络的共识机制决定。在一种可选实施方式中,所述目标区块的默克尔证明信息包括目标区块的默克尔树根和目标事务的默克尔树位置。
S130、调用跨链智能合约,向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
其中,跨链智能合约还可以包括用于中继回调查询结果的中继回调接口(queryChainDataCallback)和用于用户查询跨链记录的记录查询接口(queryRecord)。具体的,中继节点可以调用中继回调接口,向源区块链网络发送目标事务原文和目标事务签名数据,由源区块链网络采用中继节点的区块链账户密钥,对目标事务签名数据进行验签。若验签通过,则源区块链网络可以将目标事务原文作为跨链查询结果写入跨链智能合约的读写集中,用于源区块链网络中用户节点调用记录查询接口从读写集访问跨链查询结果。需要说明的是,本申请实施例对签名算法和验证算法不作具体限定。
图1c是根据相关技术中的一种区块链跨链查询系统的结构示意图,参考图1c,相关技术中源区块链网络和目标区块链网络中的节点均需要部署另一方区块链网络的轻量级客户端,中继节点与源区块链网络和目标区块链网络交互,收集区块链的数据状态,将数据状态传输给区块链,由区块链本身进行验证。然而,本申请中源区块链网络和目标区块链网络的节点均不需要维护另一方区块链网络的轻量级客户端,减少了源区块链网络和目标区块链网络的存储消耗,并且通过中继节点在可信执行环境中进行跨链默克尔验证,而无需区块链网络本身进行验证,降低了区块链网络的计算消耗。
本申请实施例的技术方案,通过中继节点在可信执行环境中进行跨链默克尔验证,且源区块链网络和目标区块链网络的节点均不需要维护另一方区块链网络的轻量级客户端,减少了源区块链网络和目标区块链网络的存储和计算消耗,即降低了跨链查询的资源消耗。
图2是根据本申请实施例提供的一种区块链跨链查询方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图2,本实施例提供的区块链跨链查询方法包括:
S210、响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,根据跨链查询事务请求中的目标事务标识和预先获取的目标区块链的区块头数据,确定目标事务所属目标区块的标识。
本申请实施例对源区块链网络中节点获取目标事务标识的方式不作具体限定。例如,源区块链网络中用户节点可能需要对目标区块链网络中任一转账事务进行验证,则用户节点可以将该转账事务的标识作为目标事务标识。
在一种可选实施方式中,在监测到所述源区块链网络和/或目标区块链网络的出块事件时,获取新区块的区块头数据,并在可信执行环境中对所述区块头数据进行验证。
其中,新区块的区块头数据可以包括上一区块的哈希、版本、新区块的时间戳和新区块的默克树根即新区块的哈希,以及共识机制证明信息。以工作量证明机制为例,新区块的区块头数据还可以包括工作证明难度和随机数。中继节点将新区块的区块头数据发送给可信执行环境,通过在可信执行环境中对新区块的区块头数据进行验证以确定新区块的有效性。
在一种可选实施方式中,在可信执行环境中对所述区块头数据进行验证,包括:在可信执行环境中,基于所述目标区块链网络的共识机制,对所述区块头数据进行验证。
以共识机制为工作量证明机制为例,可以通过确定新区块的哈希是否正确,以及新区块的哈希是否满足难度值进行区块头验证;以拜占庭共识机制为例,可以通过确定新区块是否有足够多的节点签名进行区块头验证。通过中继节点预先同步源区块链和/或目标区块链的区块头数据,且对同步的区块头数据进行验证得到新区块的有效性,保障中继节点中区块头数据的准确性,从而保障目标区块的标识的准确性。并且,通过中继节点在可信执行环境中进行区块头验证,而无需区块链网络本身进行验证,降低了区块链网络的计算消耗。
在一种可选实施方式中,所述源区块链网络的共识机制与所述目标区块链网络的共识机制不同。本申请不仅适用于同构跨链查询,并且适用于异构跨链查询,可扩展性强。当一条区块链需要和多种异构链跨链时,只需要在中继节点进行异构适配即可;具有主动兼容性,即对于已经存在的异构链本身不需要进行任何改造或者分叉。
S220、根据所述目标区块的标识,从所述目标区块链网络获取所述目标事务原文和所述目标区块的默克尔证明信息。
在一种可选实施方式中,所述目标区块的默克尔证明信息包括目标区块的默克尔树根和目标事务的默克尔树位置。中继节点通过预先同步源区块网络和/或目标区块链网络的区块头数据,并对区块头数据进行验证,能够保证区块头数据的准确性,从而准确定位目标交易所属的目标区块。
S230、在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据。
默克尔证明用于仅通过区块头数据证明事务(交易)是否存在区块中,本申请实施例对默克尔证明也不作具体限定。例如,已知目标区块中默克尔树的根哈希和若干节点哈希,计算目标交易的哈希值,根据目标交易的哈希值和若干节点哈希得到根哈希,若得到的根哈希和目标区块的根哈希一致,则通过默克尔验证,即目标交易在区块中。
S240、调用跨链智能合约,向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
本申请实施例的技术方案,通过中继节点在可信执行环境中进行跨链默克尔验证和区块头验证,且源区块链网络和目标区块链网络的节点均不需要维护另一方区块链网络的轻量级客户端,减少了源区块链网络和目标区块链网络的存储和计算消耗,即降低了跨链查询的资源消耗。并且,适用于异构跨链场景,可扩展性强,且具有主动兼容性。
图3是根据本申请实施例提供的一种区块链跨链查询方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图3,本实施例提供的区块链跨链查询方法包括:
S310、响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息。
其中,跨链查询事务请求包括跨链请求标识。跨链请求标识用于唯一性标识跨链查询事务请求,可以由发起跨链查询事务请求的节点指定。
需要说明的是,中继节点具有如下初始化操作:获取源区块链网络和目标区块链网络在中继节点中注册的创世区块信息和节点地址;将创世区块信息传到可信执行环境中,便于后续在可信执行环境中进行默克尔验证和区块头验证。
其中,源区块链网络和目标区块链网络中的跨链智能合约预先注册中继节点的可信执行环境信息,包括可信执行环境的区块链账户密钥和可信证书,其中可信证书用于验证可信执行环境的有效性。
S320、在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据。
S330、调用跨链智能合约,向所述源区块链网络发送所述跨链请求标识、所述目标事务原文和所述目标事务签名数据之间映射关系,由所述源区块链网络对所述目标事务签名数据验签通过后,记录所述跨链请求标识和目标事务原文之间映射关系,用于调用所述跨链智能合约通过所述跨链请求标识访问所述目标事务原文。
其中,中继节点调用跨链智能合约,向源区块链网络发送跨链请求标识、目标事务原文和目标事务签名数据之间映射关系。源区块链网络采用可信执行环境的区块链账户公钥对目标事务签名数据进行验签,若验签通过,则将跨链请求标识和目标事务原文之间映射关系作为跨链查询结果写入跨链智能合约的读写集中。源区块链网络中用户节点调用跨链智能合约,根据跨链请求标识访问目标事务原文。通过跨链请求标识作为跨链查询事务请求的唯一标识,将跨链请求标识与目标事务原文之间映射关系作为跨链查询结果,并且由于跨链请求标识可以由用户节点确定,便于用户节点通过跨链请求标识访问目标事务原文,提高了跨链查询结果的访问便捷性。
本申请实施例的技术方案,通过跨链请求标识作为跨链查询事务请求的唯一标识,将跨链请求标识与目标事务原文之间映射关系作为跨链查询结果,并且由于跨链请求标识可以由用户节点确定,便于用户节点通过跨链请求标识访问目标事务原文,提高了跨链查询结果的访问便捷性。
图4是根据本申请实施例提供的区块链跨链查询方法的流程示意图。本实施例可适用于源区块链网络中节点查询目标区块链网络中事务的情况。本实施例公开的区块链跨链查询方法可以由电子设备执行,具体可以由区块链跨链查询装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中,该电子设备可以为源区块链网络中节点。参见图4,本实施例提供的区块链跨链查询方法包括:
S410、调用跨链智能合约向中继节点发起跨链查询事务请求,用于指示所述中继节点执行如下:从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据。
其中,源区块链网络部署有跨链智能合约,跨链智能合约可以包括用于用户发起跨链查询的跨链查询接口(queryChainData)和用于中继回调查询结果的中继回调接口(queryChainDataCallback)。
具体的,在源区块链网络中节点需要查询目标区块链网络中事务数据时,该节点可以调用跨链智能合约的跨链查询接口,根据待查询的目标事务标识向中继节点发起跨链查询事务请求。中继节点响应于所述跨链查询事务请求,向目标区块链请求目标事务原文和目标事务所属目标区块的默克尔证明信息。在一种可选实施方式中,目标区块的默克尔证明信息包括目标区块的默克尔树根和目标事务的默克尔树位置。
S420、调用跨链智能合约,从所述中继节点获取所述目标事务原文和所述目标事务签名数据。
具体的,通过跨链智能合约的中继回调接口,从中继节点获取目标事务原文和目标事务签名数据。
S430、对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
源区块链网络对从中继节点获取的数据进行验证,若验签通过,则将目标事务原文作为跨链查询结果。
本申请实施例的技术方案,源区块链网络通过请求中继节点对目标区块链网络的数据进行验证,且源区块链网络对中继节点的目标事务签名数据进行验签,若验签通过,则得到跨链查询结果,即通过源区块链网络向中继节点证明,且中继节点向目标区块链证明实现了跨链查询。并且,减少了源区块链网络和目标区块链网络的存储和计算消耗,即降低了跨链查询的资源消耗。
图5是根据本申请实施例提供的一种区块链跨链查询方法的流程示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图5,本实施例提供的区块链跨链查询方法包括:
S510、在监测到本地出块事件时,向中继节点发送新区块的区块头数据,由中继节点在可信执行环境中对所述区块头数据进行验证。
源区块链网络在生成新区块时,将新区块的区块头数据同步给中继节点,由中继节点在可信执行环境中对新区块的区块头数据进行验证,从而使中继节点确定新区块的有效性。
其中,新区块的区块头数据可以包括上一区块的哈希、版本、新区块的时间戳和新区块的默克树根即新区块的哈希,以及共识机制证明信息。以工作量证明机制为例,新区块的区块头数据还可以包括工作证明难度和随机数。中继节点将新区块的区块头数据发送给可信执行环境,通过在可信执行环境中对新区块的区块头数据进行验证以确定新区块的有效性。
在一种可选实施方式中,所述源区块链网络的共识机制与所述目标区块链网络的共识机制不同。本申请不仅适用于同构跨链查询,并且适用于异构跨链查询,可扩展性强。
S520、调用跨链智能合约向中继节点发起跨链查询事务请求,用于指示所述中继节点执行如下:从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据。
其中,所述跨链查询事务请求包括跨链请求标识,跨链请求标识用于唯一性标识跨链查询事务请求,可以由发起跨链查询事务请求的节点指定。
S530、调用跨链智能合约,从所述中继节点获取所述目标事务原文和所述目标事务签名数据。
S540、对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
在一种可选实施方式中,将所述目标事务原文作为跨链查询结果,包括:将所述目标事务原文和所述跨链请求标识之间映射关系作为所述跨链查询结果,写入所述跨链智能合约中,用于根据所述跨链请求标识访问所述目标事务原文。
通过跨链请求标识作为跨链查询事务请求的唯一标识,将跨链请求标识与目标事务原文之间映射关系作为跨链查询结果,并且由于跨链请求标识可以由用户节点确定。跨链智能合约还可以包括用于用户查询跨链记录的记录查询接口(queryRecord)。用户节点可以通过记录查询接口,将用户待访问的跨链请求标识,与目标事务原文和所述跨链请求标识之间映射关系进行匹配,访问匹配到的目标事务原文。用户节点通过跨链请求标识访问目标事务原文,能够提高跨链查询结果的访问便捷性。
本申请实施例的技术方案,通过中继节点在可信执行环境中进行区块头验证和默克尔验证,若验证通过,通过源区块链网络对中继节点的目标事务签名数据进行验签,若验签通过,则得到跨链查询结果,降低了跨链查询的资源消耗。并且,通过跨链请求标识能够提高跨链查询结果的访问便捷性。
图6是根据本申请实施例提供的区块链跨链查询方法的流程示意图。本实施例可适用于源区块链网络中节点查询目标区块链网络中事务的情况。本实施例公开的区块链跨链查询方法可以由电子设备执行,具体可以由区块链跨链查询装置来执行,该装置可以由软件和/或硬件的方式实现,配置于电子设备中,该电子设备可以为目标区块链网络中节点。参见图6,本实施例提供的区块链跨链查询方法包括:
S610、获取跨链节点转发的跨链查询事务请求。
其中,跨链查询事务请求可以由源区块链网络中节点发起,可以包括目标交易标识和跨链请求标识。目标交易标识可以为目标交易的哈希,跨链请求标识可以由请求发起节点确定,用于对跨链查询事务请求进行唯一性标识。
S620、向中继节点发送待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息,由所述中继节点在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,且对所述目标事务原文进行签名得到目标事务签名数据;以及由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
目标区块链网络调用跨链智能合约中用于中继回调查询结果的中继回调接口(queryChainDataCallback),向中继节点反馈目标事务原文和目标事务所属目标区块的默克尔证明信息。
其中,默克尔证明信息可以包括目标区块的默克尔树根和目标事务的默克尔树位置。
在一种可选实施方式中,还包括:在监测到本地出块事件时,向所述中继节点发送新区块的区块头数据,由所述中继节点在可信执行环境中对所述区块头数据进行验证。目标区块链网络在生成新区块时,将新区块的区块头数据同步给中继节点,由中继节点在可信执行环境中对新区块的区块头数据进行验证,从而使中继节点确定新区块的有效性,即中继节点同步源区块链网络和目标区块链网络中的区块头数据,从而使中继节点确定区块链网络中新区块的有效性。
本申请实施例的技术方案,通过目标区块链网络将目标交易原文和目标区块的默克尔证明信息发送给中继节点,由中继节点进行默克尔验证,若验证通过,通过源区块链网络对中继节点的目标事务签名数据进行验签,若验签通过,则得到跨链查询结果,降低了跨链查询的资源消耗。
图7是本申请实施例提供的一种区块链跨链查询装置的结构示意图。参见图7,本申请实施例提供的区块链跨链查询装置700可以包括:
目标信息获取模块701,用于响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;
事务验证模块702,用于在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
中继信息发送模块703,用于调用跨链智能合约,向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
在一种可选实施方式中,所述跨链查询事务请求包括目标事务标识;
所述目标信息获取模块701包括:
目标区块标识单元,用于根据所述目标事务标识和预先获取的目标区块链的区块头数据,确定目标事务所属目标区块的标识;
目标信息获取单元,用于根据所述目标区块的标识,从所述目标区块链网络获取所述目标事务原文和所述目标区块的默克尔证明信息。
在一种可选实施方式中,所述装置700还包括:
区块头验证模块,用于在监测到所述源区块链网络和/或目标区块链网络的出块事件时,获取新区块的区块头数据,并在可信执行环境中对所述区块头数据进行验证。
在一种可选实施方式中,所述区块头验证模块具体用于:
在可信执行环境中,基于所述目标区块链网络的共识机制,对所述区块头数据进行验证。
在一种可选实施方式中,所述源区块链网络的共识机制与所述目标区块链网络的共识机制不同。
在一种可选实施方式中,所述目标区块的默克尔证明信息包括目标区块的默克尔树根和目标事务的默克尔树位置。
在一种可选实施方式中,所述跨链查询事务请求包括跨链请求标识;
所述中继信息发送模块703具体用于:
向所述源区块链网络发送所述跨链请求标识、所述目标事务原文和所述目标事务签名数据之间映射关系,由所述源区块链网络对所述目标事务签名数据验签通过后,记录所述跨链请求标识和目标事务原文之间映射关系,用于调用所述跨链智能合约通过所述跨链请求标识访问所述目标事务原文。
本申请实施例的技术方案,通过跨链请求标识作为跨链查询事务请求的唯一标识,将跨链请求标识与目标事务原文之间映射关系作为跨链查询结果,并且由于跨链请求标识可以由用户节点确定,便于用户节点通过跨链请求标识访问目标事务原文,提高了跨链查询结果的访问便捷性。
图8是本申请实施例提供的一种区块链跨链查询装置的结构示意图。参见图8,本申请实施例提供的区块链跨链查询装置800可以包括:
跨链请求发起模块801,用于调用跨链智能合约向中继节点发起跨链查询事务请求,用于指示所述中继节点执行如下:从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
签名数据获取模块802,用于调用跨链智能合约,从所述中继节点获取所述目标事务原文和所述目标事务签名数据;
验签模块803,用于对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
在一种可选实施方式中,所述装置800还包括:
区块头同步模块,用于:在监测到本地出块事件时,向所述中继节点发送新区块的区块头数据,由所述中继节点在可信执行环境中对所述区块头数据进行验证。
在一种可选实施方式中,所述跨链查询事务请求包括跨链请求标识;
所述验签模块803具体用于:将所述目标事务原文和所述跨链请求标识之间映射关系作为所述跨链查询结果,写入所述跨链智能合约中,用于根据所述跨链请求标识访问所述目标事务原文。
在一种可选实施方式中,所述目标区块的默克尔证明信息包括目标区块的默克尔树根和目标事务的默克尔树位置。
本申请实施例的技术方案,通过中继节点在可信执行环境中进行区块头验证和默克尔验证,若验证通过,通过源区块链网络对中继节点的目标事务签名数据进行验签,若验签通过,则得到跨链查询结果,降低了跨链查询的资源消耗。并且,通过跨链请求标识能够提高跨链查询结果的访问便捷性。
图9是本申请实施例提供的一种区块链跨链查询装置的结构示意图。参见图9,本申请实施例提供的区块链跨链查询装置900可以包括:
跨链请求获取模块901,用于获取跨链节点转发的跨链查询事务请求;
目标信息发送模块902,用于向中继节点发送待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息,由所述中继节点在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,且对所述目标事务原文进行签名得到目标事务签名数据;以及由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
在一种可选实施方式中,区块链跨链查询装置900还可以包括:区块头同步模块,用于在监测到本地出块事件时,向所述中继节点发送新区块的区块头数据,由所述中继节点在可信执行环境中对所述区块头数据进行验证。
本申请实施例的技术方案,通过目标区块链网络将目标交易原文和目标区块的默克尔证明信息发送给中继节点,由中继节点进行默克尔验证,若验证通过,通过源区块链网络对中继节点的目标事务签名数据进行验签,若验签通过,则得到跨链查询结果,降低了跨链查询的资源消耗。
如图10所示,是根据本申请实施例的区块链跨链查询的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的区块链跨链查询的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的区块链跨链查询的方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的区块链跨链查询的方法对应的程序指令/模块(例如,附图7所示的目标信息获取模块701、事务验证模块702和中继信息发送模块703,又如附图8所示的跨链请求发起模块801、签名数据获取模块802和验签模块803,又如附图9所示的跨链请求获取模块901和目标信息发送模块902)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及区块链跨链查询,即实现上述方法实施例中的区块链跨链查询的方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据区块链跨链查询的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存储存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至区块链跨链查询的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
区块链跨链查询的方法的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与区块链跨链查询的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本申请实施例的技术方案,通过可信中继节点在可信执行环境中统一进行跨链的默克尔验证和区块头验证,跨链的区块链节点不需要维护区块链的轻客户端,存储和校验区块头的行为将在中继节点中进行,这减少了区块链网络的存储和计算的消耗;并且扩展性强,如果增加异构链需要调整中继节点即可,不需要对区块链进行改造或分叉。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (24)
1.区块链跨链查询方法,由区块链跨链查询系统中的中继节点执行,所述区块链跨链查询系统还包括至少一个源区块链网络和至少一个目标区块链网络;所述方法包括:
响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;
在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
调用跨链智能合约,向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
2.根据权利要求1所述的方法,其中,所述跨链查询事务请求包括目标事务标识;
所述从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息,包括:
根据所述目标事务标识和预先获取的目标区块链的区块头数据,确定目标事务所属目标区块的标识;
根据所述目标区块的标识,从所述目标区块链网络获取所述目标事务原文和所述目标区块的默克尔证明信息。
3.根据权利要求1或2所述的方法,还包括:
在监测到所述源区块链网络和/或目标区块链网络的出块事件时,获取新区块的区块头数据,并在可信执行环境中对所述区块头数据进行验证。
4.根据权利要求3所述的方法,其中,所述在可信执行环境中对所述区块头数据进行验证,包括:
在可信执行环境中,基于所述目标区块链网络的共识机制,对所述区块头数据进行验证。
5.根据权利要求4所述的方法,其中,所述源区块链网络的共识机制与所述目标区块链网络的共识机制不同。
6.根据权利要求1所述的方法,其中,所述目标区块的默克尔证明信息包括目标区块的默克尔树根和目标事务的默克尔树位置。
7.根据权利要求1所述的方法,其中,所述跨链查询事务请求包括跨链请求标识;
所述向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,包括:
向所述源区块链网络发送所述跨链请求标识、所述目标事务原文和所述目标事务签名数据之间映射关系,由所述源区块链网络对所述目标事务签名数据验签通过后,记录所述跨链请求标识和目标事务原文之间映射关系,用于调用所述跨链智能合约通过所述跨链请求标识访问所述目标事务原文。
8.区块链跨链查询方法,由区块链跨链查询系统中的源区块链网络执行,所述区块链跨链查询系统还包括中继节点和至少一个目标区块链网络;所述方法包括:
调用跨链智能合约向中继节点发起跨链查询事务请求,用于指示所述中继节点执行如下:从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
调用跨链智能合约,从所述中继节点获取所述目标事务原文和所述目标事务签名数据;
对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
9.根据权利要求8所述的方法,还包括:
在监测到本地出块事件时,向所述中继节点发送新区块的区块头数据,由所述中继节点在可信执行环境中对所述区块头数据进行验证。
10.根据权利要求8所述的方法,所述跨链查询事务请求包括跨链请求标识;
将所述目标事务原文作为跨链查询结果,包括:
将所述目标事务原文和所述跨链请求标识之间映射关系作为所述跨链查询结果,写入所述跨链智能合约中,用于根据所述跨链请求标识访问所述目标事务原文。
11.区块链跨链查询方法,由区块链跨链查询系统中的目标区块链网络执行,所述区块链跨链查询系统还包括中继节点和至少一个源区块链网络;所述方法包括:
获取中继节点转发的跨链查询事务请求;
向中继节点发送待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息,由所述中继节点在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,且对所述目标事务原文进行签名得到目标事务签名数据;以及由源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
12.区块链跨链查询装置,配置于区块链跨链查询系统中的中继节点,所述区块链跨链查询系统还包括至少一个源区块链网络和至少一个目标区块链网络;所述装置包括:
目标信息获取模块,用于响应于源区块链网络调用跨链智能合约发起的跨链查询事务请求,从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;
事务验证模块,用于在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
中继信息发送模块,用于调用跨链智能合约,向所述源区块链网络发送所述目标事务原文和所述目标事务签名数据,由所述源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
13.根据权利要求12所述的装置,其中,所述跨链查询事务请求包括目标事务标识;
所述目标信息获取模块包括:
目标区块标识单元,用于根据所述目标事务标识和预先获取的目标区块链的区块头数据,确定目标事务所属目标区块的标识;
目标信息获取单元,用于根据所述目标区块的标识,从所述目标区块链网络获取所述目标事务原文和所述目标区块的默克尔证明信息。
14.根据权利要求12或13所述的装置,还包括:
区块头验证模块,用于在监测到所述源区块链网络和/或目标区块链网络的出块事件时,获取新区块的区块头数据,并在可信执行环境中对所述区块头数据进行验证。
15.根据权利要求14所述的装置,其中,所述区块头验证模块具体用于:
在可信执行环境中,基于所述目标区块链网络的共识机制,对所述区块头数据进行验证。
16.根据权利要求15所述的装置,其中,所述源区块链网络的共识机制与所述目标区块链网络的共识机制不同。
17.根据权利要求12所述的装置,其中,所述目标区块的默克尔证明信息包括目标区块的默克尔树根和目标事务的默克尔树位置。
18.根据权利要求12所述的装置,其中,所述跨链查询事务请求包括跨链请求标识;
所述中继信息发送模块具体用于:
向所述源区块链网络发送所述跨链请求标识、所述目标事务原文和所述目标事务签名数据之间映射关系,由所述源区块链网络对所述目标事务签名数据验签通过后,记录所述跨链请求标识和目标事务原文之间映射关系,用于调用所述跨链智能合约通过所述跨链请求标识访问所述目标事务原文。
19.区块链跨链查询装置,配置于区块链跨链查询系统中的源区块链网络,所述区块链跨链查询系统还包括中继节点和至少一个目标区块链网络;所述装置包括:
跨链请求发起模块,用于调用跨链智能合约向中继节点发起跨链查询事务请求,用于指示所述中继节点执行如下:从目标区块链网络获取待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息;在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,若是则对所述目标事务原文进行签名得到目标事务签名数据;
签名数据获取模块,用于调用跨链智能合约,从所述中继节点获取所述目标事务原文和所述目标事务签名数据;
验签模块,用于对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
20.根据权利要求19所述的装置,还包括:
区块头同步模块,用于在监测到本地出块事件时,向所述中继节点发送新区块的区块头数据,由所述中继节点在可信执行环境中对所述区块头数据进行验证。
21.根据权利要求19所述的装置,所述跨链查询事务请求包括跨链请求标识;
所述验签模块具体用于:将所述目标事务原文和所述跨链请求标识之间映射关系作为所述跨链查询结果,写入所述跨链智能合约中,用于根据所述跨链请求标识访问所述目标事务原文。
22.区块链跨链查询装置,配置于区块链跨链查询系统中的目标区块链网络,所述区块链跨链查询系统还包括中继节点和至少一个源区块链网络;所述装置包括:
跨链请求获取模块,用于获取中继节点转发的跨链查询事务请求;
目标信息发送模块,用于向中继节点发送待查询的目标事务原文和目标事务所属目标区块的默克尔证明信息,由所述中继节点在可信执行环境中,根据所述默克尔证明信息确定所述目标事务是否在所述目标区块中,且对所述目标事务原文进行签名得到目标事务签名数据;以及由源区块链网络对所述目标事务签名数据进行验签,若验签通过则将所述目标事务原文作为跨链查询结果。
23.一种电子设备,其中,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010908384.2A CN111769957B (zh) | 2020-09-02 | 2020-09-02 | 区块链跨链查询方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010908384.2A CN111769957B (zh) | 2020-09-02 | 2020-09-02 | 区块链跨链查询方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111769957A CN111769957A (zh) | 2020-10-13 |
CN111769957B true CN111769957B (zh) | 2020-12-15 |
Family
ID=72729274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010908384.2A Active CN111769957B (zh) | 2020-09-02 | 2020-09-02 | 区块链跨链查询方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111769957B (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966731A (zh) * | 2020-10-23 | 2020-11-20 | 支付宝(杭州)信息技术有限公司 | 一种在区块链系统中查询数据的方法和装置 |
CN112270005B (zh) * | 2020-10-28 | 2022-04-26 | 支付宝(杭州)信息技术有限公司 | 一种数据传输方法和系统 |
CN112446785B (zh) * | 2020-11-06 | 2023-09-22 | 杭州趣链科技有限公司 | 跨链交易方法、系统、装置、设备和存储介质 |
CN112532393B (zh) * | 2020-11-20 | 2024-06-18 | 杭州趣链科技有限公司 | 一种跨链交易的验证方法、中继链节点设备及介质 |
CN112527893B (zh) * | 2020-11-26 | 2022-06-07 | 暨南大学 | 一种基于sgx的安全高效跨链服务操作方法及系统 |
CN112200682B (zh) * | 2020-12-04 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 基于区块链的跨链交易方法、装置和计算机可读存储介质 |
CN112581128B (zh) * | 2020-12-10 | 2024-04-05 | 浙商银行股份有限公司 | 一种具有存在证明的异构许可链价值交换方法 |
CN112287034B (zh) * | 2020-12-24 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 一种数据同步方法、设备以及计算机可读存储介质 |
CN112650742A (zh) * | 2020-12-30 | 2021-04-13 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备和存储介质 |
CN112667601B (zh) * | 2020-12-30 | 2023-06-20 | 杭州趣链科技有限公司 | 区块链标识的管理方法、终端设备及计算机可读存储介质 |
CN112783877B (zh) * | 2020-12-30 | 2024-06-07 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备和存储介质 |
CN112650764A (zh) * | 2020-12-30 | 2021-04-13 | 北京百度网讯科技有限公司 | 跨链数据处理方法、装置、设备和存储介质 |
CN112671950B (zh) * | 2020-12-30 | 2023-02-21 | 北京百度网讯科技有限公司 | 基于区块链的域名处理方法、装置、电子设备和存储介质 |
CN112764887B (zh) * | 2021-01-15 | 2023-10-13 | 北京百度网讯科技有限公司 | 事务请求的构建方法、处理方法、装置、设备和存储介质 |
CN113807960A (zh) * | 2021-03-04 | 2021-12-17 | 京东科技控股股份有限公司 | 异构链间的跨链处理方法、装置、系统、电子设备 |
CN112804066A (zh) * | 2021-03-30 | 2021-05-14 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备跨链中转消息的方法和装置 |
CN112804359B (zh) * | 2021-03-30 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 提供跨链消息的方法和装置 |
CN112804358B (zh) * | 2021-03-30 | 2021-07-23 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链中转数据的方法和装置 |
CN113676553A (zh) * | 2021-03-30 | 2021-11-19 | 支付宝(杭州)信息技术有限公司 | 一种基于中继设备网络跨链读取数据的方法和装置 |
CN113114759B (zh) * | 2021-04-09 | 2022-06-10 | 杭州链网科技有限公司 | 一种实现多链互通的跨链方法及系统 |
CN113259456B (zh) * | 2021-06-02 | 2021-10-15 | 支付宝(杭州)信息技术有限公司 | 跨链交互方法及装置 |
CN113450113B (zh) * | 2021-06-28 | 2023-05-09 | 上海计算机软件技术开发中心 | 一种跨链交互的智能合约交互模型及协同执行系统 |
CN113467888B (zh) * | 2021-06-29 | 2024-02-23 | 网易(杭州)网络有限公司 | 智能合约的跨链调用方法及装置、电子设备、存储介质 |
CN113360547A (zh) * | 2021-06-29 | 2021-09-07 | 北京百度网讯科技有限公司 | 跨链查询方法、装置、电子设备及可读存储介质 |
CN113987598A (zh) * | 2021-11-08 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 区块的迁移方法和装置 |
CN114331447B (zh) * | 2022-03-15 | 2022-05-31 | 北京溪塔科技有限公司 | 一种跨链消息提交方法及装置 |
CN114519078B (zh) * | 2022-04-19 | 2022-08-09 | 北京理工大学 | 一种基于区块链的跨链可信查询方法及系统 |
CN115982208B (zh) * | 2022-08-24 | 2023-09-29 | 淮阴工学院 | 基于区块链跨链协同的冷链产品关联性查询方法及装置 |
CN115759893B (zh) * | 2023-01-06 | 2023-05-12 | 北京市农林科学院信息技术研究中心 | 跨链的物流业务管理方法、装置及电子设备 |
CN116886444B (zh) * | 2023-09-05 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 跨链数据处理方法、装置、计算机、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472572A (zh) * | 2018-11-21 | 2019-03-15 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的合约部署及交易 |
CN109493050A (zh) * | 2018-11-21 | 2019-03-19 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的转账流程 |
CN110443704A (zh) * | 2019-06-28 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 一种跨链发送资源的方法和装置 |
CN110471984A (zh) * | 2019-07-15 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链的业务处理方法及装置、电子设备 |
CN111159293A (zh) * | 2019-12-25 | 2020-05-15 | 杭州加密矩阵科技有限公司 | 一种基于轻节点技术的跨链信息验证方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10243743B1 (en) * | 2017-09-13 | 2019-03-26 | Vijay K. Madisetti | Tokens or crypto currency using smart contracts and blockchains |
CN109471744B (zh) * | 2018-11-21 | 2021-08-17 | 北京蓝石环球区块链科技有限公司 | 基于区块链的主链加并行多子链系统架构 |
CN110311790B (zh) * | 2019-06-28 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种跨链发送可认证消息的方法和装置 |
CN111597258A (zh) * | 2020-05-11 | 2020-08-28 | 广州网格科技有限公司 | 一种区块链跨链的信息处理方法及电子设备 |
-
2020
- 2020-09-02 CN CN202010908384.2A patent/CN111769957B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472572A (zh) * | 2018-11-21 | 2019-03-15 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的合约部署及交易 |
CN109493050A (zh) * | 2018-11-21 | 2019-03-19 | 北京蓝石环球区块链科技有限公司 | 基于区块链主链加并行多子链的转账流程 |
CN110443704A (zh) * | 2019-06-28 | 2019-11-12 | 阿里巴巴集团控股有限公司 | 一种跨链发送资源的方法和装置 |
CN110471984A (zh) * | 2019-07-15 | 2019-11-19 | 阿里巴巴集团控股有限公司 | 基于区块链的业务处理方法及装置、电子设备 |
CN111159293A (zh) * | 2019-12-25 | 2020-05-15 | 杭州加密矩阵科技有限公司 | 一种基于轻节点技术的跨链信息验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111769957A (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111769957B (zh) | 区块链跨链查询方法、装置、设备和存储介质 | |
CN111769958B (zh) | 区块链跨链处理方法、装置、设备和存储介质 | |
JP2021103572A (ja) | ブロックチェーンベースのデータ処理方法、装置、デバイス、記憶媒体、及びプログラム | |
US20090328038A1 (en) | Computer System and Device Controlling Method for Computer System | |
CN111935318B (zh) | 跨链数据验证方法、装置、设备及介质 | |
CN112783877B (zh) | 跨链数据验证方法、装置、设备和存储介质 | |
CN111930521A (zh) | 用于部署应用的方法、装置、电子设备及可读存储介质 | |
US9589153B2 (en) | Securing integrity and consistency of a cloud storage service with efficient client operations | |
US11902112B2 (en) | Provisioning persistent, dynamic and secure cloud services | |
CN108616574B (zh) | 管理数据的存储方法、设备及存储介质 | |
CN103685608A (zh) | 一种自动配置安全虚拟机ip地址的方法及装置 | |
CN111737361B (zh) | 区块链处理方法、装置、设备和存储介质 | |
US20230060053A1 (en) | Method and apparatus of deploying a cluster, and storage medium | |
KR102527592B1 (ko) | 증서 송신 방법, 증서 수신 방법, 클라우드 및 단말 기기 | |
CN112650742A (zh) | 跨链数据验证方法、装置、设备和存储介质 | |
CN112738294B (zh) | 基于区块链的域名解析方法、装置、电子设备和存储介质 | |
US20240015143A1 (en) | Cross-regional replication of keys | |
CN111339187A (zh) | 基于智能合约的数据处理方法、装置、设备和存储介质 | |
CN109144512B (zh) | 一种生成api的方法和系统 | |
CN111966877A (zh) | 前端服务方法、装置、设备及存储介质 | |
US11558207B2 (en) | Method and apparatus for starting up blockchain system, and non-transitory computer-readable storage medium | |
CN111767489B (zh) | 网页运行的加速方法、装置、设备以及存储介质 | |
JP2009099015A (ja) | ユーザインタフェース統合システム及びその方法 | |
CN110109731B (zh) | 一种云环境下虚拟可信根的管理方法与系统 | |
CN111371557A (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 |