分布式存储项目分析维度(crust,filecoin,cess,chia, greenfield,sia,ethstorage,stroj,arweave,swarm)

分布式存储可以从一下几个维度来进行对比:是否存储用户数据?chia就只是空间证明,用空间挖矿,不存储用户数据。storj和greenfield,ethstorage都需要存储用户数据,不然整个项目就没有办法赚钱了,尤其是greenfield和ethstorage,因为他们俩个没有自己的token

分布式存储可以从一下几个维度来进行对比:

  1. 是否存储用户数据?chia就只是空间证明,用空间挖矿,不存储用户数据。storj和greenfield,ethstorage都需要存储用户数据,不然整个项目就没有办法赚钱了,尤其是greenfield和ethstorage,因为他们俩个没有自己的token,也就无法用自己的token的增发来补贴(激励)SP运行存储,所有的钱都来自于用户的付费。
  2. 存储价格谁来决定?系统(cess),还是SP(filecoin)
  3. 存储冗余度谁来决定?SP为了自己业务和声誉自己做冗余备份(filecoin),还是系统本身就设计了冗余备份(cess)?
  4. 复制证明,存储证明:如何证明自己已经复制了文件,如何证明自己一直存储着文件。
  5. 存储什么类的数据:只能存储小文件(arweave),最好是冷数据(归档数据,file coin),web3数据?
  6. 数据是否权限管理:谁都可以读取(filecoin,cess,crust),greenfield读取数据前需要先查看一下链上的信息,读取者是否有权限。
  7. 处理隐私数据:
  8. 数据是否抗审查?抗审查(arwaeve),不抗审查(filecoin,cess)
  9. 共识的validator和SP是不是同一个人:
  10. 对于客户来说,分布式存储是一个池子,还是多个池子:多个池子(filecoin,可以更好的做数据主权的事情,但是需要和单个SP进行价格的商议等),一个池子(cess,可以降低用户复杂度,但是不符合数据安全法),(crust也不知道是谁存储了数据,任何一个SP都可以存储,费用都是整个网络来定价。)
  11. 是否支持智能合约:支持(filecoin,greenfield,crust,cess),不支持(chia,storj,sia)
  12. 是否可以永久存储:可以(arweave),不可以(filecoin,crust,storj)
  13. SP存储数据是否要质押token。

阿里云等云厂商的对象存储的收费模式都是非常的灵活。比如:既可以包月,也可以按照实际流量然后按时间段收费。很多都是充值模式。 同时存储一个文件,有有多种收费项目对这个文件,包括:存储费用,下载费用,请求费用(请求次数),检索费用,处理费用,解冻费用(归档文件)等等。 而当下的分布式存储的收费策略受制于技术,缺乏灵活性。

CESS

cess甚至自己做了网盘,做了aws等各种工具。

cess有一个中心化的服务器,就是用TEE做的pre-process节点,这些节点会对用户上传的工具做分片,加密等工作。然后再传给SP。Cess采用的 Proof of Data Possession(PDP)来检验数据一直在SP那里存储着。

PDP-协议

数据拥有证明是一种协议,允许客户端验证存储在远程服务云上的数据文件,原始版本的可用性。客户端和服务器根据模型Request-Answer交换消息。

协议PDP包括四种处理:预处理,查询,确认,检查。客户端C(数据所有者)预处理文件,生成本地存储的一小块元数据,将文件发送到服务器S,并可以删除其本地副本。服务器存储文件并相应客户端发出的质询。为了验证文件的所有权,客户端向服务器发送随机质询以检查指定文件的证据。服务器生成响应证明。此计算需要拥有原始数据和当前请求的数据,以避免重复攻击。收到后,客户端将证据与本地存储的文件元数据进行比较。

最简单的基于散列函数的PDP

