一种可信前置链上数据查询方法和系统技术方案

技术编号:25988959 阅读:26 留言:0更新日期:2020-10-20 18:56
本发明专利技术涉及一种可信前置链上数据查询方法和系统。在该方法和系统中,区块链前置采用可信密钥对中的可信私钥对数据请求方生成的数据查询请求进行签名,并将带有签名的数据查询请求发送给区块链节点;区块链节点根据可信密钥对验证带有签名的数据查询请求,若验证通过,则根据数据查询请求调取链上数据,并采用可信密钥对对所调取的链上数据进行签名,将签名后的链上数据发送给区块链前置;区块链前置采用可信密钥对对接收到的链上数据进行二次签名,并将二次签名后的链上数据发送给数据请求方,以使得返回的链上数据同时具有可信前置的签名和区块链节点的签名,进而保证数据在链上到区块链前置的路径上的可信性(不可篡改性)。

【技术实现步骤摘要】
一种可信前置链上数据查询方法和系统
本专利技术涉及区块链数据管理领域,特别是涉及一种可信前置链上数据查询方法和系统。
技术介绍
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。区块链架构设计上一般都包含基础交互接口,这些接口用于区块链系统管理、发送交易和区块链数据查询。区块链前置一般独立于区块链存在。因此无法保证区块链前置提供接口的数据可信性。在区块链架构的设计上,一般都包含基础交互接口,这些接口用于区块链系统管理、发送交易和区块链数据查询。区块链前置一般独立于区块链存在,属于相对独立的服务,其用于触发对于区块链系统的管理、建立交易并对交易签名和查询并缓存区块链数据。在对于链上数据有实时查询需求的场景下,底层区块链接口提供的逐个区块查询的机制显然无法满足实时查询的性能需求,于是在此场景下的区块链数据获取不可避免的会使用区块链前置。由于区块链前置的独立性,使得区块链前置所提供的数据不具备可信性。因此,如何使区块链前置提供的数据具备可信性,是当前区块链前置系统亟待解决的一个技术难题。
技术实现思路
本专利技术的目的是提供一种可信前置链上数据查询方法和系统,以解决现有技术中存在的区块链前置提供的数据不具备可信性的问题。为实现上述目的,本专利技术提供了如下方案:一种可信前置链上数据查询方法,包括:数据请求方、区块链前置和区块链节点均向可信第三方获取可信密钥对;所述数据请求方生成数据查询请求,并将所述数据查询请求发送给所述区块链前置;所述区块链前置采用所述可信密钥对中的可信私钥对所述数据查询请求进行签名,并将带有签名的所述数据查询请求发送给所述区块链节点;所述区块链节点根据所述可信密钥对验证带有签名的所述数据查询请求,若验证通过,则根据所述数据查询请求调取链上数据,并采用所述可信密钥对对所调取的链上数据进行签名,将签名后的所述链上数据发送给所述区块链前置;所述区块链前置接收到带有签名的链上数据后,采用所述可信密钥对对所述链上数据进行二次签名,并将二次签名后的所述链上数据发送给所述数据请求方;所述数据请求方采用所述可信密钥对对具有签名的所述链上数据进行解密,得到查询数据。优选的,在所述区块链前置接收到带有签名的链上数据后,采用所述可信密钥对对所述链上数据进行二次签名,并将二次签名后的所述链上数据发送给所述数据请求方之后,还包括:所述数据请求方将所述二次签名后的所述链上数据发送给所述可信第三方;所述可信第三方采用所述可信密钥对中的可信公钥验证所述链上数据的签名的合法性,验证通过后,所述可信第三方将验证结果返回给所述数据请求方。优选的,在所述可信第三方采用所述可信密钥对中的可信公钥验证所述链上数据的签名的合法性的过程中,所述可信第三方采用数据验证合约与所述区块链节点进行数据交互;所述区块链节点采用数据查询合约与所述区块链前置进行数据交互。优选的,在所述区块链节点根据所述可信密钥对验证带有签名的所述数据查询请求的同时,所述区块链节点生成查询数据的操作日记。一种可信前置链上数据查询系统,包括:可信密钥对获取模块,用于数据请求方、区块链前置和区块链节点均向可信第三方获取可信密钥对;数据查询请求生成和发送模块,用于所述数据请求方生成数据查询请求,并将所述数据查询请求发送给所述区块链前置;数据查询请求签名和发送模块,用于所述区块链前置采用所述可信密钥对中的可信私钥对所述数据查询请求进行签名,并将带有签名的所述数据查询请求发送给所述区块链节点;链上数据查询和发送模块,用于所述区块链节点根据所述可信密钥对验证带有签名的所述数据查询请求,若验证通过,则根据所述数据查询请求调取链上数据,并采用所述可信密钥对对所调取的链上数据进行签名,将签名后的所述链上数据发送给所述区块链前置;链上数据签名和发送模块,用于所述区块链前置接收到带有签名的链上数据后,采用所述可信密钥对对所述链上数据进行二次签名,并将二次签名后的所述链上数据发送给所述数据请求方;数据查询模块,用于所述数据请求方采用所述可信密钥对对具有签名的所述链上数据进行解密,得到查询数据。优选的,还包括:二次签名数据发送模块,用于所述数据请求方将所述二次签名后的所述链上数据发送给所述可信第三方;链上数据验证模块,用于所述可信第三方采用所述可信密钥对中的可信公钥验证所述链上数据的签名的合法性,验证通过后,所述可信第三方将验证结果返回给所述数据请求方。优选的,所述链上数据验证模块包括:数据交互单元,用于在所述可信第三方采用所述可信密钥对中的可信公钥验证所述链上数据的签名的合法性的过程中,所述可信第三方采用数据验证合约与所述区块链节点进行数据交互;所述区块链节点采用数据查询合约与所述区块链前置进行数据交互。优选的,所述链上数据查询和发送模块包括:操作日记生成单元,用于在所述区块链节点根据所述可信密钥对验证带有签名的所述数据查询请求的同时,所述区块链节点生成查询数据的操作日记。根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:在本专利技术提供的可信前置链上数据查询方法和系统中,区块链前置采用可信密钥对中的可信私钥对数据请求方生成的数据查询请求进行签名,并将带有签名的数据查询请求发送给区块链节点;区块链节点根据可信密钥对验证带有签名的数据查询请求,若验证通过,则根据数据查询请求调取链上数据,并采用可信密钥对对所调取的链上数据进行签名,将签名后的链上数据发送给区块链前置;区块链前置采用可信密钥对对接收到的链上数据进行二次签名,并将二次签名后的链上数据发送给数据请求方,以使得返回的链上数据同时具有可信前置的签名和区块链节点的签名,进而保证数据在链上到区块链前置的路径上的可信性(不可篡改性)。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的可信前置链上数据查询方法的流程图;图2为本专利技术实施例中系统参与者间数据传输流程图;图3为本专利技术实施例中的数据交互流程图;图4为本专利技术实施例中可信第三方的平台结构示意图;图5为本专利技术提供的可信前置链上数据查询系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的目的是提供一种可信前置链上数据查询方法和系统,以解决现有技术中存在的本文档来自技高网...

