CN110321074A - 基于区块链和分布式存储系统的安全存储证明的共识方法 - Google Patents
基于区块链和分布式存储系统的安全存储证明的共识方法 Download PDFInfo
- Publication number
- CN110321074A CN110321074A CN201910419147.7A CN201910419147A CN110321074A CN 110321074 A CN110321074 A CN 110321074A CN 201910419147 A CN201910419147 A CN 201910419147A CN 110321074 A CN110321074 A CN 110321074A
- Authority
- CN
- China
- Prior art keywords
- block chain
- node
- storage
- network
- common recognition
- 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.)
- Granted
Links
Classifications
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/3271—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 using challenge-response
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/30—Compression, e.g. Merkle-Damgard construction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于分布式存储技术和区块链应用技术领域,公开了一种基于区块链和分布式存储系统的安全存储证明的共识方法,包括以下步骤:首先获得要被存储的数据并将数据分块再分布式地存储到存储网络,并且生成针对数据存储在存储节点某个物理磁盘的一个非交互式的简洁零知识存储证明;然后区块链网络验证存储节点的存储证明并维护一张全部存储网络的实时状态表;最后对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。本发明的分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,用位置服务器定位存储信息,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
Description
技术领域
本发明属于分布式存储技术和区块链应用技术领域,尤其涉及一种基于区块链和分布式存储系统的安全存储证明的共识方法。
背景技术
区块链技术是构建在点对点网络上,利用链式数据结构来验证与存储数据,利用分布式节点共识算法来生成和更新数据,利用密码学的方式保证数据传输和访问的安全,利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。因此,区块链在数据防篡改、数据溯源、自治性和去中心化方面具有技术优势。
分布式存储技术是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散在网络的各台机器上。与传统的集中式存储相比,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。
目前,最接近的现有技术是基于IPFS的filecoin。IPFS是是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs(协议实验室)在开源社区的帮助下发展。其最初由Juan Benet设计;而filecoin是管理IPFS的激励层,通过区块链的特性:经济体系、技术体系、开源和进化,利用激励方式对整个IPFS分布式存储网络的运行起到最关键的作用,促使IPFS良性循环发展。
然而基于IPFS的filecoin过于重视存储证明的学术上的完备性,实际上工程实现后生成证明的效率也十分低下。另外,filecoin只考虑了数据的存储,忽略了整个分布式存储网络的建立应该是各个不同的参与方的问题,导致现在上线的filecoin网络变成了由开发者主导的网络,不符合去中心化的思想。filecoin网络里共识的达成只考虑了数据的存储的影响,对于整个分布式存储网络系统的发展来说过于单调和呆板。filecoin数据只存储在网络中,只保证数据的安全性只是最基本的应用,而这样对于存储网络的其他参与方来说,得到的受益远远不够,这也是造成现在filecoin网络上线后的尬尴情况的根本原因。
本发明方案提出了一个基于储存数据的安全性和价值性的共识方案,在保障了数据存储最基本的安全性的前提下,提出了综合衡量数据价值的影响因子,作为本方案中的网络达成共识的根本条件,尽最大可能挖掘出数据本身的价值,让数据在本方案设计的系统中能在区块链的引导下真正流通起来,发挥出数据本身真正的价值,让数据拥有者和数据存储者真正受益,从而吸引更多参与方加入到存储网络中,从而形成一个真正高效的分布式存储网络。然而本方案对于如何快速生成存储证明的方法还有待研究。
发明内容
针对现有技术存在的问题,本发明提供了一种基于区块链和分布式存储系统的安全存储价值证明的共识方法。
本发明是这样实现的,一种基于区块链和分布式存储系统的安全存储证明的共识方法,所述基于区块链和分布式存储系统的安全存储证明的共识方法包括以下步骤:
首先获得要被存储的数据并将数据分块再分布式地存储到存储网络,并且生成针对数据存储在存储节点某个物理磁盘的一个非交互式的简洁零知识存储证明;
然后区块链网络验证存储节点的存储证明并维护一张全部存储网络的实时状态表;
最后对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
进一步,所述基于区块链和分布式存储系统的安全存储证明的共识方法的存储证明协议的协议参与方有3个,分别是应用层的用户、区块链网络和存储节点;分为3个阶段,分别为存储初始化、证明者证明和验证者验证。
进一步,所述存储初始化阶段的步骤为:
1)用户a向区块链网络B发起存储请求,区块链节点b收到请求;
2)区块链节点b寻找合适的存储节点群M,确认其存活后,触发生成交易的智能合约,发起用户a和存储节点群M里的存储节点m的数据存储交易;
3)用户a确认交易信息无误后,将数据D以及元数据信息发送给该区块链节点b,并向对应智能合约地址转账交易费用,b将各个数据块的元数据信息和其对应存储节点m信息写到数据交易记录对应的信息中,然后再由b将存储节点m对应的数据块d发送给它;
4)存储节点m接收数据并生成惟一物理副本R,再生成副本R的默克尔树根rt、证明公钥pk和验证公钥vk,将默克尔树根rt和验证公钥vk发送给该区块链节点b,该区块链节点b将rt和vk写到数据交易记录对应的信息中,再将其发送给用户a。
进一步,所述证明者证明阶段的步骤为:
1)用户a针对已存储的数据d发起一个随机挑战c,发送给该区块链节点b;
2)区块链节点暂存随机挑战c,然后将其发送给存储节点m;
3)存储节点针对随即挑战用证明公钥pk和副本R生成一个证明π,然后将其发送给该区块链节点b,由其发送给用户a。
进一步,所述验证者验证阶段的步骤为:
1)该区块链节点b和用户a使用验证公钥vk、副本R的默克尔树根rt、和随机挑战c,对从存储节点m接收的证明π进行验证;
2)若区块链节点b和用户a都验证通过,则交易生成并将1)的参数写到交易信息中,区块链节点b将交易发送给区块链网络B中的其他节点,其他节点验证通过则交易被记录在交易池中,否则抛弃交易;当客户a想要从存储网络中下载他的数据D时,他需要根据交易找到交易附带的信息,从交易信息中找到对应各个数据块d的存储节点m,从存储节点下载对应的数据块即可;由于数据D的分块d在存储网络M中是冗余存储的,相同的数据块全部丢失的概率极小。
进一步,所述基于区块链和分布式存储系统的安全存储证明的共识方法的基于概率的优化共识算法的步骤如下:
1)每次共识开始后,计算参数包括各区块链节点对共识公共时间t、在t时刻产生的随机数、节点自身ID和计算轮次d,每个区块链节点分别对这些参数进行哈希,然后除以哈希长度再与其对应的影响因子比较,若满足条件,则向其他节点发送自身称为候选者的消息及该消息的摘要签名,若不满足条件,则进入2);
2)所有节点在第一个延迟时间内对接收到的满足条件的候选者进行筛选,筛选条件为首先满足候选者条件;然后计算次数小者优先,同一计算次数则概率小者再优先,到达一个延迟时间后就向自身选中的候选者发送确认回应;
3)所有的候选者在第二个延迟时间内接收其他节点的确认回应,当接收到的确认回应超过一半后可认为被选举为记账者,向其他节点发送自己生成的区块和接收到的确认回应,其他节点验证通过后并将区块添加到链上后可,认为此轮共识达成,开始下一轮共识;
4)若2)所有节点在一个延迟时间内都未收到满足条件的候选者,则在第一个延迟时间结束后直接开始下一轮共识,避免产生空块。
进一步,所述基于区块链和分布式存储系统的安全存储证明的共识方法的影响因子的计算方法;影响因子是使用加权表达式衡量存储节点存储能力强弱的数值;加权表达式是对存储节点的存储能力的各项指标的数值与其不同权重值乘积的累加;存储节点的存储能力的各项指标主要包括存储因子、网络因子和其他因子,三种因子的比重分别为a、b、c,其中a+b+c=1且都大于等于0。
本发明的另一目的在于提供一种所述基于区块链和分布式存储系统的安全存储证明的共识方法的分布式存储系统,所述分布式存储系统分别是应用层、区块链网络层和分布式存储网络层;包括获得要被存储的数据并且生成针对数据存储在存储节点某个物理磁盘的存储证明;包括区块链网络验证存储节点的存储证明并维护一张全存储网络的实时存储状态表;包括对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
本发明的另一目的在于提供一种应用所述基于区块链和分布式存储系统的安全存储证明的共识方法的网络存储系统。
本发明的另一目的在于提供一种应用所述基于区块链和分布式存储系统的安全存储证明的共识方法的信息数据处理终端。
综上所述,本发明的优点及积极效果为:本发明通过将区块链和分布式存储系统相结合,通过数据的安全储存证明和节点的影响因子设计了一个共识方案,将分布式存储系统的本身职能与区块链网络的共识结合起来,从而解决了现在区块链网络共识存在的很多问题,将达成共识的竞争条件由工作量证明单纯的算力大小转换成节点安全存储能力强弱,不仅促进存储系统的良性发展,而且节约了算力竞争导致的资源浪费,保证了被存储数据本身的安全和防护的安全,另外保留了工作量证明的大部分优点。
本发明提供了一种基于区块链和分布式存储系统的安全存储证明的共识方案,包括获得要被存储的数据并将数据分块再分布式地存储到存储网络,并且生成针对数据存储在存储节点某个物理磁盘的一个非交互式的简洁零知识存储证明。该方案包括区块链网络验证存储节点的存储证明并维护一张全部存储网络的实时状态表。该方案包括对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
本发明提供了一种基于零知识证明的存储证明协议。该协议包括存储初始化、证明者生成证明和验证者验证证明3个部分。存储初始化部分将数据的物理副本存储在惟一物理存储上并生成数据副本的默克尔树根,另外生成证明私钥和验证公钥。证明者证明部分用挑战与副本和证明私钥生成证明。验证者验证部分用挑战与副本的默克尔树根和验证公钥验证证明。
本发明提供了一种影响因子的计算方法。该影响因子是使用加权表达式衡量存储节点存储能力强弱的数值。该加权表达式是对存储节点的存储能力的各项指标的数值与其不同权重值乘积的累加。该存储节点的存储能力的各项指标主要包括存储因子、网络因子和其他因子。三种因子的比重分别为a、b、c,其中a+b+c=1且都大于等于0。
本发明提供了一种基于概率的优化共识算法。该共识算法是网络每次共识都根据相关参数计算概率,不大于影响因子即满足条件,可成为候选记账者,在2个延迟时间后获得超过二分之一节点的确认即可达成共识。该优化后的共识算法是概率在每次共识可以计算多次,以此降低产生空块的概率。该计算的概率的参数是节点用每次共识基于时间的不同随机数和其他特征来计算哈希值并除以哈希长度。该延迟时间为传播到全网一定比例节点所需的最小时长。节点的确认为每个节点在1个延迟时间内验证的最符合条件的候选记账者。该条件为计算出的概率不大于该候选记账者的影响因子,计算次数小者优先,同一计算次数则概率小者优先。
附图说明
图1是本发明实施例提供的基于区块链和分布式存储系统的安全存储证明的共识方法流程图。
图2是本发明实施例提供的存储证明流程图。
图3是本发明实施例提供的优化共识算法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的分布式存储系统分为3层,分别是应用层、区块链网络层和分布式存储网络层。该方案包括获得要被存储的数据并且生成针对数据存储在存储节点某个物理磁盘的存储证明。该方案包括区块链网络验证存储节点的存储证明并维护一张全存储网络的实时存储状态表。该方案包括对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。因此,本公开的实施例通过将区块链和分布式存储系统相结合,通过数据的安全储存证明和节点的影响因子设计了一个共识方案,将分布式存储系统的本身职能与区块链网络的共识结合起来,解决了现在区块链网络共识存在的很多问题,将达成共识的竞争条件由工作量证明单纯的算力大小转换成节点安全存储能力强弱,不仅促进存储系统的良性发展,节约了算力竞争导致的资源浪费,还保证了被存储数据本身的安全和防护的安全,另外保留了工作量证明的大部分优点。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于区块链和分布式存储系统的安全存储证明的共识方法包括以下步骤:
S101:获得要被存储的数据并将数据分块再分布式地存储到存储网络,并且生成针对数据存储在存储节点某个物理磁盘的一个非交互式的简洁零知识存储证明;
S102:区块链网络验证存储节点的存储证明并维护一张全部存储网络的实时状态表;
S103:对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
下面结合附图对本发明的应用原理作进一步的描述。
图2为本发明方案存储证明协议的流程图。协议参与方有3个,分别是应用层的用户、区块链网络和存储节点。协议分为3个阶段,分别为存储初始化、证明者(存储节点)证明和验证者(用户和区块链网络)验证。存储初始化阶段的步骤为:
1)用户a向区块链网络B发起存储请求,区块链节点b收到请求;
2)区块链节点b寻找合适的存储节点群M,确认其存活后,触发生成交易的智能合约,发起用户a和存储节点群M里的存储节点m的数据存储交易;
3)用户a确认交易信息无误后,将数据D以及元数据信息发送给该区块链节点b,并向对应智能合约地址转账交易费用,b将各个数据块的元数据信息和其对应存储节点m信息写到数据交易记录对应的信息中,然后再由b将存储节点m对应的数据块d发送给它;
4)存储节点m接收数据并生成惟一物理副本R,再生成副本R的默克尔树根rt、证明公钥pk和验证公钥vk,将默克尔树根rt和验证公钥vk发送给该区块链节点b,该区块链节点b将rt和vk写到数据交易记录对应的信息中,再将其发送给用户a。
证明者证明阶段的步骤为:
1)用户a针对已存储的数据d发起一个随机挑战c,发送给该区块链节点b;
2)区块链节点暂存随机挑战c,然后将其发送给存储节点m;
3)存储节点针对随即挑战用证明公钥pk和副本R生成一个证明π,然后将其发送给该区块链节点b,由其发送给用户a。
验证者验证阶段的步骤为:
1)该区块链节点b和用户a使用验证公钥vk、副本R的默克尔树根rt、和随机挑战c,对从存储节点m接收的证明π进行验证;
2)若区块链节点b和用户a都验证通过,则交易生成并将1)的参数写到交易信息中,区块链节点b将交易发送给区块链网络B中的其他节点,其他节点验证通过则交易被记录在交易池中,否则抛弃交易。当客户a想要从存储网络中下载他的数据D时,他需要根据交易找到交易附带的信息,从交易信息中找到对应各个数据块d的存储节点m,从这些存储节点下载对应的数据块即可。由于数据D的分块d在存储网络M中是冗余存储的,相同的数据块全部丢失的概率极小,因此保证了数据存储的安全。
影响因子是有一个加权表达式计算出来的。计算影响因子的加权表达式是对存储节点的存储能力的各项指标的数值与其不同权重值乘积的累加。存储能力的各项指标主要包括存储因子、网络因子和其他因子。存储因子在本实施例中暂定为已存储数据空间占比、总存储空间占比、空闲存储空间占比这3个因素;网络因子在本实施例中暂定为平均上传速度、平均下载速度和网络时延这3个因素;其他因子在本实施例中先列出在线时长、未成功响应次数这两个。本实施例中存储因子在系统的初级阶段是最重要的指标,暂定占比为80%,存储数据空间占比是初级阶段的核心,占70%,其计算方法为节点存储数量据除以整个网络所有数据量,总存储空间占比和空闲存储空间占比也是很重要的指标,暂定占比各为5%,其计算方法分别为节点总存储空间大小据除以整个网络总存储空间大小,以及节点空闲存储空间大小据除以整个网络空闲存储空间大小。在本实施例中网络因子暂定占比为15%,其他因子占比为5%,网络因子在本实施例中暂定为带宽、在线时长和未响应次数,在线时长为从上一次未响应开始计算的时间长,未响应次数为节点未响应区块链或用户请求的总次数。上述3项指标按照数值分为不同的等级,相邻等级间差距一倍,但是所有节点指标加起来总数仍为相对应的占比。另外这些因子的比例只是初级阶段的,渡过初级阶段后比例还能调整。
图3为本公开方案中提供的基于概率的优化共识算法的流程图。一个延迟时间T为传播到全网一定比例节点所需的最小时长,T在本实施例中可以根据实时网络时延动态变化。该优化共识算法步骤如下:
1)每次共识开始后,计算参数包括各区块链节点对共识公共时间t、在t时刻产生的随机数、节点自身ID和计算轮次d,每个区块链节点分别对这些参数进行哈希,然后除以哈希长度再与其对应的影响因子比较,若满足条件,则向其他节点发送自身称为候选者的消息及该消息的摘要签名,若不满足条件,则进入2);
2)所有节点在第一个延迟时间内对接收到的满足条件的候选者进行筛选,筛选条件为首先满足候选者条件,然后计算次数小者优先,同一计算次数则概率小者再优先,到达一个延迟时间后就向自身选中的候选者发送确认回应;
3)所有的候选者在第二个延迟时间内接收其他节点的确认回应,当接收到的确认回应超过一半后可认为被选举为记账者,向其他节点发送自己生成的区块和接收到的确认回应,其他节点验证通过后并将区块添加到链上后可,认为此轮共识达成,可以开始下一轮共识;
4)若步骤2)所有节点在一个延迟时间内都未收到满足条件的候选者,则在第一个延迟时间结束后直接开始下一轮共识,避免产生空块。
本发明的实施例描述了用户存入分布式网络的数据,从分布式网络中数据存储空间占比在衡量节点存储能力的绝对影响构成的影响因子,再到区块链网络共识机制中候选领导者的评判标准,层层递进,数据成为整个系统的基础,也是整个系统的核心。而区块链本身的去中心化使得分布式存储技术从以往中心化管理的桎梏中脱离出来,实现了真正的分布式存储网络,网络的扩展性和可靠性得到了很大的提高,采用区块链管理分布式存储网络保证了数据本身的安全,包括可用性、完整性和保密性。分布式存储技术将数据的多份副本分成碎片存储在分布式网络中,保证了数据防护的安全。数据从用户,存储到分布式存储网络,再影响到区块链网络的共识机制,而区块链反过来管理着分布式存储网络的运行,再由分布式存储网络保证数据存储的安全。
经过优化的共识算法使用影响因子作为候选者的选举条件。利用数学式子使得概率均匀分布,计算非常简单,节点间验证也是简洁可靠高效的。该共识算法摒弃了现在主流的工作量证明机制没必要的算力竞争,将达成共识的时间由计算随机数的时间降低为通信网络的时延,节约了大量资源,还保留了它的很多优点,包括验证快速高效、计算简单和通信量少的优点。经过优化后的算法也去除了产生空块的缺点。
本发明的实施例通过将区块链和分布式存储系统相结合,通过数据的安全储存证明和节点的影响因子设计了一个共识方案,将分布式存储系统的本身职能与区块链网络的共识结合起来,从而解决了现在区块链网络共识存在的很多问题,将达成共识的竞争条件由工作量证明单纯的算力大小转换成节点安全存储能力强弱,不仅促进存储系统的良性发展,而且节约了算力竞争导致的资源浪费,还保证了被存储数据本身的安全和防护的安全,另外保留了工作量证明的大部分优点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述基于区块链和分布式存储系统的安全存储证明的共识方法包括以下步骤:
首先获得要被存储的数据并将数据分块再分布式地存储到存储网络,并且生成针对数据存储在存储节点某个物理磁盘的一个非交互式的简洁零知识存储证明;
然后区块链网络验证存储节点的存储证明并维护一张全部存储网络的实时状态表;
最后对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
2.如权利要求1所述的基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述基于区块链和分布式存储系统的安全存储证明的共识方法的存储证明协议的协议参与方有3个,分别是应用层的用户、区块链网络和存储节点;分为3个阶段,分别为存储初始化、证明者证明和验证者验证。
3.如权利要求2所述的基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述存储初始化阶段的步骤为:
1)用户a向区块链网络B发起存储请求,区块链节点b收到请求;
2)区块链节点b寻找合适的存储节点群M,确认其存活后,触发生成交易的智能合约,发起用户a和存储节点群M里的存储节点m的数据存储交易;
3)用户a确认交易信息无误后,将数据D以及元数据信息发送给该区块链节点b,并向对应智能合约地址转账交易费用,b将各个数据块的元数据信息和其对应存储节点m信息写到数据交易记录对应的信息中,然后再由b将存储节点m对应的数据块d发送给它;
4)存储节点m接收数据并生成惟一物理副本R,再生成副本R的默克尔树根rt、证明公钥pk和验证公钥vk,将默克尔树根rt和验证公钥vk发送给该区块链节点b,该区块链节点b将rt和vk写到数据交易记录对应的信息中,再将其发送给用户a。
4.如权利要求2所述的基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述证明者证明阶段的步骤为:
1)用户a针对已存储的数据d发起一个随机挑战c,发送给该区块链节点b;
2)区块链节点暂存随机挑战c,然后将其发送给存储节点m;
3)存储节点针对随即挑战用证明公钥pk和副本R生成一个证明π,然后将其发送给该区块链节点b,由其发送给用户a。
5.如权利要求2所述的基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述验证者验证阶段的步骤为:
1)该区块链节点b和用户a使用验证公钥vk、副本R的默克尔树根rt、和随机挑战c,对从存储节点m接收的证明π进行验证;
2)若区块链节点b和用户a都验证通过,则交易生成并将1)的参数写到交易信息中,区块链节点b将交易发送给区块链网络B中的其他节点,其他节点验证通过则交易被记录在交易池中,否则抛弃交易;当客户a想要从存储网络中下载他的数据D时,他需要根据交易找到交易附带的信息,从交易信息中找到对应各个数据块d的存储节点m,从存储节点下载对应的数据块即可;由于数据D的分块d在存储网络M中是冗余存储的,相同的数据块全部丢失的概率极小。
6.如权利要求1所述的基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述基于区块链和分布式存储系统的安全存储证明的共识方法的基于概率的优化共识算法的步骤如下:
1)每次共识开始后,计算参数包括各区块链节点对共识公共时间t、在t时刻产生的随机数、节点自身ID和计算轮次d,每个区块链节点分别对这些参数进行哈希,然后除以哈希长度再与其对应的影响因子比较,若满足条件,则向其他节点发送自身称为候选者的消息及该消息的摘要签名,若不满足条件,则进入2);
2)所有节点在第一个延迟时间内对接收到的满足条件的候选者进行筛选,筛选条件为首先满足候选者条件;然后计算次数小者优先,同一计算次数则概率小者再优先,到达一个延迟时间后就向自身选中的候选者发送确认回应;
3)所有的候选者在第二个延迟时间内接收其他节点的确认回应,当接收到的确认回应超过一半后可认为被选举为记账者,向其他节点发送自己生成的区块和接收到的确认回应,其他节点验证通过后并将区块添加到链上后可,认为此轮共识达成,开始下一轮共识;
4)若2)所有节点在一个延迟时间内都未收到满足条件的候选者,则在第一个延迟时间结束后直接开始下一轮共识,避免产生空块。
7.如权利要求1所述的基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述基于区块链和分布式存储系统的安全存储证明的共识方法的影响因子的计算方法;影响因子是使用加权表达式衡量存储节点存储能力强弱的数值;加权表达式是对存储节点的存储能力的各项指标的数值与其不同权重值乘积的累加;存储节点的存储能力的各项指标主要包括存储因子、网络因子和其他因子,三种因子的比重分别为a、b、c,其中a+b+c=1且都大于等于0。
8.一种如权利要求1所述基于区块链和分布式存储系统的安全存储证明的共识方法的分布式存储系统,其特征在于,所述分布式存储系统分别是应用层、区块链网络层和分布式存储网络层;包括获得要被存储的数据并且生成针对数据存储在存储节点某个物理磁盘的存储证明;包括区块链网络验证存储节点的存储证明并维护一张全存储网络的实时存储状态表;包括对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
9.一种应用权利要求1~7任意一项所述基于区块链和分布式存储系统的安全存储证明的共识方法的网络存储系统。
10.一种应用权利要求1~7任意一项所述基于区块链和分布式存储系统的安全存储证明的共识方法的信息数据处理终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419147.7A CN110321074B (zh) | 2019-05-20 | 2019-05-20 | 基于区块链和分布式存储系统的安全存储证明的共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910419147.7A CN110321074B (zh) | 2019-05-20 | 2019-05-20 | 基于区块链和分布式存储系统的安全存储证明的共识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321074A true CN110321074A (zh) | 2019-10-11 |
CN110321074B CN110321074B (zh) | 2021-07-09 |
Family
ID=68113196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910419147.7A Active CN110321074B (zh) | 2019-05-20 | 2019-05-20 | 基于区块链和分布式存储系统的安全存储证明的共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321074B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522790A (zh) * | 2020-04-21 | 2020-08-11 | 昆明大棒客科技有限公司 | 基于BigBang Core区块链电商模板的IPFS数据交易方法、装置和设备 |
CN111858540A (zh) * | 2020-07-28 | 2020-10-30 | 昆明大棒客科技有限公司 | 带权重的分布式数据存储方法、系统和存储介质 |
CN112187866A (zh) * | 2020-09-03 | 2021-01-05 | 山东大学 | 一种基于共享存储的新型区块链共识方法 |
CN112235379A (zh) * | 2020-09-30 | 2021-01-15 | 电子科技大学 | 一种区块链底层共享存储方法 |
CN112416263A (zh) * | 2020-12-10 | 2021-02-26 | 从法信息科技有限公司 | 基于随机验证的时空证明成块存储方法、装置和电子设备 |
CN112633879A (zh) * | 2020-12-18 | 2021-04-09 | 上海万向区块链股份公司 | 应用于区块链中能够在无交易时不出空块的共识系统及方法 |
CN112906036A (zh) * | 2021-03-24 | 2021-06-04 | 合肥工业大学 | 一种基于区块链技术的车联网匿名安全取证方法与系统 |
CN112947868A (zh) * | 2021-04-08 | 2021-06-11 | 辽宁大学 | 四分支链式结构金融区块链存储系统 |
CN113094334A (zh) * | 2021-03-22 | 2021-07-09 | 四块科技(天津)有限公司 | 基于分布式存储的数字服务方法、装置、设备及储存介质 |
CN113536356A (zh) * | 2021-07-30 | 2021-10-22 | 海宁奕斯伟集成电路设计有限公司 | 数据验证方法和分布式存储系统 |
CN114172655A (zh) * | 2021-11-07 | 2022-03-11 | 西安链融科技有限公司 | 一种安全多方计算数据系统、方法、设备及数据处理终端 |
CN114520812A (zh) * | 2021-08-16 | 2022-05-20 | 西安电子科技大学 | 用于区块链分片系统的存储轮换方法、系统、设备及应用 |
CN117319422A (zh) * | 2023-11-28 | 2023-12-29 | 天津市城市规划设计研究总院有限公司 | 一种城市规划领域物联网数据的区块链成块方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160350728A1 (en) * | 2015-05-28 | 2016-12-01 | OX Labs Inc. | Method for cryptographically managing title transactions |
CN106534273A (zh) * | 2016-10-31 | 2017-03-22 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
CN107832139A (zh) * | 2017-09-26 | 2018-03-23 | 上海点融信息科技有限责任公司 | 用于管理区块链节点的计算资源的方法、设备和系统 |
CN108681583A (zh) * | 2018-05-11 | 2018-10-19 | 北京奇虎科技有限公司 | 基于区块链的数据持有证明方法、装置及可读存储介质 |
CN108712488A (zh) * | 2018-05-11 | 2018-10-26 | 北京奇虎科技有限公司 | 一种基于区块链的数据处理方法、装置、区块链系统 |
CN109242535A (zh) * | 2018-08-07 | 2019-01-18 | 宜人恒业科技发展(北京)有限公司 | 基于参与度的共识机制dpop进行行为价值量化的方法和系统 |
CN109271115A (zh) * | 2018-10-11 | 2019-01-25 | 重庆晨鲸科技有限公司 | 存储共享方法、装置、区块链分布式网络拓扑 |
-
2019
- 2019-05-20 CN CN201910419147.7A patent/CN110321074B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160350728A1 (en) * | 2015-05-28 | 2016-12-01 | OX Labs Inc. | Method for cryptographically managing title transactions |
CN106534273A (zh) * | 2016-10-31 | 2017-03-22 | 中金云金融(北京)大数据科技股份有限公司 | 区块链元数据存储系统及其存储方法与检索方法 |
CN107832139A (zh) * | 2017-09-26 | 2018-03-23 | 上海点融信息科技有限责任公司 | 用于管理区块链节点的计算资源的方法、设备和系统 |
CN108681583A (zh) * | 2018-05-11 | 2018-10-19 | 北京奇虎科技有限公司 | 基于区块链的数据持有证明方法、装置及可读存储介质 |
CN108712488A (zh) * | 2018-05-11 | 2018-10-26 | 北京奇虎科技有限公司 | 一种基于区块链的数据处理方法、装置、区块链系统 |
CN109242535A (zh) * | 2018-08-07 | 2019-01-18 | 宜人恒业科技发展(北京)有限公司 | 基于参与度的共识机制dpop进行行为价值量化的方法和系统 |
CN109271115A (zh) * | 2018-10-11 | 2019-01-25 | 重庆晨鲸科技有限公司 | 存储共享方法、装置、区块链分布式网络拓扑 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522790B (zh) * | 2020-04-21 | 2023-11-14 | 昆明大棒客科技有限公司 | 基于BigBang Core区块链电商模板的IPFS数据交易方法、装置和设备 |
CN111522790A (zh) * | 2020-04-21 | 2020-08-11 | 昆明大棒客科技有限公司 | 基于BigBang Core区块链电商模板的IPFS数据交易方法、装置和设备 |
CN111858540A (zh) * | 2020-07-28 | 2020-10-30 | 昆明大棒客科技有限公司 | 带权重的分布式数据存储方法、系统和存储介质 |
CN112187866A (zh) * | 2020-09-03 | 2021-01-05 | 山东大学 | 一种基于共享存储的新型区块链共识方法 |
CN112235379B (zh) * | 2020-09-30 | 2021-09-24 | 电子科技大学 | 一种区块链底层共享存储方法 |
CN112235379A (zh) * | 2020-09-30 | 2021-01-15 | 电子科技大学 | 一种区块链底层共享存储方法 |
CN112416263A (zh) * | 2020-12-10 | 2021-02-26 | 从法信息科技有限公司 | 基于随机验证的时空证明成块存储方法、装置和电子设备 |
CN112416263B (zh) * | 2020-12-10 | 2022-09-30 | 从法信息科技有限公司 | 基于随机验证的时空证明成块存储方法、装置和电子设备 |
CN112633879B (zh) * | 2020-12-18 | 2022-11-04 | 上海万向区块链股份公司 | 应用于区块链中能够在无交易时不出空块的共识系统及方法 |
CN112633879A (zh) * | 2020-12-18 | 2021-04-09 | 上海万向区块链股份公司 | 应用于区块链中能够在无交易时不出空块的共识系统及方法 |
CN113094334A (zh) * | 2021-03-22 | 2021-07-09 | 四块科技(天津)有限公司 | 基于分布式存储的数字服务方法、装置、设备及储存介质 |
CN112906036B (zh) * | 2021-03-24 | 2022-10-04 | 合肥工业大学 | 一种基于区块链技术的车联网匿名安全取证方法与系统 |
CN112906036A (zh) * | 2021-03-24 | 2021-06-04 | 合肥工业大学 | 一种基于区块链技术的车联网匿名安全取证方法与系统 |
CN112947868B (zh) * | 2021-04-08 | 2024-05-03 | 辽宁大学 | 四分支链式结构金融区块链存储方法 |
CN112947868A (zh) * | 2021-04-08 | 2021-06-11 | 辽宁大学 | 四分支链式结构金融区块链存储系统 |
CN113536356A (zh) * | 2021-07-30 | 2021-10-22 | 海宁奕斯伟集成电路设计有限公司 | 数据验证方法和分布式存储系统 |
CN114520812A (zh) * | 2021-08-16 | 2022-05-20 | 西安电子科技大学 | 用于区块链分片系统的存储轮换方法、系统、设备及应用 |
CN114520812B (zh) * | 2021-08-16 | 2023-02-14 | 西安电子科技大学 | 用于区块链分片系统的存储轮换方法、系统、设备及应用 |
CN114172655B (zh) * | 2021-11-07 | 2024-03-08 | 西安链融科技有限公司 | 一种安全多方计算数据系统、方法、设备及数据处理终端 |
CN114172655A (zh) * | 2021-11-07 | 2022-03-11 | 西安链融科技有限公司 | 一种安全多方计算数据系统、方法、设备及数据处理终端 |
CN117319422A (zh) * | 2023-11-28 | 2023-12-29 | 天津市城市规划设计研究总院有限公司 | 一种城市规划领域物联网数据的区块链成块方法及系统 |
CN117319422B (zh) * | 2023-11-28 | 2024-02-02 | 天津市城市规划设计研究总院有限公司 | 一种城市规划领域物联网数据的区块链成块方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110321074B (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321074A (zh) | 基于区块链和分布式存储系统的安全存储证明的共识方法 | |
Zhou et al. | Solutions to scalability of blockchain: A survey | |
Xie et al. | A survey on the scalability of blockchain systems | |
CN107169865B (zh) | 基于区块链技术的资产数据处理系统 | |
WO2018049713A1 (zh) | 一种基于区块链技术一致性算法的数据管理方法及系统 | |
EP4318362A1 (en) | Blockchain-based data processing method, apparatus and device, and storage medium | |
CN109462587A (zh) | 区块链分层共识方法、区块链网络系统及区块链节点 | |
CN110099055A (zh) | 基于轻量级区块链节点的物联网服务架构 | |
CN109885264A (zh) | 一种区块链节点的逻辑分片方法及其系统 | |
CN110163607A (zh) | 基于区块链智能合约的高校学生数字个人征信方法 | |
Wang et al. | A comparative study of blockchain consensus algorithms | |
CN109447603B (zh) | 一种基于区块链的海洋数据资源共享方法 | |
CN108428132A (zh) | 欺诈交易识别方法、装置、服务器及存储介质 | |
Zhang et al. | Cycledger: A scalable and secure parallel protocol for distributed ledger via sharding | |
CN110570308A (zh) | 一种具有激励机制的基于区块链的电子仓单交易系统 | |
CN110599144B (zh) | 一种区块链节点的入网方法以及装置 | |
CN110348670A (zh) | 一种城市计算环境下的车辆计算资源分配方法 | |
CN112015822B (zh) | 一种区块链数据的删除方法和装置 | |
CN109087105A (zh) | 用于挖矿的哈希搜索方法、挖矿机及区块链系统 | |
CN114938292B (zh) | 一种基于节点可信度的多层次优化pbft共识方法 | |
CN116595094A (zh) | 基于区块链的联邦学习激励方法、装置、设备和存储介质 | |
CN110060157B (zh) | 信誉度评估方法及系统 | |
CN113448694B (zh) | 一种提高事务处理能力的区块链共识方法 | |
CN112463881B (zh) | 一种面向云边聚合计算环境的高效区块链系统及处理方法 | |
CN116996521B (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an Patentee after: XIDIAN University Patentee after: Xi'an Lianrong Technology Co., Ltd Address before: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an Patentee before: XIDIAN University Patentee before: Xi'an Xidian Lianrong Technology Co., Ltd |