/ 中存储网

Storj存储项目:用纠删码解决分布式云存储数据问题

2019-09-16 21:58:40 来源:中存储

Storj作为一个领先的区块链存储项目,一直以来受到了广泛关注。

在Geekhub Global Online第六期分布式云存储专题活动中,Storj相关人员分享了Storj V3 内容,包括架构,实现原理等。

一、V3网络组成部分

Storj V3网络由用户/客户端、卫星、存储节点三个部分组成,用户/客户端是上传或者下载数据的用户或应用程序;存储节点则负责存储和分发数据,并通过存储和带宽获得相应的代币报酬,提供的存储越多、带宽越高就能够获得越高的激励; 在Storj系统中,任何人都可以运行自己的卫星,也可以在可信第三方的卫星上建账户。

Storj V3网络由用户/客户端、卫星、存储节点三个部分组成,

在Storj系统中,一共需要八步才能实现数据存储、数据检索、数据维护和支付。首先是检索最佳节点,存储节点提供存储服务才能获得相应的经济回报。而相应时间越短、延迟越少、吞吐量越高、带宽越大、磁盘空间越大、地理位置合适、正常运行空间越长、准确相应次数越多则越能快速存储,相应也能够获得更多激励。第二步是加密文件和使用纠删码对文件进行处理,Storj认为使用纠删码能够减少带宽占用、同事避免等待长尾相应时间,从而带来巨大的性能优势。同时Storj也认为纠删码能够在低膨胀系数下实现非常高的耐久水平。随后将文件碎片并传输到存储节点、相应的数据也将存储在卫星上。在这个过程中自动修复系统将持续运行以保证数据能够及时修复、网络能够及时支付。第七步是检索,用户用元数据识别之前存储的位置,然后检索文件碎片;最后一步是解密并在本地的设备上重新组装原始数据。

二、纠删码的使用

在此次分享中,Storj 还特别阐述纠删码在Storj网络中的使用。

纠删码最早出现在20世纪50年代,作为一种数据保护方法,它将数据文件分割成片段,把冗余数据扩展、编码并存储在不同的位置。纠删码将文件切分成若干碎片,而只需要其中一部分碎片就可以将文件重建。可以用以下公式表示文件碎片和重建数量。

纠删码最早出现在20世纪50年代,作为一种数据保护方法

同时,纠删码可以在不降低数据的可靠性的情况下减少数据存储空间。下表是使用纠删码与复制方法 和只使用纠删码存储空间的对比。

使用纠删码与复制方法 和只使用纠删码存储空间的对比。

可以用一下简单公式来表达。K代表数据恢复的最小数据量, M代表故障后添加的提供保护的额外获冗余符号的数据量,O代表波动节点的数量,N代表纠删码过程之后创建的符号的总值。

N代表纠删码过程之后创建的符号的总值

目前,大型文件、视频文件、数据库快照等都可以使用Storj V3,相信Storj V3网络会给所有用户带来不一样的体验!

三、社区提问:

1、Storj 项目的挖矿证明机制现在是怎样的?效率如何?

Storj网络是分布式的,虽然我们喜欢我们的存储节点操作符,但是软件不信任任何人。存储节点工作证明是确保只有提交的存储节点操作符才能加入网络的几种方法之一。每个存储节点操作符平均必须花费至少几个CPU小时才能找到一个有效的网络节点标识。

2、Storj 如何解决存储文件的冗余度问题?

Storj网络使用纠删码来解决数据冗余度的问题。首先,纠删码可以在低扩展性上实现较高的可靠性。它并没有将扩展性和可靠性直接联系起来,也就是说可以在不增加总体网络流量的情况下提升可靠性。其次,使用纠删码将占用更少的硬件空间而数据恢复成本并不会上升。第三,使用纠删码需要更多的CPU时间,与9x的复制方法和k = 18、n = 36纠删码相比,后者使用不到总带宽的一半进行修复。它还使用不到三分之一的带宽用于存储,占用的磁盘空间也不到三分之一。纠删码耐用性大约是复制方法的十倍。

3、现在 Storj 项目挖矿奖励使用的是 ERC20 类型的 Storj Token,众所周知以太坊 TPS 大概为 7,那么面对高频的小额支付,Storj 如何解决呢?