用于开发PDP的最简单的解决方案是基于散列函数的方式。客户端预先计算k个随机调用Ci,i∈{1,k} 并且计算相关证据Pi=H(Ci||D)。在该过程期间,客户端发送请求Ci服务器,其计算Pi'=H(Ci||D)。如果进行了比较,则客户端假定服务器使用正确的数据存储文件。此解决方案的缺点是-客户端只能验证服务器上文件的真实性k次。

Crust

  1. 存储订单机制。存储订单按类似“存储池”的机制工作。用户下达存储订单后: a)一定数量的存储费将被添加到订单指定的文件支付池中,其余的将被放入整个网络权益池(Staking Pool)中。 b)优先提交了相应存储证明的节点都将添加到该文件支付池的支付队列中,直到支付队列达到其限制为止。队列中的节点可以从此支付池中领取相应费用。 c)任何提交了相应存储证明的节点都将获得Staking配额增加(取决于整个网络上的文件复制量,增加几倍)。 用户首先把文件上传到ipfs,SP(存储商户)的TEE机器通过ipfs获取文件,然后对进行分段hash,然后再把文件发给SP存储起来。TEE会定期对SP存储发起挑战。 SP无法对存储文件的价格自己进行设置。同时SP存储了文件以后不会直接增加算力,而只是增加了可以质押的最高额度,SP需要进行质押token才能获取更高出块权,从而提高出块收益。 因为用户的文件给多个SP存储,前四个SP可以获取存储费用的20%,剩下的80%的存储费用放进来质押奖励池子。因为多个SP存储,每个SP都会全量存储,但是因为sWorker的TEE会对数据进行加密(seal),所以SP也不知道用户的数据内容,同时因为多个SP存储,所以用户退出也不会惩罚。 这里的做的Post证明,和greenfield差不多,都是把数据拉下来,进行对比一下hash。

Chia

通过对磁盘进行生成大型文件表格(专业名称叫做绘图),占有磁盘空间。这个表文件其实就相当于Filecoin的sector,后面都是根据挑战/响应协议来进行时空证明的。链会定期发送随机挑战,Chia里面的矿工(farmer)根据绘图的大型文件表格查找数据,进行响应。 跟BTC差不多,10分钟一个区块,用磁盘上的大型文件表格挑选数据进行难度值的计算,三年减半。没有智能合约,也不能存储真正的文件,也不需要GPU, 是一个纯粹的硬盘挖矿币。

从上面的存储项目分析后,我们知道,除了filecoin外,其余的分布式存储其实在技术都在取巧,没有真正从技术上面保证数据的安全。但是filecoin保证安全的PoRep,PoST算法也有一个大问题,就是需要很强大的机器做sealing的操作,这个对文件进行非常非常复杂的编码以后,文件的解码就是一个大问题,从而导致文件的检索不可能很及时(当然咯,阿里云深度冷冻的归档文件,检索也需要解封,也很慢)。

总结

还有一个关于防文件丢失的问题,cess,crust,greenfield都是把文件分片或者整个文件的多复盘存储在不同的SP上面来解决这个问题的,而filecoin则没有从协议上面对多副本存储进行强制性固定,而是依靠SP自己在提供服务时,自行决策是否要采用EC这类技术来存储数据,因为数据丢失在技术上面保证了会被惩罚的。当然咯,发的钱够不够,其实当真正存储的时候,用户可以和SP进行商议,让SP在处理deal时增加质押金额。另外一个办法就是,用户自己把一个文件存储在多个SP中存储多份,从而保证冗余度。

参考: https://xie.infoq.cn/article/4a6613a635818f138c660cd33 https://www.cess.cloud/theme/cess/globe/Cumulus_Encrypted_Storage_System_v0.5.pdf pdp:https://www.jianshu.com/p/4be37a4ea802 https://wiki.crust.network/docs/zh-CN/gettingStarted

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

4 条评论

请先 登录 后评论
杜满想Elvin
杜满想Elvin
老程序员,区块链架构师