CN111935318A - 跨链数据验证方法、装置、设备及介质 - Google Patents
跨链数据验证方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111935318A CN111935318A CN202011037312.1A CN202011037312A CN111935318A CN 111935318 A CN111935318 A CN 111935318A CN 202011037312 A CN202011037312 A CN 202011037312A CN 111935318 A CN111935318 A CN 111935318A
- Authority
- CN
- China
- Prior art keywords
- query
- data
- chain
- query request
- request
- 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.)
- Granted
Links
Images
Classifications
-
- 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/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种跨链数据验证方法、装置、设备及介质,涉及区块链技术领域,可适用于云计算和云服务。具体实现方案为:基于目标链的验证需求,向源链发送查询请求;接收所述源链中的反馈节点基于所述查询请求反馈的待验证数据;所述待验证数据包括查询请求标识和查询数据;根据所述查询请求标识对所述查询数据进行验证。本申请实施例提高了跨链数据验证的便捷度和通用性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及区块链技术,可用于云计算和云服务,具体涉及一种跨链数据验证方法、装置、设备及介质。
背景技术
随着区块链技术的不断发展,出现了公有链、联盟链和私有链等多种区块链形式,每个区块链都是一个独立的共识网络,形成了一个个数据孤岛,阻碍了区块链应用生态的进一步发展。
跨链技术是用于解决至少两条区块链之间互操作性的技术,能够实现不同区块链中链上数据的共享,因此需要一种可信机制对跨链数据进行验证。
而现有的默克尔验证机制需要对待验证区块的区块头进行存储和计算,需要投入大量的存储资源和计算资源,同时通用性较差,无法适配多样的验证场景。
发明内容
本申请提供了一种操作便捷且通用性更好的跨链数据验证方法、装置、设备及介质。
根据本申请的一方面,提供了一种跨链数据验证方法,应用于验证载体,包括:
基于目标链的验证需求,向源链发送查询请求;
接收所述源链中的反馈节点基于所述查询请求反馈的待验证数据;所述待验证数据包括查询请求标识和查询数据;
根据所述查询请求标识对所述查询数据进行验证。
根据本申请的另一方面,还提供了一种跨链数据验证方法,应用于源链中的区块链节点,包括:
获取基于目标链的验证需求所发起的查询请求;
根据所述查询请求向验证载体发送包括查询请求标识和查询数据的待验证数据,以使所述验证载体根据所述查询请求标识对所述查询数据进行验证。
根据本申请的另一方面,还提供了一种跨链数据验证装置,配置于验证载体,包括:
查询请求发送模块,用于基于目标链的验证需求,向源链发送查询请求;
待验证数据接收模块,用于接收所述源链中的反馈节点基于所述查询请求反馈的待验证数据;所述待验证数据包括查询请求标识和查询数据;
验证模块,用于根据所述查询请求标识对所述查询数据进行验证。
根据本申请的另一方面,还提供了一种跨链数据验证装置,配置于源链中的区块链节点,包括:
查询请求获取模块,用于获取基于目标链的验证需求所发起的查询请求;
待验证数据发送模块,用于根据所述查询请求向验证载体发送包括查询请求标识和查询数据的待验证数据,以使所述验证载体根据所述查询请求标识对所述查询数据进行验证。
根据本申请的另一方面,还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例提供的任意一种跨链数据验证方法。
根据本申请的另一方面,还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例提供的任意一种跨链数据验证方法。
根据本申请的技术方案,提高了跨链数据验证的便捷度和通用性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1A是本申请实施例提供的一种验证***结构框图;
图1B是本申请实施例提供的一种跨链数据验证方法的流程图;
图2是本申请实施例提供的另一种跨链数据验证方法的流程图;
图3是本申请实施例提供的另一种跨链数据验证方法的流程图;
图4是本申请实施例提供的另一种跨链数据验证方法的流程图;
图5是本申请实施例提供的一种跨链数据验证装置的结构图;
图6是本申请实施例提供的另一种跨链数据验证装置的结构图;
图7是用来实现本申请实施例的一种跨链数据验证方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本申请实施例提供的各跨链数据验证方法和跨链数据验证装置,可适用于通过验证载体对目标链从源链获取的跨链数据进行验证的情况,该跨链数据验证方法可以由跨链数据验证装置执行,该装置采用软件和/或硬件实现,具体配置于作为验证载体的电子设备中,该电子设备可以是承载有区块链节点的设备。
为了清楚地介绍本申请实施例的技术方案,首先对本申请涉及的验证***进行说明。
参见图1A所示的验证***,包括源链10、目标链20和验证载体30。其中,目标链20从源链10中进行跨链数据获取,并对跨链数据进行验证。在对跨链数据进行验证时,借助验证载体20加以实现。
示例性地,源链10和目标链20可以是同构区块链或异构区块链,使得验证载体20能够适配对同构区块链或异构区块链的跨链数据进行验证场景,提高了跨链数据验证的异构通用性。
示例性地,验证载体包括但不限于中继节点、目标链中的区块链节点、中继链中的区块链节点和目标链的可信节点。其中,可信节点可以是设置有TEE(Trusted ExecutionEnvironment,可信执行环境)的节点设备。可以理解的是,通过丰富验证载体的多样性,本申请实施例提高了本申请实施例所涉及的跨链数据验证的***通用性。
可选的,跨链数据可以包括区块链基本数据。其中,区块链基本信息包括但不限于源链中某区块的挖矿难度、区块高度、区块信息和交易处理日志等内容。可选的,跨链数据可以包括合约数据。其中,合约数据包括但不限于合约调用日志和合约触发事件等内容。可以理解的是,通过丰富跨链数据的多样性,使得本申请实施例的跨链数据验证操作不限于对特定数据的验证,能够适配不同类型数据跨链访问或共享的场景,提高了跨链数据验证的数据通用性。
图1B是本申请实施例提供的一种跨链数据验证方法,包括:
S101、基于目标链的验证需求,向源链发送查询请求。
其中,源链可以理解为跨链数据的来源区块链;目标链可以理解为具备跨链数据使用需求的区块链。
可选的,验证需求可以在目标链获取到源链中的跨链数据之后产生,以对所获取的跨链数据的合法性和真实存在性加以验证。或者可选的,验证需求还可以是目标链在获取源链中的跨链数据过程中产生,并在获取跨链数据时,对所获取的跨链数据的合法性和真实存在性加以验证。
示例性地,查询请求可以是针对源链中的区块链基本数据进行查询的***级查询请求。其中,区块链基本数据包括但不限于源链中某区块的挖矿难度、区块高度、区块信息和交易处理日志等内容。
示例性地,查询请求还可以是针对源链中的合约数据进行查询的合约查询请求。其中,合约数据包括但不限于合约调用日志和合约触发事件等内容。
在一种实施例中,当目标链具备验证需求时,会基于验证需求生成源查询请求,并将源查询请求发送至验证载体;验证载体基于源查询请求生成向源链发送的查询请求。
其中,源查询请求可以与向源链发送的查询请求相同或不同。在一个可选实施方式中,若源链和目标链属于同构区块链,则源查询请求和向源链发送的查询请求相同。在另一可选实施方式中,若源链和目标链属于异构区块链,则源查询请求可以理解为基于目标链的请求规则生成的与验证需求相关联的请求;向源链发送的查询请求可以理解为基于源链的请求规则生成的与验证需求相关联的请求。当源链和目标链属于异构区块链时,需要将源查询请求根据源链的请求规则进行编码处理,从而将源查询请求转化为适配源链的查询请求。
在另一实施例中,当目标链具备验证需求时,会基于验证需求生成适配源链的查询请求,并将所生成的查询请求经由验证载体发送至源链中的各区块链节点。
可以理解的是,为了便于验证过程更具针对性,在验证需求中需要包括源链标识和跨链数据的查询标识。其中,源链标识用于唯一表征区块链,能够基于该源链标识进行源链定位。跨链数据的查询标识用于唯一表征源链中的数据,便于从源链中进行待查询的跨链数据的查找获取。
具体的,验证载体基于目标链的验证需求,向源链中的至少一个区块链节点发送查询请求。可选的,所发送的区块链节点可以是目标链认定的源链中的可信节点;或者可选的,区块链节点可以是随机选取的源链中的任意节点;或者可选地,区块链节点还可以是源链中的全部节点。
S102、接收源链中的反馈节点基于查询请求反馈的待验证数据;待验证数据包括查询请求标识和查询数据。
其中,源链中的反馈节点可以理解为响应于查询请求,向验证载体反馈待验证数据的节点。
示例性地,源链中的反馈节点接收验证载体发送的查询请求;根据查询请求进行查询数据(也即跨链数据)的查询获取,并生成包括查询请求标识和查询数据的待验证数据;反馈节点将待验证数据反馈至验证载体,以使验证载体基于查询请求标识对查询数据进行验证。
其中,查询请求标识用于唯一区分查询请求。示例性地,查询请求标识可以包括但不限于查询请求的反馈数字摘要、查询请求的反馈请求文本和查询请求的反馈时间戳等信息。
示例性地,查询请求的反馈数字摘要通过对查询请求进行哈希计算后得到,用于唯一表征查询请求内容;查询请求的反馈请求文本即为查询请求本身,用于唯一表征查询请求内容;查询请求的反馈时间戳用于表征待验证数据的反馈时间。
可选的,反馈节点对查询请求进行哈希计算后,得到反馈数字摘要,并将反馈数字摘要添加至待验证数据中反馈至验证载体,用于辅助验证查询数据;或者可选的,反馈节点将接收到的查询请求文本作为反馈请求文本,添加至待验证数据中反馈至验证载体,用于辅助验证查询数据;或者可选的,反馈节点将生成待验证数据的时间戳作为反馈时间戳,并将反馈时间戳添加至待验证数据中反馈至验证载体,用于辅助验证查询数据。
可以理解的是,通过将查询请求标识细化为不同维度的标识信息,从而为对查询数据进行多维度验证奠定了基础。
S102、根据查询请求标识对查询数据进行验证。
根据待验证数据中的查询请求标识和验证载体本地存储的查询请求的对应关系,对查询数据进行验证。具体的,若查询请求标识与验证载体本地存储的查询请求具备对应关系,则查询数据验证通过;若查询请求标识与验证载体本地存储的查询请求不具备对应关系,则查询数据验证不通过。
本申请实施例通过在跨链数据查询过程中,在待验证数据中携带查询请求标识和查询数据,并通过查询请求标识对查询数据加以验证,从而无需在验证载体中存储查询数据所在源链的区块头数据,减少了验证载体在进行跨链数据验证的数据存储量。同时,通过查询请求标识对查询数据进行验证替代默克尔验证机制,数据运算量小,提高了跨链数据验证的便捷度。另外,本申请对跨链数据验证过程无需依赖默克尔树的构建,因此对源链的组织结构没有特殊限制,提高了跨链数据验证的通用性。
为了进一步提高验证结果的准确度,进而保证跨链安全,在一种可选实施例中,还可以通过查询请求标识以外的其他数据,对查询数据进行再次验证。
可选的,还可以根据反馈节点的节点地址在源链的存在性,对查询数据进行验证。
示例性地,可以预先在验证载体本地、或与验证载体关联的其他存储设备或云端中进行源链的区块链节点的节点地址的存储;相应的,验证载体从本地、与验证载体关联的其他存储设备或云端中进行源链的区块链节点的节点地址的查找获取;若验证载体能够查找到反馈节点的节点地址,则表明反馈节点在源链中真实存在,此时对查询数据验证通过;若无法查找到反馈节点的节点地址,则表明反馈节点在源链中不存在,此时对查询数据验证不通过。
可以理解的是,通过引入反馈节点的节点地址,能够对反馈节点在源链中的真实存在性加以验证,减少了反馈节点作假,给查询数据的准确性和使用过程的安全性带来的隐患。
可选的,还可以对反馈节点的签名信息进行验签,并根据验签结果对查询数据进行验证。
示例性地,可以预先在验证载体本地或与验证载体关联的其他存储设备或云端中进行源链的区块链节点的账户公钥的存储;相应的,验证载体从本地、与验证载体关联的其他存储设备或云端中进行源链的区块链节点的账户公钥的查找获取;验证载体根据查找到的账户公钥对反馈节点对待验证数据的签名信息进行验签;若验签成功,则表明反馈节点在源链中真实存在,也即保证了反馈的待验证数据的真实性,此时对查询数据验证通过;若验签失败,则表明反馈节点在源链中不存在,也即反馈的待验证数据的可能存在作假情况,此时对查询数据验证不通过。
可以理解的是,通过对反馈节点的签名信息进行验签,能够对反馈节点在源链中的真实存在性和所反馈的待验证数据的真实性加以验证,减少了反馈节点作假,给查询数据的准确性和使用过程的安全性带来的隐患。
可选的,还可以确定反馈节点数量是否满足源链的共识算法,并根据确定结果对查询数据进行验证。
示例性地,验证载体可以根据源链所遵从的共识算法,确定共识节点数量阈值;若进行待验证数据反馈的反馈节点数量,也即接收到的节点签名的数量小于共识节点数量阈值,则表明此次查询结果不满足源链的共识算法,此时对查询数据验证不通过;若进行待验证数据反馈的反馈节点数量,也即接收到的节点签名的数量不小于共识节点数量阈值,则表明此次查询结果满足源链的共识算法,此时对查询数据验证通过。
在一个可选实施方式中,共识算法可以包括BFT(Byzantine Fault Tolerance,拜占庭容错)类共识算法,例如PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)、Hotstuff BFT(Hotstuff Byzantine Fault Tolerance,热门拜占庭容错)等,此时确定的共识节点数量阈值可以是(n-1)*2/3,其中n为源链中区块链节点的总数量。
在另一个可选实施方式中,共识算法可以包括CFT(Crash Fault Tolerance,故障容错)类共识算法,例如Raft分布式一致性算法等,由于此类共识短发仅能容错故障节点,因此所有节点均值可信环境下使用,所以仅需一个共识节点签名即可,也即公式节点数量阈值为1。
可以理解的是,通过引入反馈节点数量,进行共识算法验证,能够保证查询数据的正确性,提高了查询数据使用过程的安全性。
在上述各技术方案的基础上,本申请实施例还提供了一种可选实施例,用于将查询请求标识细化为不同维度的标识信息,从而实现对查询数据的多维度验证。
参见图2所示的一种跨链数据验证方法,包括:
S201、基于目标链的验证需求,向源链发送查询请求。
S202、接收源链中的反馈节点基于查询请求反馈的待验证数据;待验证数据包括查询请求标识和查询数据;查询请求标识包括查询请求的反馈数字摘要、查询请求的反馈请求文本和查询请求的反馈时间戳中的至少一种。
S203、根据查询请求标识对查询数据进行验证。
在一种可选实施例中,查询请求标识可以包括查询请求的反馈请求文本;相应的,根据查询请求标识对查询数据进行验证,可以是:确定查询请求文本自身与反馈请求文本的一致性;根据一致性结果,对查询数据进行验证。
示例性地,验证载体将自身发送的查询请求的查询请求文本与待验证数据中的反馈请求文本进行比对;若文本内容一致,则表明待验证数据与验证载体发送的该查询请求相对应,此时认为待验证数据中的查询数据与查询请求也相对应,对查询数据验证通过;若文本内容不一致,则表明待验证数据与验证载体发送的该查询请求不对应,相应的,待验证数据中的查询数据与该查询请求也必然不对应,此时对查询数据验证不通过。
为了简化文本内容一致性比对的数据运算量,还可以分别对查询请求文本和待验证数据中的反馈请求文本进行哈希计算,得到标准数字摘要和反馈数字摘要;根据标准数字摘要和反馈数字摘要的一致性,确定查询请求文本与待验证数据中的反馈请求文本的文本内容一致性。
可以理解的是,通过引入查询请求的数字摘要,能够对查询请求与所反馈的待验证数据的对应关系进行验证,从而为查询数据的准确性提供了保证。
在另一可选实施例中,查询请求标识包括查询请求的反馈数字摘要;相应的,根据查询请求标识对查询数据进行验证,可以是:确定查询请求的数字摘要作为标准数字摘要;根据标准数字摘要和反馈数字摘要,对查询数据进行验证。
示例性地,验证载体对自身发送的查询请求进行哈希计算,得到标准数字摘要;将标准数字摘要和待验证数据中的反馈数字摘要进行比对;若标准数字摘要和待验证数据中的反馈数字摘要一致,则表明反馈的待验证数据与查询请求相对应,此时认为待验证数据中的查询数据与查询请求也相对应,对查询数据验证通过;若标准数字摘要和待验证数据中的反馈数字摘要不一致,则表明反馈的待验证数据与查询请求不对应,相应的待验证数据中的查询数据也必然与查询请求不对应,此时对查询数据验证不通过。
可以理解的是,通过引入查询请求的数字摘要,能够对查询请求与所反馈的待验证数据的对应关系进行验证,从而为查询数据的准确性提供了保证。同时,采用数字摘要比对的方式替代文本自身比对,减少了对应关系验证的数据运算量。
在又一可选实施例中,查询请求标识可以包括查询请求的反馈请求文本;相应的,根据查询请求标识对查询数据进行验证,可以是:根据查询请求关联的源查询请求和反馈请求文本,对查询数据进行验证;源查询请求由目标链中的区块链节点基于验证需求生成。
由于源查询请求由目标链中的区块链节点基于验证需求生成,此时认定源查询请求能够适配目标链的请求规则;由于向源链发送的查询请求由验证载体基于验证需求生成,且发送至源链的区块链节点,也即在源链中进行传输,所以向源链发送的查询请求能够适配源链的请求规则。当源链和目标链属于异构区块链时,向源链发送的查询请求和源查询请求内容编码格式存在一定的差异。为了避免验证载体所生成的向源链发送的查询请求与目标链自身生成的源查询请求不对应,还需要对源查询请求和待验证数据中的反馈请求文本的对应关系加以验证,从而保证向源链发送的事务请求、反馈请求文本和源查询请求具备唯一对应关系,进而保证了查询数据的准确性。
可选的,根据查询请求关联的源查询请求和反馈请求文本,对查询数据进行验证,可以是:根据目标链的请求规则,对反馈请求文本进行编码,得到待验证请求文本;若待验证请求文本与源查询请求相同,则对查询数据验证通过。
具体的,根据目标链的请求规则,对反馈请求文本进行编码,得到适配目标链的待验证请求文本;若反馈请求文本与向源链发送的查询请求相一致,则编码后得到的待验证请求文本必然与源查询请求相一致,此时,向源链发送的查询请求、反馈请求文本和源查询请求具备唯一对应关系,因此认定查询数据即为与目标链的验证需求对应的数据,综上可知,可以在待验证请求文本与源查询请求相同的情况下,认定查询数据验证通过。
若反馈请求文本与向源链发送的查询请求不一致,则编码后得到的待验证请求文本与源查询请求必然不同,此时,向源链发送的查询请求、反馈请求文本和源查询请求之间的对应关系出现错误,因此认定查询数据不是与目标链的验证需求相对应的数据。综上可知,可以在待验证请求文本与源查询请求不同的情况下,认定查询数据验证不通过。
或者可选地,根据查询请求关联的源查询请求和反馈请求文本,对查询数据进行验证,可以是:根据源链的请求规则,对源查询请求进行编码,得到待验证请求文本;若待验证请求文本与反馈请求文本相同,则对查询数据验证通过。
具体的,根据源链的请求规则,对源查询请求进行编码,得到适配源链的待验证请求文本;若反馈请求文本与向源链发送的查询请求相一致,则编码后的到的待验证请求文本与反馈请求文本必然也相一致,此时,向源链发送的查询请求、反馈请求文本和源查询请求具备唯一对应关系,因此认定查询数据即为与目标链的验证需求对应的数据,综上可知,可以在待验证请求文本与反馈请求文本相同的情况下,认定查询数据验证通过。
若反馈请求文本与向源链发送的查询请求不一致,则编码后得到的待验证请求文本与反馈请求文本必然不同,此时,向源链发送的查询请求、反馈请求文本和源查询请求之间的对应关系出现错误,因此认定查询数据不是与目标链的验证需求相对应的数据。综上可知,可以在待验证请求文本与反馈请求文本不同的情况下,认定查询数据验证不通过。
在另一可选实施例中,查询请求可以包括查询请求的反馈时间戳;相应的,根据查询请求标识对查询数据进行验证,包括:若反馈时间戳与查询请求的生成时间戳的时间差大于设定时间阈值,则对查询数据验证不通过。
示例性地,若反馈时间戳与查询请求的生成时间戳的时间差大于设定时间阈值,则表明查询请求的响应失效,此时认为查询数据验证不通过;若反馈时间戳与查询请求的生成时间戳的时间差不大于设定时间阈值,则表明查询请求的响应有效,此时认为查询数据在生成时间戳限制条件下有效,也即查询数据验证通过。
可以理解的是,通过反馈时间戳和生成时间戳对查询数据的时效性加以限制,能够保证查询数据的时效性,避免更新效率较高的查询数据由于数据失效给目标链的使用带来影响。
本申请实施例通过对查询请求标识细化为不同维度的标识信息,从而实现了对查询数据在不同维度下的验证,保证了查询数据的准确性和时效性等,为目标链对查询数据使用过程的安全性提供了保障。
在本申请一个可选实施例中,还提供了一种跨链数据验证方法,应用于源链的区块链节点,以配合验证载体基于目标链对源链的跨链数据的验证需求,对源链中的数据加以验证。
参见图3所示的一种跨链数据验证方法,包括:
S301、获取基于目标链的验证需求所发起的查询请求。
具体的,获取验证载体基于目标链的验证需求所发起的查询请求。
其中,源链可以理解为跨链数据的来源区块链;目标链可以理解为具备跨链数据使用需求的区块链。
可选的,验证需求可以在目标链获取到源链中的跨链数据之后产生,以对所获取的跨链数据的合法性和真实存在性加以验证。或者可选的,验证需求还可以是目标链在获取源链中的跨链数据过程中产生,并在获取跨链数据时对所获取的跨链数据的合法性和真实存在性加以验证。
示例性地,查询请求可以是针对源链中的区块链基本数据进行查询的***级查询请求。其中,区块链基本数据包括但不限于源链中某区块的挖矿难度、区块高度、区块信息和交易处理日志等内容。
示例性地,查询请求还可以是针对源链中的合约数据进行查询的合约查询请求。其中,合约数据包括但不限于合约调用日志和合约触发事件等内容。
在一种实施例中,当目标链具备验证需求时,会基于验证需求生成源查询请求,并将源查询请求发送至验证载体;验证载体基于源查询请求生成向源链发送的查询请求。相应的,源链中的区块链节点获取并响应该查询请求。
在另一实施例中,当目标链具备验证需求时,会基于验证需求生成适配源链的查询请求,并将所生成的查询请求经由验证载体发送至源链中的各区块链节点。相应的,源链中的区块链节点获取并响应该查询请求。
可以理解的是,为了便于验证过程更具针对性,在验证需求中需要包括源链标识和跨链数据的查询标识。其中,源链标识用于唯一表征区块链,能够基于该源链标识进行源链定位。跨链数据的查询标识用于唯一表征源链中的数据,便于从源链中进行待查询的跨链数据的查找获取。
S302、根据查询请求向验证载体发送包括查询请求标识和查询数据的待验证数据,以使验证载体根据查询请求标识对查询数据进行验证。
示例性地,源链中的区块链节点根据查询请求进行查询数据(也即跨链数据)的查询获取,并生成包括查询请求标识和查询数据的待验证数据;将待验证数据反馈至验证载体,以使验证载体基于查询请求标识对查询数据进行验证。其中,验证载体对查询数据的验证过程可参见前述实施例,在此不再赘述。
其中,查询请求标识用于唯一区分查询请求。示例性地,查询请求标识可以包括但不限于查询请求的反馈数字摘要、查询请求的反馈请求文本和查询请求的反馈时间戳等信息。
示例性地,查询请求的反馈数字摘要通过对查询请求进行哈希计算后得到,用于唯一表征查询请求内容;查询请求的反馈请求文本即为查询请求本身,用于唯一表征查询请求内容;查询请求的反馈时间戳用于表征待验证数据的反馈时间。
可选的,源链中的区块链节点对查询请求进行哈希计算后,得到反馈数字摘要,并将反馈数字摘要添加至待验证数据中反馈至验证载体,用于辅助验证查询数据;或者可选的,源链中的区块链节点将接收到的查询请求文本作为反馈请求文本,添加至待验证数据中反馈至验证载体,用于辅助验证查询数据;或者可选的,源链中的区块链节点将生成待验证数据的时间戳作为反馈时间戳,并将反馈时间戳添加至待验证数据中反馈至验证载体,用于辅助验证查询数据。
可以理解的是,通过将查询请求标识细化为不同维度的标识信息,从而为对查询数据进行多维度验证奠定了基础。
示例性地,查询数据包括但不限于是源链中的区块链基本数据和合约数据。可以理解的是,通过丰富跨链数据的多样性,使得本申请实施例的跨链数据验证操作不限于对特定数据的验证,能够适配不同类型数据跨链访问或共享的场景,提高了跨链数据验证的数据通用性。
需要说明的是,上述源链和目标链可以属于同构区块链或异构区块链,使得验证载体能够适配对同构区块链或异构区块链的跨链数据进行验证场景,提高了跨链数据验证的异构通用性。
本申请实施例通过在源链中的区块链节点响应于基于目标链的验证需求所发起的查询请求时,向验证载体发送包括查询请求标识和查询数据的待验证数据,为验证载体基于查询请求标识对查询数据的验证奠定了基础。通过本申请的技术方案无需在验证载体中存储查询数据所在源链的区块头数据,减少了验证载体在进行跨链数据验证的数据存储量。同时,通过查询请求标识对查询数据进行验证替代默克尔验证机制,数据运算量小,提高了跨链数据验证的便捷度。另外,本申请对跨链数据验证过程无需依赖默克尔树的构建,因此对源链的组织结构没有特殊限制,提高了跨链数据验证的通用性。
在上述各技术方案的基础上,本申请实施例还提供了一种优选实施方式,参见图4所示的一种跨链数据验证方法,包括:
S401、目标链节点基于自身验证需求,根据目标链编码规则,生成源查询请求。
S402、目标链节点将源查询请求,发送至验证载体。
S403、验证载体根据源链的编码规则,将源查询请求转化为目标查询请求,并标记生成时间戳。
S404、验证载体向源链节点发送目标查询请求。
S405、源链节点根据目标查询请求获取查询数据,并生成目标查询请求的数字摘要作为反馈数字摘要。
S406、源链节点将目标查询请求、反馈数字摘要、反馈时间戳和查询数据经自身公钥签名,生成待验证数据。
S407、源链节点将待验证数据发送至验证载体。
S408、验证载体本地查找源链节点的节点地址,以验证节点地址合法性。
具体的,若验证载体在本地能够查找到源链节点的节点地址,则节点地址合法性验证通过;若验证载体在本地无法查找到源链节点的节点地址,则节点地址合法性验证不通过。
S409、验证载体根据本地存储的源链节点的公钥对待验证数据进行验签,以验证签名合法性。
具体的,若验证载体根据本地存储的源链节点的公钥对待验证数据验签成功,则签名合法性验证通过;若验证载体根据本地存储的源链节点的公钥对待验证数据验签失败,则签名合法性验证不通过。
S410、验证载体根据源链的共识算法,确定共识节点数量阈值。
S411、验证载体根据反馈待验证数据的源链节点的签名数量是否满足共识节点数量阈值,验证共识算法合法性。
具体的,若反馈待验证数据的源链节点的签名数量小于共识节点数量阈值,则共识算法合法性验证不通过;若反馈待验证数据的源链节点的签名数量不小于共识节点数量阈值,则共识算法合法性验证通过
S412、验证载体确定目标查询请求的标准数字摘要和反馈数字摘要一致性,以验证请求内容。
具体的,若标准数字摘要和反馈数字摘要相同,则请求内容验证通过;若标准数字摘要和反馈数字摘要不同,则请求内容验证不通过。
S413、验证载体根据目标链的编码规则,将待验证数据中的目标查询请求转化为待验证查询请求。
S414、验证载体确定待验证查询请求和源查询请求一致性,以验证请求类型。
具体的,若待验证查询请求和源查询请求相同,则请求类型验证通过;若待验证查询请求和源查询请求不同,则请求类型验证不通过。
S415、验证载体根据反馈时间戳与生成时间戳的时间间隔,验证查询时效性。
若反馈时间戳与生成时间戳的时间间隔小于设定间隔阈值,则时效性验证通过;若反馈时间戳与生成时间戳的时间间隔不小于设定间隔阈值,则时效性验证不通过。其中,设定间隔阈值由技术人员根据需要或经验值进行确定。
需要说明的是,本申请实施例对上述各验证操作的前后顺序不做任何限定,各项验证操作可以先后执行,还可以并行实现。
S416、若上述验证均通过,则查询数据验证通过;否则,查询数据验证不通过。
需要说明的是,对每个反馈待验证数据的源链节点的节点地址合法性、签名合法性、请求内容验证、请求类型验证和查询时效性验证均通过,且对目标查询请求的共识算法合法性验证通过,则表明查询数据验证通过;否则查询数据验证不通过。
S417、验证载体向目标链节点反馈查询数据和验证结果。
其中,验证结果可以包括最终验证结果,还可以包括节点地址合法性、签名合法性、请求内容验证、请求类型验证、查询时效性验证和共识算法合法性等不同类型的验证结果中的至少一种。
本申请实施例只需验证载体中配置源链的基本信息,无需同步源链中的区块头,即可实现对跨链数据的验证。同时,本申请实施例采用与默克尔验证机制完全不同的新的验证机制,无需对源链中区块链数据的组织结构加以要求,也即无需限定源链必须采用默克尔树,使得跨链验证具备异构通用性。另外,本申请实施例可以对源链中区块链基本数据和合约数据进行验证,使得验证操作具备数据通用性。
作为对上述各跨链数据验证方法的实现,本申请还提供了一种跨链数据验证装置的一个实施例。参见图5所示的一种跨链数据验证装置500,配置于验证载体中,包括:查询请求发送模块501、待验证数据接收模块502和验证模块503。其中,
查询请求发送模块501,用于基于目标链的验证需求,向源链发送查询请求;
待验证数据接收模块502,用于接收源链中的反馈节点基于查询请求反馈的待验证数据;待验证数据包括查询请求标识和查询数据;
验证模块503,用于根据查询请求标识对查询数据进行验证。
本申请实施例通过在跨链数据查询过程中,在待验证数据中携带查询请求标识和查询数据,并通过查询请求标识对查询数据加以验证,从而无需在验证载体中存储查询数据所在源链的区块头数据,减少了验证载体在进行跨链数据验证的数据存储量。同时,通过查询请求标识对查询数据进行验证替代默克尔验证机制,数据运算量小,提高了跨链数据验证的便捷度。另外,本申请对跨链数据验证过程无需依赖默克尔树的构建,因此对源链的组织结构没有特殊限制,提高了跨链数据验证的通用性。
进一步地,查询请求标识包括查询请求的反馈数字摘要、查询请求的反馈请求文本和查询请求的反馈时间戳中的至少一种。
进一步地,若查询请求标识包括查询请求的反馈数字摘要,则验证模块503,包括:
标准数字摘要确定单元,用于确定查询请求的数字摘要作为标准数字摘要;
数字摘要验证单元,用于根据标准数字摘要和反馈数字摘要,对查询数据进行验证。
进一步地,若查询请求标识包括查询请求的反馈请求文本,则验证模块503,包括:
请求文本验证单元,用于根据查询请求关联的源查询请求和反馈请求文本,对查询数据进行验证;源查询请求由目标链中的区块链节点基于验证需求生成。
进一步地,请求文本验证单元,包括:
第一编码子单元,用于根据目标链的请求规则,对反馈请求文本进行编码,得到待验证请求文本;
第一请求文本验证子单元,用于若待验证请求文本与源查询请求相同,则对查询数据验证通过;
第二编码子单元,用于根据源链的请求规则,对源查询请求进行编码,得到待验证请求文本;
第二请求文本验证子单元,用于若待验证请求文本与反馈请求文本相同,则对查询数据验证通过。
进一步地,若查询请求标识包括查询请求的反馈时间戳,则验证模块503,包括:
时间戳验证单元,用于若反馈时间戳与查询请求的生成时间戳的时间差大于设定时间阈值,则对查询数据验证不通过。
进一步地,验证载体包括中继节点、目标链中的区块链节点、中继链中的区块链节点和目标链的可信节点中的至少一种。
进一步地,查询数据包括区块链基本数据和合约数据中的至少一种。
进一步地,源链和目标链属于同构区块链或异构区块链。
进一步地,验证模块503,还包括下述至少一种:
节点地址验证子单元,用于根据反馈节点的节点地址在源链的存在性,对查询数据进行验证;
节点签名验证子单元,用于对反馈节点的签名信息进行验签,并根据验签结果对查询数据进行验证;以及,
共识算法验证子单元,用于确定反馈节点数量是否满足源链的共识算法,并根据确定结果对查询数据进行验证。
上述跨链数据验证装置可执行本发明任意实施例所提供的跨链数据验证方法,具备执行跨链数据验证方法相应的功能模块和有益效果。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
作为对上述各跨链数据验证方法的实现,本申请还提供了另一种跨链数据验证装置的一个实施例。参见图6所示的一种跨链数据验证装置600,配置于源链中的区块链节点,包括:查询请求获取模块601和待验证数据发送模块602。其中,
查询请求获取模块601,用于获取基于目标链的验证需求所发起的查询请求;
待验证数据发送模块602,用于根据查询请求向验证载体发送包括查询请求标识和查询数据的待验证数据,以使验证载体根据查询请求标识对查询数据进行验证。
本申请实施例通过在源链中的区块链节点响应于基于目标链的验证需求所发起的查询请求时,向验证载体发送包括查询请求标识和查询数据的待验证数据,为验证载体基于查询请求标识对查询数据的验证奠定了基础。通过本申请的技术方案无需在验证载体中存储查询数据所在源链的区块头数据,减少了验证载体在进行跨链数据验证的数据存储量。同时,通过查询请求标识对查询数据进行验证替代默克尔验证机制,数据运算量小,提高了跨链数据验证的便捷度。另外,本申请对跨链数据验证过程无需依赖默克尔树的构建,因此对源链的组织结构没有特殊限制,提高了跨链数据验证的通用性。
进一步地,查询请求标识包括查询请求的反馈数字摘要、查询请求的反馈请求文本和查询请求的反馈时间戳中的至少一种。
进一步地,查询数据包括区块链基本数据和合约数据中的至少一种。
进一步地,源链和目标链属于同构区块链或异构区块链。
上述跨链数据验证装置可执行本发明任意实施例所提供的跨链数据验证方法,具备执行跨链数据验证方法相应的功能模块和有益效果。
如图7所示,是实现本申请实施例的跨链数据验证方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。该电子设备即为前述验证载体,可以包括但不限于目标链中的区块链节点、中继节点、中继链中的区块链节点和目标链的可信节点。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的跨链数据验证方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的跨链数据验证方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的跨链数据验证方法对应的程序指令/模块(例如,附图5所示的查询请求发送模块501、待验证数据接收模块502和验证模块503.或者,附图6所示的查询请求获取模块601和待验证数据发送模块602)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的跨链数据验证方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储实现跨链数据验证方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至实现跨链数据验证方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现跨链数据验证方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与实现跨链数据验证方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,通过在跨链数据查询过程中,在待验证数据中携带查询请求标识和查询数据,并通过查询请求标识对查询数据加以验证,从而无需在验证载体中存储查询数据所在源链的区块头数据,减少了验证载体在进行跨链数据验证的数据存储量。同时,通过查询请求标识对查询数据进行验证替代默克尔验证机制,数据运算量小,提高了跨链数据验证的便捷度。另外,本申请对跨链数据验证过程无需依赖默克尔树的构建,因此对源链的组织结构没有特殊限制,提高了跨链数据验证的通用性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (30)
1.一种跨链数据验证方法,应用于验证载体,包括:
基于目标链的验证需求,向源链发送查询请求;
接收所述源链中的反馈节点基于所述查询请求反馈的待验证数据;所述待验证数据包括查询请求标识和查询数据;
根据所述查询请求标识对所述查询数据进行验证。
2.根据权利要求1所述的方法,其中,所述查询请求标识包括所述查询请求的反馈数字摘要、所述查询请求的反馈请求文本和所述查询请求的反馈时间戳中的至少一种。
3.根据权利要求2所述的方法,其中,若所述查询请求标识包括所述查询请求的反馈数字摘要,则所述根据所述查询请求标识对所述查询数据进行验证,包括:
确定所述查询请求的数字摘要作为标准数字摘要;
根据所述标准数字摘要和所述反馈数字摘要,对所述查询数据进行验证。
4.根据权利要求2所述的方法,其中,若所述查询请求标识包括所述查询请求的反馈请求文本,则所述根据所述查询请求标识对所述查询数据进行验证,包括:
根据所述查询请求关联的源查询请求和所述反馈请求文本,对所述查询数据进行验证;所述源查询请求由所述目标链中的区块链节点基于验证需求生成。
5.根据权利要求4所述的方法,其中,所述根据所述查询请求关联的源查询请求和所述反馈请求文本,对所述查询数据进行验证,包括:
根据所述目标链的请求规则,对所述反馈请求文本进行编码,得到待验证请求文本;若所述待验证请求文本与所述源查询请求相同,则对所述查询数据验证通过;或者,
根据所述源链的请求规则,对所述源查询请求进行编码,得到待验证请求文本;若所述待验证请求文本与所述反馈请求文本相同,则对所述查询数据验证通过。
6.根据权利要求2所述的方法,其中,若所述查询请求标识包括所述查询请求的反馈时间戳,则所述根据所述查询请求标识对所述查询数据进行验证,包括:
若所述反馈时间戳与所述查询请求的生成时间戳的时间差大于设定时间阈值,则对所述查询数据验证不通过。
7.根据权利要求1-6任一项所述的方法,其中,所述验证载体包括中继节点、所述目标链中的区块链节点、中继链中的区块链节点和所述目标链的可信节点中的至少一种。
8.根据权利要求1-6任一项所述的方法,其中,所述查询数据包括区块链基本数据和合约数据中的至少一种。
9.根据权利要求1-6任一项所述的方法,其中,所述源链和所述目标链属于同构区块链或异构区块链。
10.根据权利要求1-6任一项所述的方法,其中,所述方法还包括下述至少一种:
根据所述反馈节点的节点地址在所述源链的存在性,对所述查询数据进行验证;
对所述反馈节点的签名信息进行验签,并根据验签结果对所述查询数据进行验证;以及,
确定所述反馈节点数量是否满足所述源链的共识算法,并根据确定结果对所述查询数据进行验证。
11.一种跨链数据验证方法,应用于源链中的区块链节点,包括:
获取基于目标链的验证需求所发起的查询请求;
根据所述查询请求向验证载体发送包括查询请求标识和查询数据的待验证数据,以使所述验证载体根据所述查询请求标识对所述查询数据进行验证。
12.根据权利要求11所述的方法,其中,所述查询请求标识包括所述查询请求的反馈数字摘要、所述查询请求的反馈请求文本和所述查询请求的反馈时间戳中的至少一种。
13.根据权利要求11或12所述的方法,其中,所述查询数据包括区块链基本数据和合约数据中的至少一种。
14.根据权利要求11或12所述的方法,其中,所述源链和所述目标链属于同构区块链或异构区块链。
15.一种跨链数据验证装置,配置于验证载体,包括:
查询请求发送模块,用于基于目标链的验证需求,向源链发送查询请求;
待验证数据接收模块,用于接收所述源链中的反馈节点基于所述查询请求反馈的待验证数据;所述待验证数据包括查询请求标识和查询数据;
验证模块,用于根据所述查询请求标识对所述查询数据进行验证。
16.根据权利要求15所述的装置,其中,所述查询请求标识包括所述查询请求的反馈数字摘要、所述查询请求的反馈请求文本和所述查询请求的反馈时间戳中的至少一种。
17.根据权利要求16所述的装置,其中,若所述查询请求标识包括所述查询请求的反馈数字摘要,则所述验证模块,包括:
标准数字摘要确定单元,用于确定所述查询请求的数字摘要作为标准数字摘要;
数字摘要验证单元,用于根据所述标准数字摘要和所述反馈数字摘要,对所述查询数据进行验证。
18.根据权利要求16所述的装置,其中,若所述查询请求标识包括所述查询请求的反馈请求文本,则所述验证模块,包括:
请求文本验证单元,用于根据所述查询请求关联的源查询请求和所述反馈请求文本,对所述查询数据进行验证;所述源查询请求由所述目标链中的区块链节点基于验证需求生成。
19.根据权利要求18所述的装置,其中,所述请求文本验证单元,包括:
第一编码子单元,用于根据所述目标链的请求规则,对所述反馈请求文本进行编码,得到待验证请求文本;
第一请求文本验证子单元,用于若所述待验证请求文本与所述源查询请求相同,则对所述查询数据验证通过;
第二编码子单元,用于根据所述源链的请求规则,对所述源查询请求进行编码,得到待验证请求文本;
第二请求文本验证子单元,用于若所述待验证请求文本与所述反馈请求文本相同,则对所述查询数据验证通过。
20.根据权利要求16所述的装置,其中,若所述查询请求标识包括所述查询请求的反馈时间戳,则所述验证模块,包括:
时间戳验证单元,用于若所述反馈时间戳与所述查询请求的生成时间戳的时间差大于设定时间阈值,则对所述查询数据验证不通过。
21.根据权利要求15-20任一项所述的装置,其中,所述验证载体包括中继节点、所述目标链中的区块链节点、中继链中的区块链节点和所述目标链的可信节点中的至少一种。
22.根据权利要求15-20任一项所述的装置,其中,所述查询数据包括区块链基本数据和合约数据中的至少一种。
23.根据权利要求15-20任一项所述的装置,其中,所述源链和所述目标链属于同构区块链或异构区块链。
24.根据权利要求15-20任一项所述的装置,其中,所述验证模块,还包括下述至少一种:
节点地址验证子单元,用于根据所述反馈节点的节点地址在所述源链的存在性,对所述查询数据进行验证;
节点签名验证子单元,用于对所述反馈节点的签名信息进行验签,并根据验签结果对所述查询数据进行验证;以及,
共识算法验证子单元,用于确定所述反馈节点数量是否满足所述源链的共识算法,并根据确定结果对所述查询数据进行验证。
25.一种跨链数据验证装置,配置于源链中的区块链节点,包括:
查询请求获取模块,用于获取基于目标链的验证需求所发起的查询请求;
待验证数据发送模块,用于根据所述查询请求向验证载体发送包括查询请求标识和查询数据的待验证数据,以使所述验证载体根据所述查询请求标识对所述查询数据进行验证。
26.根据权利要求25所述的装置,其中,所述查询请求标识包括所述查询请求的反馈数字摘要、所述查询请求的反馈请求文本和所述查询请求的反馈时间戳中的至少一种。
27.根据权利要求25或26所述的装置,其中,所述查询数据包括区块链基本数据和合约数据中的至少一种。
28.根据权利要求25或26所述的装置,其中,所述源链和所述目标链属于同构区块链或异构区块链。
29.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任一项所述的一种跨链数据验证方法。
30.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-14中任一项所述的一种跨链数据验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011037312.1A CN111935318B (zh) | 2020-09-28 | 2020-09-28 | 跨链数据验证方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011037312.1A CN111935318B (zh) | 2020-09-28 | 2020-09-28 | 跨链数据验证方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111935318A true CN111935318A (zh) | 2020-11-13 |
CN111935318B CN111935318B (zh) | 2021-01-19 |
Family
ID=73333663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011037312.1A Active CN111935318B (zh) | 2020-09-28 | 2020-09-28 | 跨链数据验证方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111935318B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445841A (zh) * | 2020-11-17 | 2021-03-05 | 杭州趣链科技有限公司 | 账户查询方法、装置、***、服务器及介质 |
CN112529706A (zh) * | 2020-12-10 | 2021-03-19 | 浙商银行股份有限公司 | 一种去中心化异构公有链资产交换方法 |
CN112615915A (zh) * | 2020-12-10 | 2021-04-06 | 浙商银行股份有限公司 | 一种在私有链之间构建联盟链的方法 |
CN112650764A (zh) * | 2020-12-30 | 2021-04-13 | 北京百度网讯科技有限公司 | 跨链数据处理方法、装置、设备和存储介质 |
CN112669038A (zh) * | 2020-12-28 | 2021-04-16 | 杭州趣链科技有限公司 | 账户查询***、跨链网关 |
CN112667601A (zh) * | 2020-12-30 | 2021-04-16 | 杭州趣链科技有限公司 | 区块链标识的管理方法、终端设备及计算机可读存储介质 |
CN112783877A (zh) * | 2020-12-30 | 2021-05-11 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备和存储介质 |
CN114519078A (zh) * | 2022-04-19 | 2022-05-20 | 北京理工大学 | 一种基于区块链的跨链可信查询方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110035045A (zh) * | 2018-11-16 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 跨链数据的可信管理方法及装置、电子设备 |
CN110035046A (zh) * | 2018-11-16 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 跨区块链的交互*** |
US20190305966A1 (en) * | 2018-04-03 | 2019-10-03 | Alibaba Group Holding Limited | Cross-blockchain authentication method, apparatus, and electronic device |
CN110520884A (zh) * | 2018-12-13 | 2019-11-29 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的链外智能合约服务 |
-
2020
- 2020-09-28 CN CN202011037312.1A patent/CN111935318B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190305966A1 (en) * | 2018-04-03 | 2019-10-03 | Alibaba Group Holding Limited | Cross-blockchain authentication method, apparatus, and electronic device |
CN110035045A (zh) * | 2018-11-16 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 跨链数据的可信管理方法及装置、电子设备 |
CN110035046A (zh) * | 2018-11-16 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 跨区块链的交互*** |
CN110520884A (zh) * | 2018-12-13 | 2019-11-29 | 阿里巴巴集团控股有限公司 | 基于可信执行环境的链外智能合约服务 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445841A (zh) * | 2020-11-17 | 2021-03-05 | 杭州趣链科技有限公司 | 账户查询方法、装置、***、服务器及介质 |
CN112529706A (zh) * | 2020-12-10 | 2021-03-19 | 浙商银行股份有限公司 | 一种去中心化异构公有链资产交换方法 |
CN112615915A (zh) * | 2020-12-10 | 2021-04-06 | 浙商银行股份有限公司 | 一种在私有链之间构建联盟链的方法 |
CN112615915B (zh) * | 2020-12-10 | 2022-05-24 | 浙商银行股份有限公司 | 一种在私有链之间构建联盟链的方法 |
CN112529706B (zh) * | 2020-12-10 | 2024-04-09 | 浙商银行股份有限公司 | 一种去中心化异构公有链资产交换方法 |
CN112669038A (zh) * | 2020-12-28 | 2021-04-16 | 杭州趣链科技有限公司 | 账户查询***、跨链网关 |
CN112669038B (zh) * | 2020-12-28 | 2024-03-15 | 杭州趣链科技有限公司 | 账户查询***、跨链网关 |
CN112650764A (zh) * | 2020-12-30 | 2021-04-13 | 北京百度网讯科技有限公司 | 跨链数据处理方法、装置、设备和存储介质 |
CN112667601A (zh) * | 2020-12-30 | 2021-04-16 | 杭州趣链科技有限公司 | 区块链标识的管理方法、终端设备及计算机可读存储介质 |
CN112783877A (zh) * | 2020-12-30 | 2021-05-11 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备和存储介质 |
CN112783877B (zh) * | 2020-12-30 | 2024-06-07 | 北京百度网讯科技有限公司 | 跨链数据验证方法、装置、设备和存储介质 |
CN114519078A (zh) * | 2022-04-19 | 2022-05-20 | 北京理工大学 | 一种基于区块链的跨链可信查询方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111935318B (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935318B (zh) | 跨链数据验证方法、装置、设备及介质 | |
CN111769957B (zh) | 区块链跨链查询方法、装置、设备和存储介质 | |
JP7238006B2 (ja) | ブロックチェーンベースのデータ処理方法、装置、デバイス、記憶媒体、及びプログラム | |
CN111258725B (zh) | 一种基于区块链的数据处理方法、装置、设备和介质 | |
US10073916B2 (en) | Method and system for facilitating terminal identifiers | |
CN111163182B (zh) | 基于区块链的设备注册方法、装置、电子设备和存储介质 | |
US20210272108A1 (en) | Method and apparatus of processing deposit, and storage medium | |
CN112511505A (zh) | 一种鉴权***、方法、装置、设备和介质 | |
CN112101942A (zh) | 基于区块链的交易请求处理方法、***、装置及设备 | |
CN112182037B (zh) | 数据校验方法、装置、设备以及存储介质 | |
CN111552934A (zh) | 数据库访问方法以及装置 | |
CN112738294A (zh) | 基于区块链的域名解析方法、装置、电子设备和存储介质 | |
CN112527504A (zh) | 多租户的资源配额管理方法、装置、计算机设备 | |
US11990130B2 (en) | Method, apparatus, device and computer storage medium for processing voices | |
CN111639080A (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
JP2021192214A (ja) | アプリケーションの動作状態を検証する方法および装置 | |
WO2022142436A1 (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN110287049B (zh) | 数据处理方法、装置和存储介质 | |
CN114793244B (zh) | 一种区块链的资源处理方法、装置、设备和介质 | |
CN110765210B (zh) | 基于区块链的鉴权方法、装置、设备和介质 | |
US8572231B2 (en) | Variable-length nonce generation | |
CN113364821B (zh) | 一种功能服务访问方法、设备及存储介质 | |
CN111339571B (zh) | 一种区块链密钥管理方法、装置、设备和存储介质 | |
CN111371557A (zh) | 区块链数据处理方法、装置、电子设备及介质 | |
CN111737758A (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 |