在Storj,我们正在构建下一代分散式云存储平台。我们让分散化成为可能,让任何人都可以出租他们额外的硬盘空间,就像你可以在Airbnb上出租额外的房间,或者在Turo上出租你的汽车一样。我们面临的挑战之一是实现一个准确、及时、可扩展到数百万用户的支付系统。当前版本的以太坊网络每秒可以处理大约15笔支付,这意味着如果网络只处理我们的STORJ支付,那么整个以太坊网络需要4个多小时才能完成所有这些事务。在我们支付处理的高峰期,我们的交易约占所有以太坊交易的8%。

现在我们正在使用Raiden 来解决这个问题。Raiden开发成熟,并且节点可以轻松地使用本地STORJ令牌(用于所有节点存储和带宽支付的令牌)进行支付。同时,每个月,我们生成一个支付报告,其中包括每个节点id、汇总数据、操作符钱包地址、节点创建日期和审计信息。我们使用节点创建日期来计算代管预提和审计信息来确定任何不合格。

4、如何评价 IPFS 激励层项目 Filecoin?等 Filecoin 上线之后,Storj 如何与之进行竞争?

首先,IPFS还未上线,虽然IPFS提出了“时空证明”这个新算法机制,但是这个算法还没有任何代码支撑,同时IPFS使用复制方法+纠删码,这是低效的。 最后,Storj Labs 在去中心化、网络等方面有更多的经验。在Storj V2版本上,我们建立了一个100PB的网络并积累了大量经验。FileCoin是匿名的,并没有产生一个完整的测试网络。虽然Storj Lab目前处于测试阶段,V3网络是开源的,同时我们积极与社区合作,以确保我们的下一个版本安全运行,预计将于今年秋季能正式使用。

这个图表说明了filecoin方法在数学上的缺点。使用纠删码+复制方法对比表格

使用纠删码+复制方法对比表格

5、因为硬盘挖矿项目受地理位置、存储需求量、网络带宽、硬盘空间等各方面因素影响,那么如果在中国进行 Storj 挖矿,现在收益率是怎么样的?

在存储节点中,可信非常重要。这些是否可信是影响存储节点所存储的数据量和带宽利用率的因素。同时,以下每个因素都是是否可信的影响因素:

频率 - 更新可信节点的频率

时间 - 在网络上节点的生命周期中何时更新可信节点

持续时间 - 建立或更新的可信节点所需的时间

发布的位置 - 网络上分配或建立可信节点的实体

存储的位置 - 存储与可信节点关联的工件或数据的位置

工件 - 用于验证可信节点的数据或对象的描述

值范围 - 用于评估信誉节点的最小可能值和最大值

Tardigrade Minimum - 用于评估是否允许节点存储Tardigrade Satellite数据的最小可能值

声誉因子得分单位 - 声誉节点的度量单位

取消资格阈值 - 存储节点将根据给定的信誉节点移至不合格状态的阈值

在V3网络中,有更多的影响可信的因素和节点。同时可信因素的透明度也非常重要,因为高透明度将会使网络更加稳定、性能越高,存储节点也能够保证较高的可用性、足够的存储和带宽,以保证能够长期使用。其次,高透明度也能保证激励机制的正常运行。设计一套激励机制、制衡机制是保证网络上各类行为能够得到有效奖励的重用步骤。

参考文档:

https://storj.io/storage-node-estimator/

https://storj.io/blog/2019/01/reputation-matters-when-it-comes-to-storage-nodes/

https://storj.io/blog/2018/12/taking-payments-to-the-next-level-with-raiden/

https://storj.io/blog/2019/03/so-youre-ready-for-your-first-payday-as-a-storage-node-operator/

https://storj.io/blog/2018/11/replication-is-bad-for-decentralized-storage-part-1-erasure-codes-for-fun-and-profit/

https://storj.io/blog/2019/01/why-proof-of--replication-is-bad-for-decentralized-storage-part-2-churn-and-burn/

https://storj.io/blog/2018/11/security-and-encryption-on-the-v3-network/

https://storj.io/blog/2018/12/decentralized-auditing-and-repair-the-low-key-life-of-data-resurrection/

https://storj.io/blog/2019/05/flexible-file-sharing-with-macaroons/

原文链接:https://blog.csdn.net/weixin_44383880/article/details/90096650