掌桥专利:专业的专利平台
掌桥专利
首页

一种去中心化的私有数据的存取与验证方案

文献发布时间:2023-06-19 10:41:48



技术领域

本发明涉及去中心化的系统包括区块链和其他分布式系统,具体来说是一种去中心化的私有数据的存取与验证方案。

背景技术

区块链由于有不可篡改的特性,可以广泛用于溯源、存证等应用。通常的做法是在区块链上保存某个存储数据集合的哈希。可以在需要的时候公布这个数据集合,以验证这个数据集合在确定的区块链中的位置被存储。但是这样的方案速度慢、运算复杂,成本比较高。

发明内容

本发明由以下几部分组成:

一种去中心化的私有数据的存取与验证方案,包括:

网络节点以确保唯一性的扩展默克尔树方式存储的本地数据集;

所述本地数据集的根哈希存储于区块链系统;

所述本地数据集的添加、删除、更新、管理等操作更新所述默克尔树,更新后的默克尔树的新的根哈希也存储于区块链系统;

所述节点对符合要求的数据请求提供数据以及默克尔证明。

一种去中心化的私有数据快速的存取与验证方案,其特征是:

采用上述的私有数据的存取与验证方案;

增加本地额外的数据库,可以存储条目,包含私有数据的键、值、键值所对应的默克尔证明;

对私有数据的添加、删除、更新、管理等操作同时也更新所述额外数据库中的条目;

对符合要求的数据请求可以从所述额外的数据库中直接获得,并返回。

上述确保唯一性扩展默克尔树存储方案,其特征是:

以存储数据的键排序的默克尔树;

非叶节点包含子节点的最小键、最大键,以及子节点组合的哈希;

同属一个父节点的两个叶节点分别存储数据的键、值对;

所述叶节点的父节点最小键与最大键都对应于所述叶节点的键。

上述确保唯一性扩展默克尔树存储备选方案,其特征是:

以存储数据的键排序的默克尔树1;

树1的非叶节点包含子节点的最小键、最大键,以及子节点组合的哈希;

以存储数据的值排序的默克尔树2;

树2的非叶节点包含子节点的最小值、最大值,以及子节点组合的哈希;

树1的叶节点包含存储数据的键,关联对应的树2的叶节点包含存储数据的值。

上述默克尔证明在默克尔树存储方案的实现,包括:

数据请求的键、值对;

所述键、值对的父节点对应的哈希;

所述父节点的兄弟节点对应的哈希;

所述父节点沿默克尔树上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希。

上述默克尔证明在默克尔树存储备选方案的实现,包括:

数据请求的键、值对;

所述键对应的树1的父节点对应的哈希;

所述父节点的兄弟节点对应的哈希;

所述父节点沿默克尔树1上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希;

所述值对应的树2的父节点对应的哈希;

所述父节点的兄弟节点对应的哈希;

所述父节点沿默克尔树2上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希。

上述方案中,数据请求方可以通过区块链发送交易来递交符合要求的数据请求。

上述方案中,根哈希可以存储于一个或者多个区块链系统。

上述方案中,数据的值可以是另外一个默克尔树的根哈希,可以嵌套一个或多个默克尔树。

上述的网络节点,其特征是:

网络接口;存储器;和耦合网络接口和存储器的处理器;

处理器配置为:

通过网络接口接收与区块链系统相关的交易信息;

递交本地存储的更新的根哈希到区块链系统;

递交对其他节点的数据请求;

接受其他节点的数据请求,并验证请求合法性;

返回数据请求以及默克尔证明。

附图说明

附图1中显示的是确保唯一性的扩展默克尔树的一个实例。101是根哈希,它是对它的子节点102、103的信息组合的哈希,同时存有子节点的排序最小值、最大值。根哈希的信息可以表示为{ min,max,hash(child1,child2,…,childn) }。同样地,节点102、103是其子节点的信息组合的哈希。不失一般性,假设节点102是两个叶节点104、105的父节点。104存储所需存储数据的键k,105存储所需存储数据的值v。节点102需要做一个特殊处理,其信息可以表示为:{k,k,hash(k,v)}。这里节点102 的排序的最小、最大值都是k。这样,(k,v)的默克尔证明就是(k,v)+[104,105,102,103,101]。

