[发明专利]一种基于区块链的跨链可信查询方法及系统有效
申请号: | 202210407404.7 | 申请日: | 2022-04-19 |
公开(公告)号: | CN114519078B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 文明;孙福辉;成雨蓉;王晓燕;张志威;张艺璐;袁野;张娴;王国仁 | 申请(专利权)人: | 北京理工大学;人民法院信息技术服务中心 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/2453;G06F21/62 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 贾磊;刘飞 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 可信 查询 方法 系统 | ||
1.一种基于区块链的跨链可信查询方法,其特征在于,所述方法包括,
将接收自查询链发送的查询请求转换为查询消息,所述查询消息中包括目标数据的关键值;
在对所述查询消息的共识验证结果为通过的情况下,将所述查询消息发送给被查询链,以使所述被查询链查询根据所述目标数据的关键值进行查询,得到查询响应,所述查询响应中包括查询到的所述目标数据;
接收所述被查询链发送的所述查询响应,在对所述查询响应的共识验证结果为通过的情况下,根据所述查询响应对所述目标数据进行验证;
当对所述目标数据的验证结果为通过的情况下,将所述目标数据发送给所述查询链;
所述查询响应还包括所述目标数据的哈希值以及验证路径,所述验证路径的结构为部分红黑树;
所述验证路径中包括所述被查询链的第二跨链索引库中多个节点,各节点中包括该节点的关键值以及该节点的哈希值;
根据所述查询响应对所述目标数据进行验证步骤包括,
步骤1:将所述目标数据的哈希值作为第一子节点哈希值;
步骤2:在所述验证路径中确定与所述第一子节点在同一层级的第二子节点;
步骤3:根据所述第一子节点的哈希值、第二子节点的哈希值以及第一子节点与第二子节点的父节点的关键值计算所述父节点的哈希值;
步骤4:若所述父节点不为根节点,则将所述父节点作为所述第一子节点,重复步骤2;
步骤5:若所述父节点为根节点,则判断所述根节点的哈希值与所述验证路径中根节点的哈希值是否相同,若相同,则所述目标数据验证通过。
2.根据权利要求1所述的基于区块链的跨链可信查询方法,其特征在于,将接收自查询链发送的查询请求转换为查询消息进一步包括,
确定所述查询请求中目标数据的名称对应的所述关键值;
将所述目标数据的名称替换为所述关键值,得到所述查询消息。
3.一种基于区块链的跨链可信查询方法,其特征在于,所述方法包括,
获取由中继链根据查询链发送的查询请求转换的查询消息,所述查询消息中包括目标数据的关键值;
根据所述目标数据的关键值在第一跨链索引库中确定所述目标数据的区块头信息;
根据所述区块头信息在第二跨链索引库中查找所述区块头信息对应的红黑树,并在所述红黑树中查找所述关键值对应的叶子节点的目标数据查询结果,并记录所述目标数据查询结果的验证路径,所述目标数据查询结果包括所述目标数据以及所述目标数据的哈希值;
将包括目标数据查询结果以及验证路径的查询响应发送给所述中继链,以使所述中继链在对所述查询响应进行验证通过后,将所述目标数据查询结果中的目标数据发送给所述查询链;
根据所述区块头信息在第二跨链索引库中查找所述区块头信息对应的红黑树,并在所述红黑树中查找所述关键值对应的叶子节点的目标数据查询结果进一步包括,
确定所述区块头信息对应的红黑树的根节点;
根据所述关键值和所述根节点对应的索引树中各节点的关键值的大小,确定查询路径,所述查询路径中任意一个子节点仅存在一个与该子节点对应的父节点;
将所述查询路径中的叶节点对应的数据作为所述目标数据查询结果;
所述第二跨链索引库的各节点中包括该节点的关键值以及该节点的哈希值;
所述第二跨链索引库中的叶节点的关键值与所述目标数据的关键值相同;
根据所述关键值和所述根节点对应的索引树中各节点的关键值的大小,确定所述查询路径的步骤包括,
步骤1:将所述根节点作为首级节点,将所述首级节点记录在所述查询路径中;
步骤2:比较所述目标数据的关键值与所述首级节点的关键值的大小;
步骤3:若所述目标数据的关键值大于所述首级节点的关键值,则将所述首级节点的右子树中所述首级节点的下一级子节点作为次级节点,按照所述次级节点与所述首级节点之间的层级关系将所述次级节点记录在所述查询路径中,并将所述次级节点作为所述首级节点,重复步骤2;
步骤4:若所述目标数据的关键值小于等于所述首级节点的关键值,则将所述首级节点的左子树中所述首级节点的下一级子节点作为次级节点,按照所述次级节点与所述首级节点之间的层级关系将所述次级节点记录在所述查询路径中,并将所述次级节点作为所述首级节点,重复步骤2;
步骤5:当所述首级节点不存在下一级子节点,且所述首级节点的关键值等于所述目标数据的关键值时,完成确定所述查询路径。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学;人民法院信息技术服务中心,未经北京理工大学;人民法院信息技术服务中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210407404.7/1.html,转载请声明来源钻瓜专利网。