【技术保护点】
1.一种可信前置链上数据查询方法,其特征在于,包括:/n数据请求方、区块链前置和区块链节点均向可信第三方获取可信密钥对;/n所述数据请求方生成数据查询请求,并将所述数据查询请求发送给所述区块链前置;/n所述区块链前置采用所述可信密钥对中的可信私钥对所述数据查询请求进行签名,并将带有签名的所述数据查询请求发送给所述区块链节点;/n所述区块链节点根据所述可信密钥对验证带有签名的所述数据查询请求,若验证通过,则根据所述数据查询请求调取链上数据,并采用所述可信密钥对对所调取的链上数据进行签名,将签名后的所述链上数据发送给所述区块链前置;/n所述区块链前置接收到带有签名的链上数据后,采用所述可信密钥对对所述链上数据进行二次签名,并将二次签名后的所述链上数据发送给所述数据请求方;/n所述数据请求方采用所述可信密钥对对具有签名的所述链上数据进行解密,得到查询数据。/n

【技术特征摘要】
1.一种可信前置链上数据查询方法,其特征在于,包括:
数据请求方、区块链前置和区块链节点均向可信第三方获取可信密钥对;
所述数据请求方生成数据查询请求,并将所述数据查询请求发送给所述区块链前置;
所述区块链前置采用所述可信密钥对中的可信私钥对所述数据查询请求进行签名,并将带有签名的所述数据查询请求发送给所述区块链节点;
所述区块链节点根据所述可信密钥对验证带有签名的所述数据查询请求,若验证通过,则根据所述数据查询请求调取链上数据,并采用所述可信密钥对对所调取的链上数据进行签名,将签名后的所述链上数据发送给所述区块链前置;
所述区块链前置接收到带有签名的链上数据后,采用所述可信密钥对对所述链上数据进行二次签名,并将二次签名后的所述链上数据发送给所述数据请求方;
所述数据请求方采用所述可信密钥对对具有签名的所述链上数据进行解密,得到查询数据。


2.根据权利要求1所述的可信前置链上数据查询方法,其特征在于,在所述区块链前置接收到带有签名的链上数据后,采用所述可信密钥对对所述链上数据进行二次签名,并将二次签名后的所述链上数据发送给所述数据请求方之后,还包括:
所述数据请求方将所述二次签名后的所述链上数据发送给所述可信第三方;
所述可信第三方采用所述可信密钥对中的可信公钥验证所述链上数据的签名的合法性,验证通过后,所述可信第三方将验证结果返回给所述数据请求方。


3.根据权利要求2所述的可信前置链上数据查询方法,其特征在于,在所述可信第三方采用所述可信密钥对中的可信公钥验证所述链上数据的签名的合法性的过程中,所述可信第三方采用数据验证合约与所述区块链节点进行数据交互;所述区块链节点采用数据查询合约与所述区块链前置进行数据交互。


4.根据权利要求1所述的可信前置链上数据查询方法,其特征在于,在所述区块链节点根据所述可信密钥对验证带有签名的所述数据查询请求的同时,所述区块链节点生成查询数据的操作日记。


5.一种可信前置链上数据查询系统,其特征在于,包括:
可信密钥对获取模块...

【专利技术属性】
技术研发人员:王凯
申请(专利权)人:北京荷月科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1