具体实施形式

默克尔树广泛用于区块链系统中,用于证明某些交易包含在区块链中,并可以快速验证。通常的默克尔树存储的数据都是公开的,因此只需要对默克尔树更新的交易进行验证即可。对于私有数据,也可以用默克尔树来证明数据的存在,但是由于遍历默克尔树不是公开的,因此,对某个数据的唯一性无法验证。排序的默克尔树可以对存储的值进行唯一性确认。

本发明是一个快速的私有数据存取与验证的系统。首先,在排序的默克尔树的基础上,对树的叶节点进行创新扩展。采用独特的键、值的存储逻辑,以及叶节点的父节点的存储做特殊处理,可以在扩展的默克尔树中存取唯一性的键、值。此外,可以增加一个额外的数据处理系统,缓存每次更新数据之后的键、值、默克尔证明。这样,可以提供一个快速的私有数据存取以及验证的系统。

具体来讲,一种去中心化的私有数据的存取与验证方案,包括:

网络节点以确保唯一性的扩展默克尔树方式存储的本地数据集;

所述本地数据集的根哈希存储于区块链系统;

所述本地数据集的添加、删除、更新、管理等操作更新所述默克尔树,更新后的默克尔树的新的根哈希也存储于区块链系统;

所述节点对符合要求的数据请求提供数据以及默克尔证明。

由此可以派生一种去中心化的私有数据快速的存取与验证方案,其特征是:

采用上述的私有数据的存取与验证方案;

增加本地额外的数据库,可以存储条目,包含私有数据的键、值、键值所对应的默克尔证明;

对私有数据的添加、删除、更新、管理等操作同时也更新所述额外数据库中的条目;

对符合要求的数据请求可以从所述额外的数据库中直接获得,并返回。

上述确保唯一性扩展默克尔树存储方案,其特征是:

以存储数据的键排序的默克尔树;

非叶节点包含子节点的最小键、最大键,以及子节点组合的哈希;

同属一个父节点的两个叶节点分别存储数据的键、值对;

所述叶节点的父节点最小键与最大键都对应于所述叶节点的键。

上述确保唯一性扩展默克尔树存储备选方案,其特征是:

以存储数据的键排序的默克尔树1;

树1的非叶节点包含子节点的最小键、最大键,以及子节点组合的哈希;

以存储数据的值排序的默克尔树2;

树2的非叶节点包含子节点的最小值、最大值,以及子节点组合的哈希;

树1的叶节点包含存储数据的键,关联对应的树2的叶节点包含存储数据的值。

上述默克尔证明在默克尔树存储方案的实现,包括:

数据请求的键、值对;

所述键、值对的父节点对应的哈希;

所述父节点的兄弟节点对应的哈希;

所述父节点沿默克尔树上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希。

上述默克尔证明在默克尔树存储备选方案的实现,包括:

数据请求的键、值对;

所述键对应的树1的父节点对应的哈希;

所述父节点的兄弟节点对应的哈希;

所述父节点沿默克尔树1上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希;

所述值对应的树2的父节点对应的哈希;

所述父节点的兄弟节点对应的哈希;

所述父节点沿默克尔树2上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希。

上述方案中,数据请求方可以通过区块链发送交易来递交符合要求的数据请求。

上述方案中,根哈希可以存储于一个或者多个区块链系统。

上述方案中,数据的值可以是另外一个默克尔树的根哈希,可以嵌套一个或多个默克尔树。

上述的网络节点,其特征是:

网络接口;存储器;和耦合网络接口和存储器的处理器;

处理器配置为:

通过网络接口接收与区块链系统相关的交易信息;

递交本地存储的更新的根哈希到区块链系统;

递交对其他节点的数据请求;

接受其他节点的数据请求,并验证请求合法性;

返回数据请求以及默克尔证明。

本发明的优点是可以将大量的私有数据的更新集合归结到一个根哈希,这样,可以将这个根哈希已非常廉价的方式记入到多个区块链系统中。用户可以快速的获得数据存证有效性的验证,也可以通过键访问获得唯一的可以验证的值。

相关技术
  • 一种去中心化的私有数据的存取与验证方案
  • 去中心化的数据验证及数据安全交易系统及方法
技术分类

06120112640570