基于区块链的去中心化存储(区块链存储)的工作流程

引入

个人电脑上存储有限,而且如果硬盘损坏数据丢失的话,也不容易恢复.因此很多人愿意把数据上传到云盘里,也就是云存储.但是云存储是服务提供商控制的,比如阿里云,百度云等,我们称为中心化的存储 ,人们对这种中心化模式的担忧在于:数据对企业是可见的,可能会有的企业拿用户的数据去做数据分析等侵犯用户隐私权的事情,或者被黑客窃取,篡改数据.因此,更好地保护用户隐私,不被单一的企业控制数据的去中心化存储需求出现了.

早期的去中心化存储是利用P2P实现的,每个人为他人提供存储空间来存储数据,也从他人提供的存储空间里获取数据,是一种人人为我,我为人人的理念.因为存储空间不是公司或企业提供,而是其他用户提供的,所以符合去中心化的存储,同时存入别人磁盘里的数据是分片和加密的,因此隐私也得到了保护.

然而,所有人都能随意退出网络,而且不是所有人都愿意长期保持着别人的文件,所以这个网络不是很稳定,所以引入了区块链,通过区块链作为激励层,让提供存储的用户得到虚拟代币(如比特币)的奖励,使用了存储的用户需要支付虚拟代币.这就是基于区块链的去中心化存储,也称为区块链存储.下面介绍区块链存储的工作流程.

区块链存储工作流程

基于区块链的去中心化存储(区块链存储)的工作流程_第1张图片
区块链存储流程,如图所示,用户将想要存储的文件上传到P2P网络上.而在此过程中,
1.区块链存储系统会首先将文件进行分片,把文件均等切分成相同大小的文件分片,无法等长切分则补零.
2.对文件分片进行加密,加密后的文件一方面通过冗余算法,例如复制副本或者纠删码编码得到更多的分片,
3.把分片存储到分布式存储节点中,也就是用户提供的存储空间组成的存储网络.
4.另一方面,加密后的文件会生成hash值,然后把hash存入区块链的分布式账本中,记录下文件分片的位置,保护文件的路由路径不被篡改.
5.每一次文件的上传和存储都会被区块链记录下来,等到一段时间内积累的数据量达到一定阈值后,这段时间积累的信息会被打包成一个区块,然后广播给其他矿工(提供存储的用户),经确认后其他矿工会把该区块增加到自己的区块链上.

注:
1)分布式存储节点的存储空间是参与网络的其他用户提供的,因此是去中心化的.
2)提供存储的用户会得到虚拟货币形式的奖励.使用存储的用户需要付出虚拟货币.

补充: 一些区块链存储项目

这里只列出名字,不做具体介绍,有兴趣可以查查白皮书,官网介绍等资料.
Filecoin, Sia, MaidSafe, Storj, PPIO…

你可能感兴趣的:(区块链)