[发明专利]一种区块链数据高效可信索引方法在审
申请号: | 202111222418.3 | 申请日: | 2021-10-20 |
公开(公告)号: | CN114020737A | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 李强;李昕欣 | 申请(专利权)人: | 大连理工江苏研究院有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/2458;G06F21/62 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 梅洪玉 |
地址: | 213164 江苏省常*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 数据 高效 可信 索引 方法 | ||
1.一种区块链数据高效可信索引方法,其特征在于:该方法包括以下步骤:
步骤一:区块链网络中的普通节点产生由关键字标识的数据记录;
步骤二:区块链网络中的存储节点收集一段时间内网络中所述普通节点产生的由关键字标识的所述数据记录,验证数据后将其打包成区块,形成新区块,并将所述新区块广播给全网存储节点进行共识验证;
步骤三:各存储节点根据共识验证通过后的所述新区块更新索引,并将所述新区块存储;
步骤四:根据关键字查询区块链中存储的关键字标识的所述数据记录,若记录存在,则返回最新版本关键字数据记录具体信息及存在性验证路径;若记录不存在,则返回Null及不存在验证路径;
步骤五:普通用户节点收到查询结果后进行可信验证。
2.根据权利要求1所述的区块链数据高效可信索引方法,其特征在于:
所述步骤一具体包括:
1-1:生成默认权限信息,包括数据生成时间戳,数据所有者的数据所有者公钥;
1-2:关键字标识的数据记录包括Key值,指定所述数据记录标识的Key值及其数据前驱,若该所述关键字是第一次出现,则数据前驱为Null,否则数据前驱为该关键字所对应的最新版本记录哈希值;
1-3:指定所述数据记录各字段具体内容;
1-4:所述普通节点将生成的所述数据记录用私钥签名为ScriptSig后发布到所述区块链网络中。
3.根据权利要求2所述的区块链数据高效可信索引方法,其特征在于:
所述步骤二具体包括:
2-1:存储节点收集一段时间内所述区块链网络中由所述普通节点产生的关键字标识的数据记录;
2-2:所述存储节点对收集的所述关键字标识的所述数据记录进行验证,包括权限验证和正确性验证,所述权限验证检查数据记录中数据所有者的所述数据所有者公钥名称与ScriptSig是否匹配,权限匹配则通过,权限不匹配则不通过;所述正确性验证检查数据前驱中指向的所述关键字标识的所述数据记录是否存在,且两者Key值是否相同,所述权限验证和正确性验证中有任意一项不通过,则必须将该条数据记录丢弃;
2-3:将验证通过后的关键字标识的所述数据记录集合打包进区块,形成新区块,并将新区块广播给全网存储节点进行共识验证。
4.根据权利要求3所述的区块链数据高效可信索引方法,其特征在于:
所述步骤三具体包括:具体包括:
3-1:各存储节点为共识验证通过后的有效的所述新区块构建块内索引,构建规则为MPT结构,以数据记录的Key值为关键字构建块内索引,最后将最新的块内索引根节点添加到区块头中完成块内索引构建;
3-2:以数据记录的Key值为关键字进行全局区块索引更新,更新规则以区块为单位采用新建分支方式进行以节省存储空间,首先由每个Key值在当前最新的所述全局区块索引树中锁定目标叶节点,并将所述叶节点中最后的块内索引根节点域设置为新区块中的块内索引根节点,即完成指向目标区块的索引,最后将构建完成后的全局区块索引根节点添加到所述新区块头中完成所述全局区块索引更新,所述叶节点为全局区块索引树中最底层的节点,存储具体索引信息;
3-3:将所述新区块存储。
5.根据权利要求4所述的区块链数据高效可信索引方法,其特征在于:
所述步骤四具体包括:具体包括:
4-1:从所述新区块中获取到当前最新的全局区块索引根节点,沿所述全局区块索引根节点以Key值为关键字检索,检索过程中将检索路径保存,若目标叶节点不存在,则返回Null及在全局区块索引树中的检索路径,表示不存在证明路径并结束检索过程;若目标叶节点存在,则从所述叶节点中获取到该关键字记录最新版本所在区块中的块内索引根节点值,同时将此时全局区块索引检索路径清空;
4-2:沿所述4-1中获取到的块内索引根节点值开始,以Key值为关键字对目标区块进行区块内检索,并将区块内检索路径保存于path中用于数据存在性证明,最后检索到目标数据哈希值;
4-3:根据目标数据哈希值到K-V数据库中取出目标数据的具体信息,将其与4-2中得到的区块内检索路径保存的path一起返回。
6.根据权利要求5所述的区块链数据高效可信索引方法,其特征在于:
所述步骤五具体包括:具体包括:
5-1:首先判断收到的查询结果类型,若所述目标数据存在,则为查询存在类型,若为Null,则为查询不存在类型;
5-2:若为查询不存在类型,则进行数据不存在验证,根据返回的不存在证明路径,从全局区块索引根节点开始,首先计算所述全局区块索引根节点的哈希值并与最新区块头中全局区块索引根节点比较是否一致,一致则依次向下进行验证,主要验证查询目标Key值与该路径上节点前缀值是否匹配,路径上各节点对应哈希值是否正确,最后验证路径末节点中与目标关键字匹配的指向叶节点的域值是否为空,以上条件均验证通过则证明该全局区块索引检索分支有效,查询目标关键字所对应数据确实不存在,完成不存在证明过程;
5-3:若为查询存在类型,则进行数据存在性验证,根据返回的存在证明路径,自底向上依次计算各节点哈希值,最后计算出一个根哈希值,将此根哈希值与目标区块中块内索引根节点比较,一致则验证通过,证明目标关键字所对应的目标数据确实存在,完成数据存在性证明过程,所述根哈希值由各个节点哈希值计算得出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工江苏研究院有限公司,未经大连理工江苏研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111222418.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置