基于区块链和分布式存储系统的安全存储证明的共识方法转让专利
申请号 : CN201910419147.7
文献号 : CN110321074B
文献日 : 2021-07-09
发明人 : 裴庆祺 , 朱发远 , 赵冬晓
申请人 : 西安电子科技大学 , 西安西电链融科技有限公司
摘要 :
权利要求 :
1.一种基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述基于区块链和分布式存储系统的安全存储证明的共识方法包括以下步骤:首先获得要被存储的数据并将数据分块再分布式地存储到存储网络,并且生成针对数据存储在存储节点某个物理磁盘的一个非交互式的简洁零知识存储证明;
然后区块链网络验证存储节点的存储证明并维护一张全部存储网络的实时状态表;
最后对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识;
所述基于区块链和分布式存储系统的安全存储证明的共识方法的存储证明协议的协议参与方有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都验证通过,则交易生成并将验证公钥vk、副本R的默克尔树根rt、和随机挑战c写到交易信息中,区块链节点b将交易发送给区块链网络B中的其他节点,其他节点验证通过则交易被记录在交易池中,否则抛弃交易;当用户a想要从存储网络中下载数据D时,需要根据交易找到交易附带的信息,从交易信息中找到对应各个数据块d的存储节点m,从存储节点下载对应的数据块即可;由于数据D的数据块d在存储网络M中是冗余存储的,相同的数据块全部丢失的概率极小;
所述基于区块链和分布式存储系统的安全存储证明的共识方法的基于概率的优化共识算法的步骤如下:
1)每次共识开始后,计算参数包括各区块链节点对共识公共时间t、在共识公共时间t产生的随机数、节点自身ID和计算轮次d’,每个区块链节点分别对这些参数进行哈希,然后除以哈希长度再与其对应的影响因子比较,若满足条件,则向其他节点发送自身称为候选者的消息及该消息的摘要签名,若不满足条件,则进入2);
2)所有节点在第一个延迟时间内对接收到的满足条件的候选者进行筛选,筛选条件为首先满足候选者条件;然后计算次数小者优先,同一计算次数则概率小者再优先,到达一个延迟时间后就向自身选中的候选者发送确认回应;
3)所有的候选者在第二个延迟时间内接收其他节点的确认回应,当接收到的确认回应超过一半后可认为被选举为记账者,向其他节点发送自己生成的区块和接收到的确认回应,其他节点验证通过后并将区块添加到链上后可,认为此轮共识达成,开始下一轮共识;
4)若2)所有节点在一个延迟时间内都未收到满足条件的候选者,则在第一个延迟时间结束后直接开始下一轮共识,避免产生空块。
2.如权利要求1所述的基于区块链和分布式存储系统的安全存储证明的共识方法,其特征在于,所述基于区块链和分布式存储系统的安全存储证明的共识方法的影响因子的计算方法;影响因子是使用加权表达式衡量存储节点存储能力强弱的数值;加权表达式是对存储节点的存储能力的各项指标的数值与其不同权重值乘积的累加;存储节点的存储能力的各项指标主要包括存储因子、网络因子和其他因子,三种因子的比重分别为a’、b’、c’,其中a’+b’+c’=1且都大于等于0。
3.一种如权利要求1所述基于区块链和分布式存储系统的安全存储证明的共识方法的分布式存储系统,其特征在于,所述分布式存储系统分别是应用层、区块链网络层和分布式存储网络层;包括获得要被存储的数据并且生成针对数据存储在存储节点某个物理磁盘的存储证明;包括区块链网络验证存储节点的存储证明并维护一张全存储网络的实时存储状态表;包括对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
4.一种应用权利要求1~2任意一项所述基于区块链和分布式存储系统的安全存储证明的共识方法的网络存储系统。
5.一种应用权利要求1~2任意一项所述基于区块链和分布式存储系统的安全存储证明的共识方法的信息数据处理终端。
说明书 :
基于区块链和分布式存储系统的安全存储证明的共识方法
技术领域
背景技术
利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构
与计算范式。因此,区块链在数据防篡改、数据溯源、自治性和去中心化方面具有技术优势。
的集中式存储相比,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务
器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。
IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始
由Protocol Labs(协议实验室)在开源社区的帮助下发展。其最初由Juan Benet设计;而
filecoin是管理IPFS的激励层,通过区块链的特性:经济体系、技术体系、开源和进化,利用
激励方式对整个IPFS分布式存储网络的运行起到最关键的作用,促使IPFS良性循环发展。
储网络的建立应该是各个不同的参与方的问题,导致现在上线的filecoin网络变成了由开
发者主导的网络,不符合去中心化的思想。filecoin网络里共识的达成只考虑了数据的存
储的影响,对于整个分布式存储网络系统的发展来说过于单调和呆板。filecoin数据只存
储在网络中,只保证数据的安全性只是最基本的应用,而这样对于存储网络的其他参与方
来说,得到的受益远远不够,这也是造成现在filecoin网络上线后的尬尴情况的根本原因。
网络达成共识的根本条件,尽最大可能挖掘出数据本身的价值,让数据在本方案设计的系
统中能在区块链的引导下真正流通起来,发挥出数据本身真正的价值,让数据拥有者和数
据存储者真正受益,从而吸引更多参与方加入到存储网络中,从而形成一个真正高效的分
布式存储网络。然而本方案对于如何快速生成存储证明的方法还有待研究。
发明内容
分别为存储初始化、证明者证明和验证者验证。
写到数据交易记录对应的信息中,然后再由b将存储节点m对应的数据块d发送给它;
b将rt和vk写到数据交易记录对应的信息中,再将其发送给用户a。
录在交易池中,否则抛弃交易;当客户a想要从存储网络中下载他的数据D时,他需要根据交
易找到交易附带的信息,从交易信息中找到对应各个数据块d的存储节点m,从存储节点下
载对应的数据块即可;由于数据D的分块d在存储网络M中是冗余存储的,相同的数据块全部
丢失的概率极小。
哈希长度再与其对应的影响因子比较,若满足条件,则向其他节点发送自身称为候选者的
消息及该消息的摘要签名,若不满足条件,则进入2);
一个延迟时间后就向自身选中的候选者发送确认回应;
回应,其他节点验证通过后并将区块添加到链上后可,认为此轮共识达成,开始下一轮共
识;
式是对存储节点的存储能力的各项指标的数值与其不同权重值乘积的累加;存储节点的存
储能力的各项指标主要包括存储因子、网络因子和其他因子,三种因子的比重分别为a、b、
c,其中a+b+c=1且都大于等于0。
分布式存储网络层;包括获得要被存储的数据并且生成针对数据存储在存储节点某个物理
磁盘的存储证明;包括区块链网络验证存储节点的存储证明并维护一张全存储网络的实时
存储状态表;包括对区块链网络中各个节点的影响因子以及利用各个节点的影响因子进行
区块链网络共识。
系统的本身职能与区块链网络的共识结合起来,从而解决了现在区块链网络共识存在的很
多问题,将达成共识的竞争条件由工作量证明单纯的算力大小转换成节点安全存储能力强
弱,不仅促进存储系统的良性发展,而且节约了算力竞争导致的资源浪费,保证了被存储数
据本身的安全和防护的安全,另外保留了工作量证明的大部分优点。
在存储节点某个物理磁盘的一个非交互式的简洁零知识存储证明。该方案包括区块链网络
验证存储节点的存储证明并维护一张全部存储网络的实时状态表。该方案包括对区块链网
络中各个节点的影响因子以及利用各个节点的影响因子进行区块链网络共识。
物理存储上并生成数据副本的默克尔树根,另外生成证明私钥和验证公钥。证明者证明部
分用挑战与副本和证明私钥生成证明。验证者验证部分用挑战与副本的默克尔树根和验证
公钥验证证明。
不同权重值乘积的累加。该存储节点的存储能力的各项指标主要包括存储因子、网络因子
和其他因子。三种因子的比重分别为a、b、c,其中a+b+c=1且都大于等于0。
得超过二分之一节点的确认即可达成共识。该优化后的共识算法是概率在每次共识可以计
算多次,以此降低产生空块的概率。该计算的概率的参数是节点用每次共识基于时间的不
同随机数和其他特征来计算哈希值并除以哈希长度。该延迟时间为传播到全网一定比例节
点所需的最小时长。节点的确认为每个节点在1个延迟时间内验证的最符合条件的候选记
账者。该条件为计算出的概率不大于该候选记账者的影响因子,计算次数小者优先,同一计
算次数则概率小者优先。
附图说明
具体实施方式
限定本发明。
存储证明。该方案包括区块链网络验证存储节点的存储证明并维护一张全存储网络的实时
存储状态表。该方案包括对区块链网络中各个节点的影响因子以及利用各个节点的影响因
子进行区块链网络共识。因此,本公开的实施例通过将区块链和分布式存储系统相结合,通
过数据的安全储存证明和节点的影响因子设计了一个共识方案,将分布式存储系统的本身
职能与区块链网络的共识结合起来,解决了现在区块链网络共识存在的很多问题,将达成
共识的竞争条件由工作量证明单纯的算力大小转换成节点安全存储能力强弱,不仅促进存
储系统的良性发展,节约了算力竞争导致的资源浪费,还保证了被存储数据本身的安全和
防护的安全,另外保留了工作量证明的大部分优点。
和验证者(用户和区块链网络)验证。存储初始化阶段的步骤为:
写到数据交易记录对应的信息中,然后再由b将存储节点m对应的数据块d发送给它;
b将rt和vk写到数据交易记录对应的信息中,再将其发送给用户a。
录在交易池中,否则抛弃交易。当客户a想要从存储网络中下载他的数据D时,他需要根据交
易找到交易附带的信息,从交易信息中找到对应各个数据块d的存储节点m,从这些存储节
点下载对应的数据块即可。由于数据D的分块d在存储网络M中是冗余存储的,相同的数据块
全部丢失的概率极小,因此保证了数据存储的安全。
包括存储因子、网络因子和其他因子。存储因子在本实施例中暂定为已存储数据空间占比、
总存储空间占比、空闲存储空间占比这3个因素;网络因子在本实施例中暂定为平均上传速
度、平均下载速度和网络时延这3个因素;其他因子在本实施例中先列出在线时长、未成功
响应次数这两个。本实施例中存储因子在系统的初级阶段是最重要的指标,暂定占比为
80%,存储数据空间占比是初级阶段的核心,占70%,其计算方法为节点存储数量据除以整
个网络所有数据量,总存储空间占比和空闲存储空间占比也是很重要的指标,暂定占比各
为5%,其计算方法分别为节点总存储空间大小据除以整个网络总存储空间大小,以及节点
空闲存储空间大小据除以整个网络空闲存储空间大小。在本实施例中网络因子暂定占比为
15%,其他因子占比为5%,网络因子在本实施例中暂定为带宽、在线时长和未响应次数,在
线时长为从上一次未响应开始计算的时间长,未响应次数为节点未响应区块链或用户请求
的总次数。上述3项指标按照数值分为不同的等级,相邻等级间差距一倍,但是所有节点指
标加起来总数仍为相对应的占比。另外这些因子的比例只是初级阶段的,渡过初级阶段后
比例还能调整。
化。该优化共识算法步骤如下:
哈希长度再与其对应的影响因子比较,若满足条件,则向其他节点发送自身称为候选者的
消息及该消息的摘要签名,若不满足条件,则进入2);
一个延迟时间后就向自身选中的候选者发送确认回应;
回应,其他节点验证通过后并将区块添加到链上后可,认为此轮共识达成,可以开始下一轮
共识;
领导者的评判标准,层层递进,数据成为整个系统的基础,也是整个系统的核心。而区块链
本身的去中心化使得分布式存储技术从以往中心化管理的桎梏中脱离出来,实现了真正的
分布式存储网络,网络的扩展性和可靠性得到了很大的提高,采用区块链管理分布式存储
网络保证了数据本身的安全,包括可用性、完整性和保密性。分布式存储技术将数据的多份
副本分成碎片存储在分布式网络中,保证了数据防护的安全。数据从用户,存储到分布式存
储网络,再影响到区块链网络的共识机制,而区块链反过来管理着分布式存储网络的运行,
再由分布式存储网络保证数据存储的安全。
的工作量证明机制没必要的算力竞争,将达成共识的时间由计算随机数的时间降低为通信
网络的时延,节约了大量资源,还保留了它的很多优点,包括验证快速高效、计算简单和通
信量少的优点。经过优化后的算法也去除了产生空块的缺点。
共识结合起来,从而解决了现在区块链网络共识存在的很多问题,将达成共识的竞争条件
由工作量证明单纯的算力大小转换成节点安全存储能力强弱,不仅促进存储系统的良性发
展,而且节约了算力竞争导致的资源浪费,还保证了被存储数据本身的安全和防护的安全,
另外保留了工作量证明的大部分优点。