CN110750541B - 一种基于区块链的数据存储索引系统及方法 - Google Patents
一种基于区块链的数据存储索引系统及方法 Download PDFInfo
- Publication number
- CN110750541B CN110750541B CN201910993462.0A CN201910993462A CN110750541B CN 110750541 B CN110750541 B CN 110750541B CN 201910993462 A CN201910993462 A CN 201910993462A CN 110750541 B CN110750541 B CN 110750541B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- index
- data storage
- public key
- 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.)
- Active
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 44
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012795 verification Methods 0.000 claims description 21
- 239000000284 extract Substances 0.000 claims description 4
- 230000035945 sensitivity Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Power Engineering (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
一种基于区块链的数据存储索引系统及方法。系统包括数据存储索引系统包括数据存储索引模块以及共识模块。本发明提供了基于区块链的数据存储索引系统及方法具有以下有益效果:基于元数据建立索引,并通过区块链来公开发布的方式,区块链不仅可以有效保证发布的数据索引无法被篡改,而且所用的存储索引智能合约可为数据发布提供高效安全的自动执行机制。通过本发明提供的系统及方法,可以缓解现有数据共享过程中第三方可能泄露数据,数据提供节点失去对数据的绝对控制权、数据安全无法保障等问题,对于数据共享的发展具有很强的理论意义和现实意义。
Description
技术领域
本发明属于区块链技术领域,特别是涉及一种基于区块链的数据存储索引系统及方法。
背景技术
数据是科技发展的原动力,同时是大数据时代引领社会发展的主要源泉。大数据技术在全球范围内对金融、能源、医疗等行业的发展起到了巨大的推动作用,随之而来的是,各领域的数据结构和规模日益庞大。为挖掘数据潜在价值,各个国家和组织都在大力推动数据开放共享。然而数据开放共享自提出以来一直处在信息孤立的“囚徒困境”之中,如何打破“信息孤岛”发挥共享效用是一个亟待解决的难题。
目前,打破信息孤岛的主要方式是数据交易和数据开放两种共享模型。无论是数据交易亦或数据开放,都无法避开数据的隐私保护问题。由于数据持有者在采集数据的过程中会收集一些用户敏感信息,如社交、生活习惯等。这些数据一旦被共享,用户的隐私无法得到保障。传统的数据共享由于需要可信第三方的参与,导致了数据提供者无法在共享开始后控制数据的所有权,进而无法保证自己的数据隐私;为了解决该问题,数据提供者会将数据进行大规模清洗,使得所共享的数据无法真实反映原始数据所富含的价值。隐私问题成为数据共享亟待解决的难题,因此有必要研究一种为数据共享提供隐私保护的数据存储索引方法,在数据隐私不泄露的情况下,保证数据所有者愿意共享有价值的数据,从而发挥数据潜在的巨大价值,为互联网乃至人类社会的发展提供有力的支持。
区块链作为中本聪(Satoshi nakamoto)比特币项目的核心技术,因其特有的去中心化、开放性、匿名性、可追溯及不可篡改等特性,被产业界和学术界一致认为在金融、物联网、大数据共享等众多领域有着广泛的应用前景。目前基于区块链的数据共享模型已有不少,但各方案都针对特定结构的数据而设计,无法适用于其他共享需求场景,且由于不同数据的隐私特性差异,如何在满足多种不同应用场景的同时,保证对数据的隐私保护是一个难题。
发明内容
为了解决上述问题,本发明的目的在于提供一种基于区块链的数据存储索引系统及方法,以解决现有数据共享过程中第三方可能泄露数据,数据提供节点失去对数据的绝对控制权、数据安全无法保障的技术问题。
为了达到上述目的,本发明提供的基于区块链的数据存储索引系统包括数据存储索引模块以及共识模块;
所述的数据存储索引模块负责为数据提供安全高效存储,并提取出元数据而形成数据索引,所用的存储索引智能合约可为数据发布提供高效安全的自动执行机制;
所述的共识模块基于共识算法将上述数据索引写入区块链,为数据发布一个隐私、防篡改、可证明安全的分布式数据库;同时能够防止数据发布者上传虚假信息,为将来可能出现的争议提供历史数据溯源;系统所采用的共识机制是依据所有数据提供节点所贡献的数据量大小。
利用所述基于区块链的数据存储索引系统的数据存储索引方法包括按顺序进行的下列步骤:
S1:所述的数据存储索引模块设置一个可信锚,可信锚生成系统参数并存储,然后向各个节点发布系统参数;
S2:区块链网络中各个节点分别进行系统注册,然后由可信锚生成公钥验证令牌并发回节点,节点根据公钥验证令牌生成各自的公私钥对,并最终获得公钥验证令牌:
S3:数据提供节点上传原始数据,所述的数据存储索引模块对上述原始数据进行加密存储,并从中提取出元数据而形成数据索引:
S4:所述的共识模块基于共识算法将数据索引写入区块链。
在步骤S1中,所述的数据存储索引模块设置一个可信锚,可信锚生成系统参数并存储,然后向各个节点发布系统参数的方法包括下列步骤:
S101:可信锚选择一个大素数p,基于有限域Fp的椭圆曲线E(Fp):y2=x3+ax+b(modp),其中a,b∈Fp且4a3+27b2(mod p)≠0;存在基点P∈Fp,由基点P生成的子群的阶为大素数q;
S102:可信锚选择抗碰撞散列函数h0,h1,h2:{0,1}*→Zq *,以及h3:{0,1}*→{0,1}k;
S104:可信锚将上述系统参数存储在本地,并向各个节点发布系统参数,具体如下:
{p,q,P,E(Fp),TA,h0,h1,h2,h3}。
在步骤S2中,所述的区块链网络中各个节点分别进行系统注册,然后由可信锚生成公钥验证令牌并发回节点,节点根据公钥验证令牌生成各自的公私钥对,并最终获得公钥验证令牌的方法包括下列步骤:
S201:节点i选择一个大随机数ri∈Zq *,并计算参数:
Ri=h0(ri)P
然后,节点i通过安全信道将参数Ri发送给可信锚;
在步骤S3中,所述的数据提供节点上传原始数据,所述的数据存储索引模块对上述原始数据进行加密存储,并从中提取出元数据而形成数据索引的方法包括下列步骤:
S301:数据提供节点上传原始数据,数据存储索引模块根据数据提供节点的选择对上述原始数据进行加密存储,并附上相应数据提供节点的数字签名;
S302:对原始数据进行统一格式化处理,然后从中提取出数据的特征,即元数据,为数据索引提供一个标准的资源分类目录;
S303:确定原始数据的域关联性;设Ω1为查询域,Ω2为索引域,对于查询域Ω1,索引域Ω2,c(Ω1,Ω2)=|Ω1∩Ω2|/|Ω1|表示为域的关联度,|·|表示集合元素的个数;一般的,c(Ω1,Ω2)∈[0,1];c与关联性成正比,关联性与数据的可检索性也成正比;
S304:依据上述域关联性,数据提供节点结合局部敏感计算出哈希函数值h(Ω),然后将哈希函数值h(Ω)分成m个子区,每个子区包含n行,然后数据提供节点用如下公式计算出各子区之间的相似度Si:
P(Si|m,n)=1-(1-Sin)m
然后,数据提供节点依据相似度Si得到最终的数据索引Ω。
在步骤S4中,所述的共识模块基于共识算法将数据索引写入区块链的方法包括下列步骤:
S401:节点生成请求数据包:{h1(D),Ω,Sigi,WTi},然后向区块链网络发起上传请求;
S402:各节点收到请求数据包后,对数据进行基于数据量的共识验证,当前区块链网络中数据量贡献量最大的节点将获得记账权,负责验证该区块;获得记账权的节点将请求数据包生成带时间戳的新区块,并进行验证;
S403:获得记账权的节点将新区块广播到区块链网络中,各区块链备份节点将该新区块放到区块链尾部,由此形成新的区块链。
本发明提供了基于区块链的数据存储索引系统及方法具有以下有益效果:基于元数据建立索引,并通过区块链来公开发布的方式,区块链不仅可以有效保证发布的数据索引无法被篡改,而且所用的存储索引智能合约可为数据发布提供高效安全的自动执行机制。通过本发明提供的系统及方法,可以缓解现有数据共享过程中第三方可能泄露数据,数据提供节点失去对数据的绝对控制权、数据安全无法保障等问题,对于数据共享的发展具有很强的理论意义和现实意义。
附图说明
图1为本发明提供的区块格式图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于目前现有数据共享过程中第三方可能泄露数据,数据提供节点失去对数据的绝对控制权、数据安全无法保障等问题,基于此,本发明实施例提供的一种基于区块链的数据存储索引系统及方法,可以缓解现有数据共享过程中第三方可能泄露数据,数据提供节点失去对数据的绝对控制权、数据安全无法保障等问题。
本发明实施例提供基于区块链的数据存储索引系统包括数据存储索引模块以及共识模块。
所述的数据存储索引模块负责为数据提供安全高效存储,并提取出元数据而形成数据索引,所用的存储索引智能合约可为数据发布提供高效安全的自动执行机制;
所述的共识模块基于共识算法将上述数据索引写入区块链,为数据发布一个隐私、防篡改、可证明安全的分布式数据库;同时能够防止数据发布者上传虚假信息,为将来可能出现的争议提供历史数据溯源;系统所采用的共识机制是依据所有数据提供节点所贡献的数据量大小。
基于本实施例提供的数据存储索引模块以及共识模块,本发明实施例还提供了一种基于区块链的数据存储索引方法,其包括按顺序进行的下列步骤:
S1:所述的数据存储索引模块设置一个可信锚(Trust Anchor,简称TA),可信锚生成系统参数并存储,然后向各个节点发布系统参数;
S2:区块链网络中各个节点分别进行系统注册,然后由可信锚生成公钥验证令牌并发回节点,节点根据公钥验证令牌生成各自的公私钥对,并最终获得公钥验证令牌:
S3:数据提供节点上传原始数据,所述的数据存储索引模块对上述原始数据进行加密存储,并从中提取出元数据而形成数据索引:
S4:所述的共识模块基于共识算法将数据索引写入区块链。
在步骤S1中,所述的数据存储索引模块设置一个可信锚,可信锚生成系统参数并存储,然后向各个节点发布系统参数的方法包括下列步骤:
S101:可信锚选择一个大素数p,基于有限域Fp的椭圆曲线E(Fp):y2=x3+ax+b(modp),其中a,b∈Fp且4a3+27b2(mod p)≠0;存在基点P∈Fp,由基点P生成的子群的阶为大素数q;
S102:可信锚选择抗碰撞散列函数h0,h1,h2:{0,1}*→Zq *,以及h3:{0,1}*→{0,1}k;
S104:可信锚将上述系统参数存储在本地,并向各个节点发布系统参数,具体如下:
在步骤S2中,所述的区块链网络中各个节点分别进行系统注册,然后由可信锚生成公钥验证令牌并发回节点,节点根据公钥验证令牌生成各自的公私钥对,并最终获得公钥验证令牌的方法包括下列步骤:
S201:节点i选择一个大随机数ri∈Zq *,并计算参数:
Ri=h0(ri)P
然后,节点i通过安全信道将参数Ri发送给可信锚;
在步骤S3中,所述的数据提供节点上传原始数据,所述的数据存储索引模块对上述原始数据进行加密存储,并从中提取出元数据而形成数据索引的方法包括下列步骤:
S301:数据提供节点上传原始数据,数据存储索引模块根据数据提供节点的选择对上述原始数据进行加密存储,并附上相应数据提供节点的数字签名;
具体的,原始数据保存在本地。为了进一步保证原始数据的安全性,防止内部泄露,本发明建议对原始数据进行加密存储,并附上相应数据提供节点的数字签名。具体来说,数据提供节点使用不同的假名来加密不同的原始数据,以减少由同一数据提供节点生成的原始数据之间的关联;但对原始数据加密是可选的,最终由数据提供节点决定是否加密;可选地,为保证原始数据的安全性,本发明对所有的原始数据都提供加密存储策略,加密方式为:Encryp(D)PKi;
S302:对原始数据进行统一格式化处理,然后从中提取出数据的特征,即元数据,为数据索引提供一个标准的资源分类目录;
具体的,设某数据提供节点需要发布一种类型的数据D,其首先利用本地的数据字典和域索引方法来提取该数据的特征,即元数据(Meta Data,简称MD)。域索引是一种基于局部敏感哈希的数据索引方案,为索引提供一个标准的资源分类目录。
S303:确定原始数据的域关联性;设Ω1为查询域,Ω2为索引域,对于查询域Ω1,索引域Ω2,c(Ω1,Ω2)=|Ω1∩Ω2|/|Ω1|表示为域的关联度,|·|表示集合元素的个数。一般的,c(Ω1,Ω2)∈[0,1]。c与关联性成正比,关联性与数据的可检索性也成正比;
S304:依据上述域关联性,数据提供节点结合局部敏感计算出哈希函数值h(Ω),然后将哈希函数值h(Ω)分成m个子区,每个子区包含n行,然后数据提供节点用如下公式计算出各子区之间的相似度Si:
P(Si|m,n)=1-(1-Sin)m
然后,数据提供节点依据相似度Si得到最终的数据索引Ω。
在步骤S4中,所述的共识模块基于共识算法将数据索引写入区块链的方法包括下列步骤:
S401:节点生成请求数据包:{h1(D),Ω,Sigi,WTi},然后向区块链网络发起上传请求;
S402:各节点收到请求数据包后,对数据进行基于数据量的共识验证,当前区块链网络中数据量贡献量最大的节点将获得记账权,负责验证该区块;获得记账权的节点将请求数据包生成带时间戳的新区块,并进行验证;
所述的区块格式如图1所示,区块头部各参数具体表示如下:
版本:区块链为保证区块共识的简便性而设定的区块版本信息,目的是为了给当前生成区块一个所属版本标签;
区块编号:又叫区块高度,记录当前生成区块在整个区块链网络中的排序;
上一区块哈希:在当前区块生成前网络中区块编号最大的区块的哈希值;
当前区块哈希:当前生成区块的哈希值,目的是为了给下一区块提供上一区块哈希;
时间戳:即当前区块生成时的系统时间,具体格式为UNIX时间戳格式;
默克尔树根:当前区块中所打包的所有数据上传请求交易,以默克尔树形式存储,所得到的根植作为默克尔树根;
区块内容即每个交易的具体细节,包括DP的相关信息。此外,区块中的附加内容是可选的,DP可以对数据作初步分析,将分析方法和分析结果一并作为索引,提供更为详细的数据价值说明;
为了避免节点数据量规模差异带来的中央权威,在PoDS的基础上,本发明设计了轮值模式,即当前记账节点无权记录未来的k个区块,k值取决于区块链网络中节点的个数N,具体计算公式为:log2N。
S403:获得记账权的节点将新区块广播到区块链网络中,各区块链备份节点将该新区块放到区块链尾部,由此形成新的区块链。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (3)
1.一种基于区块链的数据存储索引系统的数据存储索引方法,所述的基于区块链的数据存储索引系统包括数据存储索引模块以及共识模块;
所述的数据存储索引模块负责为数据提供安全高效存储,并提取出元数据而形成数据索引,所用的存储索引智能合约可为数据发布提供高效安全的自动执行机制;
所述的共识模块基于共识算法将上述数据索引写入区块链,为数据发布一个隐私、防篡改、可证明安全的分布式数据库;同时能够防止数据发布者上传虚假信息,为将来可能出现的争议提供历史数据溯源;系统所采用的共识机制是依据所有数据提供节点所贡献的数据量大小;
其特征在于:所述的数据存储索引方法包括按顺序进行的下列步骤:
S1:所述的数据存储索引模块设置一个可信锚,可信锚生成系统参数并存储,然后向各个节点发布系统参数;
S2:区块链网络中各个节点分别进行系统注册,然后由可信锚生成公钥验证令牌并发回节点,节点根据公钥验证令牌生成各自的公私钥对,并最终获得公钥验证令牌:
S3:数据提供节点上传原始数据,所述的数据存储索引模块对上述原始数据进行加密存储,并从中提取出元数据而形成数据索引:
S4:所述的共识模块基于共识算法将数据索引写入区块链;
在步骤S1中,所述的数据存储索引模块设置一个可信锚,可信锚生成系统参数并存储,然后向各个节点发布系统参数的方法包括下列步骤:
S101:可信锚选择一个大素数p,基于有限域Fp的椭圆曲线E(Fp):y2=x3+ax+b(mod p),其中a,b∈Fp且4a3+27b2(mod p)≠0;存在基点P∈Fp,由基点P生成的子群的阶为大素数q;
S102:可信锚选择抗碰撞散列函数h0,h1,h2:{0,1}*→Zq *,以及h3:{0,1}*→{0,1}k;
S104:可信锚将上述系统参数存储在本地,并向各个节点发布系统参数,具体如下:
在步骤S2中,所述的区块链网络中各个节点分别进行系统注册,然后由可信锚生成公钥验证令牌并发回节点,节点根据公钥验证令牌生成各自的公私钥对,并最终获得公钥验证令牌的方法包括下列步骤:
S201:节点i选择一个大随机数ri∈Zq *,并计算参数:
Ri=h0(ri)P
然后,节点i通过安全信道将参数Ri发送给可信锚;
2.根据权利要求1所述的数据存储索引方法,其特征在于:在步骤S3中,所述的数据提供节点上传原始数据,所述的数据存储索引模块对上述原始数据进行加密存储,并从中提取出元数据而形成数据索引的方法包括下列步骤:
S301:数据提供节点上传原始数据,数据存储索引模块根据数据提供节点的选择对上述原始数据进行加密存储,并附上相应数据提供节点的数字签名;
S302:对原始数据进行统一格式化处理,然后从中提取出数据的特征,即元数据,为数据索引提供一个标准的资源分类目录;
S303:确定原始数据的域关联性;设Ω1为查询域,Ω2为索引域,对于查询域Ω1,索引域Ω2,c(Ω1,Ω2)=|Ω1∩Ω2|/|Ω1|表示为域的关联度,|·|表示集合元素的个数;一般的,c(Ω1,Ω2)∈[0,1];c与关联性成正比,关联性与数据的可检索性也成正比;
S304:依据上述域关联性,数据提供节点结合局部敏感计算出哈希函数值h(Ω),然后将哈希函数值h(Ω)分成m个子区,每个子区包含n行,然后数据提供节点用如下公式计算出各子区之间的相似度Si:
P(Si|m,n)=1-(1-Sin)m
然后,数据提供节点依据相似度Si得到最终的数据索引Ω。
3.根据权利要求1所述的数据存储索引方法,其特征在于:在步骤S4中,所述的共识模块基于共识算法将数据索引写入区块链的方法包括下列步骤:
S401:节点生成请求数据包:{h1(D),Ω,Sigi,WTi},然后向区块链网络发起上传请求;
S402:各节点收到请求数据包后,对数据进行基于数据量的共识验证,当前区块链网络中数据量贡献量最大的节点将获得记账权,负责验证该区块;获得记账权的节点将请求数据包生成带时间戳的新区块,并进行验证;
S403:获得记账权的节点将新区块广播到区块链网络中,各区块链备份节点将该新区块放到区块链尾部,由此形成新的区块链。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993462.0A CN110750541B (zh) | 2019-10-18 | 2019-10-18 | 一种基于区块链的数据存储索引系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910993462.0A CN110750541B (zh) | 2019-10-18 | 2019-10-18 | 一种基于区块链的数据存储索引系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750541A CN110750541A (zh) | 2020-02-04 |
CN110750541B true CN110750541B (zh) | 2023-05-02 |
Family
ID=69278852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910993462.0A Active CN110750541B (zh) | 2019-10-18 | 2019-10-18 | 一种基于区块链的数据存储索引系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750541B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131304B (zh) * | 2020-02-10 | 2021-05-04 | 北京天德科技有限公司 | 一种基于区块链技术的新型计算及存储架构 |
CN111327627B (zh) * | 2020-03-04 | 2022-02-22 | 西安热工研究院有限公司 | 基于区块链的网络安全评估数据处理方法 |
CN111339106B (zh) * | 2020-05-18 | 2020-08-28 | 杭州趣链科技有限公司 | 一种区块链数据索引的方法 |
CN111383021B (zh) * | 2020-05-29 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 基于区块链网络的节点管理方法、装置、设备及介质 |
CN112035469A (zh) * | 2020-08-27 | 2020-12-04 | 贵州大学 | 一种基于区块链的食品数据溯源方法 |
CN114119026B (zh) * | 2022-01-26 | 2022-04-01 | 成都无糖信息技术有限公司 | 一种虚拟货币交易追踪溯源方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107249046A (zh) * | 2017-08-15 | 2017-10-13 | 李俊庄 | 一种基于区块链的分布式云存储系统构建方法 |
CN107659429A (zh) * | 2017-08-11 | 2018-02-02 | 四川大学 | 基于区块链的数据共享方法 |
CN107807951A (zh) * | 2017-09-18 | 2018-03-16 | 联动优势科技有限公司 | 一种区块链生成方法、数据验证方法、节点及系统 |
CN108563771A (zh) * | 2018-04-20 | 2018-09-21 | 中国科学院合肥物质科学研究院 | 基于区块链的大文件管理系统及方法 |
CN108647230A (zh) * | 2018-03-29 | 2018-10-12 | 深圳市网心科技有限公司 | 分布式存储方法、电子装置及存储介质 |
CN108718341A (zh) * | 2018-05-30 | 2018-10-30 | 北京阿尔山金融科技有限公司 | 数据的共享和搜索的方法 |
CN109189727A (zh) * | 2018-09-14 | 2019-01-11 | 江西理工大学 | 一种基于属性代理重加密的区块链密文云存储共享方法 |
WO2019127531A1 (zh) * | 2017-12-29 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及电子设备 |
CN110019235A (zh) * | 2017-12-29 | 2019-07-16 | 百度在线网络技术(北京)有限公司 | 基于区块链的数据存储、恢复方法、装置、设备及介质 |
-
2019
- 2019-10-18 CN CN201910993462.0A patent/CN110750541B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659429A (zh) * | 2017-08-11 | 2018-02-02 | 四川大学 | 基于区块链的数据共享方法 |
CN107249046A (zh) * | 2017-08-15 | 2017-10-13 | 李俊庄 | 一种基于区块链的分布式云存储系统构建方法 |
CN107807951A (zh) * | 2017-09-18 | 2018-03-16 | 联动优势科技有限公司 | 一种区块链生成方法、数据验证方法、节点及系统 |
WO2019127531A1 (zh) * | 2017-12-29 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及电子设备 |
CN110019235A (zh) * | 2017-12-29 | 2019-07-16 | 百度在线网络技术(北京)有限公司 | 基于区块链的数据存储、恢复方法、装置、设备及介质 |
CN108647230A (zh) * | 2018-03-29 | 2018-10-12 | 深圳市网心科技有限公司 | 分布式存储方法、电子装置及存储介质 |
CN108563771A (zh) * | 2018-04-20 | 2018-09-21 | 中国科学院合肥物质科学研究院 | 基于区块链的大文件管理系统及方法 |
CN108718341A (zh) * | 2018-05-30 | 2018-10-30 | 北京阿尔山金融科技有限公司 | 数据的共享和搜索的方法 |
CN109189727A (zh) * | 2018-09-14 | 2019-01-11 | 江西理工大学 | 一种基于属性代理重加密的区块链密文云存储共享方法 |
Non-Patent Citations (1)
Title |
---|
吴振铨等.基于联盟区块链的智能电网数据安全存储与共享系统.《计算机应用》.2017,第37卷(第10期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110750541A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110750541B (zh) | 一种基于区块链的数据存储索引系统及方法 | |
WO2022042301A1 (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
De Oliveira et al. | Towards a blockchain-based secure electronic medical record for healthcare applications | |
CN108768663B (zh) | 一种区块链访问控制方法及其处理系统 | |
CN110535662B (zh) | 基于区块链数据存证服务实现用户操作记录的方法及系统 | |
US11171774B2 (en) | System for synchronizing a cryptographic key state through a blockchain | |
Yang et al. | Provable data possession of resource-constrained mobile devices in cloud computing | |
CN106357701B (zh) | 云存储中数据的完整性验证方法 | |
TW202030668A (zh) | 電腦實施系統及在區塊鏈上儲存資料的方法(一) | |
CN108923932A (zh) | 一种去中心化协同验证模型及验证算法 | |
CN109522328B (zh) | 一种数据处理方法及其装置、介质、终端 | |
Thompson | The preservation of digital signatures on the blockchain | |
Shao et al. | Dynamic data integrity auditing method supporting privacy protection in vehicular cloud environment | |
CN111010430B (zh) | 一种基于双链结构的云计算安全数据共享方法 | |
CN103544410A (zh) | 一种嵌入式微处理器非可克隆函数密钥认证系统和方法 | |
Chen et al. | BPVSE: Publicly verifiable searchable encryption for cloud-assisted electronic health records | |
CN114357492A (zh) | 一种基于区块链的医疗数据隐私融合方法及装置 | |
CN112532650A (zh) | 一种基于区块链的多备份安全删除方法、系统 | |
CN111630545A (zh) | 管理账本系统中的交易请求 | |
US20240097879A1 (en) | Blockchain-based data management of distributed binary objects | |
Wang et al. | Data Security Storage Model of the Internet of Things Based on Blockchain. | |
CN110912892B (zh) | 一种证书管理方法、装置、电子设备及存储介质 | |
CN114978664A (zh) | 一种数据共享方法、装置及电子设备 | |
CN114547698A (zh) | 一种基于区块链的cors服务数据存储系统和方法 | |
CN112768018A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |