CN112685791A - 一种去中心化的私有数据的存取与验证方案 - Google Patents
一种去中心化的私有数据的存取与验证方案 Download PDFInfo
- Publication number
- CN112685791A CN112685791A CN201910991114.XA CN201910991114A CN112685791A CN 112685791 A CN112685791 A CN 112685791A CN 201910991114 A CN201910991114 A CN 201910991114A CN 112685791 A CN112685791 A CN 112685791A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- tree
- hash
- nodes
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title claims abstract description 11
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出一种快速的私有数据的存取与验证方案。节点采用确保唯一性的扩展默克尔树来保存所需的键、值,同时获得相应的默克尔证明。通过区块链系统存储该默克尔树的根哈希,可以有效地验证键、值存证的正确性和唯一性。
Description
技术领域
本发明涉及去中心化的系统包括区块链和其他分布式系统,具体来说是一种去中心化的私有数据的存取与验证方案。
背景技术
区块链由于有不可篡改的特性,可以广泛用于溯源、存证等应用。通常的做法是在区块链上保存某个存储数据集合的哈希。可以在需要的时候公布这个数据集合,以验证这个数据集合在确定的区块链中的位置被存储。但是这样的方案速度慢、运算复杂,成本比较高。
发明内容
本发明由以下几部分组成:
一种去中心化的私有数据的存取与验证方案,包括:
网络节点以确保唯一性的扩展默克尔树方式存储的本地数据集;
所述本地数据集的根哈希存储于区块链系统;
所述本地数据集的添加、删除、更新、管理等操作更新所述默克尔树,更新后的默克尔树的新的根哈希也存储于区块链系统;
所述节点对符合要求的数据请求提供数据以及默克尔证明。
一种去中心化的私有数据快速的存取与验证方案,其特征是:
采用上述的私有数据的存取与验证方案;
增加本地额外的数据库,可以存储条目,包含私有数据的键、值、键值所对应的默克尔证明;
对私有数据的添加、删除、更新、管理等操作同时也更新所述额外数据库中的条目;
对符合要求的数据请求可以从所述额外的数据库中直接获得,并返回。
上述确保唯一性扩展默克尔树存储方案,其特征是:
以存储数据的键排序的默克尔树;
非叶节点包含子节点的最小键、最大键,以及子节点组合的哈希;
同属一个父节点的两个叶节点分别存储数据的键、值对;
所述叶节点的父节点最小键与最大键都对应于所述叶节点的键。
上述确保唯一性扩展默克尔树存储备选方案,其特征是:
以存储数据的键排序的默克尔树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上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希。
上述方案中,数据请求方可以通过区块链发送交易来递交符合要求的数据请求。
上述方案中,根哈希可以存储于一个或者多个区块链系统。
上述方案中,数据的值可以是另外一个默克尔树的根哈希,可以嵌套一个或多个默克尔树。
上述的网络节点,其特征是:
网络接口;存储器;和耦合网络接口和存储器的处理器;
处理器配置为:
通过网络接口接收与区块链系统相关的交易信息;
递交本地存储的更新的根哈希到区块链系统;
递交对其他节点的数据请求;
接受其他节点的数据请求,并验证请求合法性;
返回数据请求以及默克尔证明。
本发明的优点是可以将大量的私有数据的更新集合归结到一个根哈希,这样,可以将这个根哈希已非常廉价的方式记入到多个区块链系统中。用户可以快速的获得数据存证有效性的验证,也可以通过键访问获得唯一的可以验证的值。
Claims (10)
1.一种去中心化的私有数据的存取与验证方案,包括:
网络节点以确保唯一性的扩展默克尔树方式存储的本地数据集;
所述本地数据集的根哈希存储于区块链系统;
所述本地数据集的添加、删除、更新、管理等操作更新所述默克尔树,更新后的默克尔树的新的根哈希也存储于区块链系统;
所述节点对符合要求的数据请求提供数据以及默克尔证明。
2.一种去中心化的私有数据快速的存取与验证方案,其特征是:
采用权利要求1的私有数据的存取与验证方案;
增加本地额外的数据库,可以存储条目,包含私有数据的键、值、键值所对应的默克尔证明;
对私有数据的添加、删除、更新、管理等操作同时也更新所述额外数据库中的条目;
对符合要求的数据请求可以从所述额外的数据库中直接获得,并返回。
3.根据权利要求1所述唯一性扩展默克尔树存储方案,其特征是:
以存储数据的键排序的默克尔树;
非叶节点包含子节点的最小键、最大键,以及子节点组合的哈希;
同属一个父节点的两个叶节点分别存储数据的键、值对;
所述叶节点的父节点最小键与最大键都对应于所述叶节点的键。
4.根据权利要求1所述唯一性扩展默克尔树存储备选方案,其特征是:
以存储数据的键排序的默克尔树1;
树1的非叶节点包含子节点的最小键、最大键,以及子节点组合的哈希;
以存储数据的值排序的默克尔树2;
树2的非叶节点包含子节点的最小值、最大值,以及子节点组合的哈希;
树1的叶节点包含存储数据的键,关联对应的树2的叶节点包含存储数据的值。
5.根据权利要求1所述默克尔证明在权利要求3所述的默克尔树存储方案的实现,包括:
数据请求的键、值对;
所述键、值对的父节点对应的哈希;
所述父节点的兄弟节点对应的哈希;
所述父节点沿默克尔树上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希。
6.根据权利要求1所述默克尔证明在权利要求4所述的默克尔树存储方案的实现,包括:
数据请求的键、值对;
所述键对应的树1的父节点对应的哈希;
所述父节点的兄弟节点对应的哈希;
所述父节点沿默克尔树1上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希;
所述值对应的树2的父节点对应的哈希;
所述父节点的兄弟节点对应的哈希;
所述父节点沿默克尔树2上溯到根节点的路径上所有节点的哈希以及其兄弟节点对应的哈希。
7.根据权利要求1、2所述的私有数据存取与验证方案,其特征是:
数据请求方可以通过区块链发送交易来递交符合要求的数据请求。
8.根据权利要求1、2所述的区块链系统,其特征是:
根哈希可以存储于一个或者多个区块链系统。
9.根据权利要求1、2所述的私有数据存取与验证方案,其特征是:
数据的值可以是另外一个默克尔树的根哈希,可以嵌套一个或多个默克尔树。
10.根据权利要求1所述的网络节点,其特征是:
网络接口;存储器;和耦合网络接口和存储器的处理器;
处理器配置为:
通过网络接口接收与区块链系统相关的交易信息;
递交本地存储的更新的根哈希到区块链系统;
递交对其他节点的数据请求;
接受其他节点的数据请求,并验证请求合法性;
返回数据请求以及默克尔证明。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910991114.XA CN112685791A (zh) | 2019-10-18 | 2019-10-18 | 一种去中心化的私有数据的存取与验证方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910991114.XA CN112685791A (zh) | 2019-10-18 | 2019-10-18 | 一种去中心化的私有数据的存取与验证方案 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112685791A true CN112685791A (zh) | 2021-04-20 |
Family
ID=75444751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910991114.XA Pending CN112685791A (zh) | 2019-10-18 | 2019-10-18 | 一种去中心化的私有数据的存取与验证方案 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112685791A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733710A (zh) * | 2017-04-21 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 外包数据查询验证的方法、装置、电子设备和可读介质 |
CN109559234A (zh) * | 2019-01-31 | 2019-04-02 | 杭州复杂美科技有限公司 | 一种区块链状态数据的存储方法、设备和存储介质 |
CN109889505A (zh) * | 2019-01-23 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据持有性验证方法及终端设备 |
CN110321735A (zh) * | 2019-04-29 | 2019-10-11 | 山东工商学院 | 基于零知识证明的业务办理方法、系统及存储介质 |
-
2019
- 2019-10-18 CN CN201910991114.XA patent/CN112685791A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733710A (zh) * | 2017-04-21 | 2018-11-02 | 北京京东尚科信息技术有限公司 | 外包数据查询验证的方法、装置、电子设备和可读介质 |
CN109889505A (zh) * | 2019-01-23 | 2019-06-14 | 平安科技(深圳)有限公司 | 数据持有性验证方法及终端设备 |
CN109559234A (zh) * | 2019-01-31 | 2019-04-02 | 杭州复杂美科技有限公司 | 一种区块链状态数据的存储方法、设备和存储介质 |
CN110321735A (zh) * | 2019-04-29 | 2019-10-11 | 山东工商学院 | 基于零知识证明的业务办理方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110958117B (zh) | 支持零知识证明的区块链的互操作性 | |
CN110275884B (zh) | 数据存储方法及节点 | |
CN109791591B (zh) | 经由区块链进行身份和凭证保护及核实的方法和系统 | |
CN108898390B (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
US10230526B2 (en) | Out-of-band validation of domain name system records | |
US9965644B2 (en) | Record level data security | |
KR20190079324A (ko) | 블록체인 시스템을 이용한 데이터베이스의 무결성 강화 방법 및 시스템 | |
US11373175B2 (en) | Method and system for linkage of blockchain private keys | |
US20200226113A1 (en) | Pruning of authentication trees | |
GB2593097A (en) | Cryptographic verification of database transactions | |
CN110036381B (zh) | 存储器内数据搜索技术 | |
KR20190130933A (ko) | 블록체인 기반의 데이터 구성 방법 및 장치 | |
CN110928923A (zh) | 一种基于区块链的数据存储方法及系统 | |
CN101464902B (zh) | 一种外包数据库查询结果验证方法及其系统 | |
CN111352938A (zh) | 数据处理方法、计算机设备及存储介质 | |
CN112685791A (zh) | 一种去中心化的私有数据的存取与验证方案 | |
CN112148728A (zh) | 用于信息处理的方法、设备和计算机程序产品 | |
CN114048219A (zh) | 图数据库更新方法及装置 | |
CN113760909A (zh) | 一种基于utxo跨链事务及验证的方法和系统 | |
CN112765154A (zh) | 一种海量信息的区块链验证方案 | |
CN107025300B (zh) | 一种数据查询的方法及装置 | |
WO2023160040A1 (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US10726049B2 (en) | Obtaining blockchain data in stages | |
US20040158564A1 (en) | System and method for facilitating information transformations | |
CN112653767B (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 |