科普:为什么说复制不利于去中心化存储

85e4513aa0a4ce27b91ce3bab6641027.jpeg

免责声明:本文旨在传达更多市场信息,不构成任何投资建议。本文仅代表作者的观点,并不代表Mars Finance的官方立场。

小编:记得要注意它

投资区块链,激烈的邮票:火星金融应用程序下载

头等舱仓库

原作者:Patrick Gerbes和John Gleeson翻译:头等舱头等所有版权Jaden翻译,任何信息转载请保留序言。

eef5c0701c233d31175d7f9b8f85a692.jpeg

每个人都有Storj粉丝!我们带来了备受期待的第二部分:为什么复制不利于分散存储。我们的第一部分表明,在分布式存储系统中,纠删码方案是比复制更好的选择。如果你还没有读过,你应该先阅读第一部分(这真的很棒)。 Tl; dr是与复制产生的数据剩余相关的成本,这是不可接受的高。过度扩张严重限制了未来的网络增长,并导致资源配置效率低下。

在本期中,我们深入研究为什么加入和离开的网络节点(也称为流失)对依赖于复制的收益策略产生重大影响(或可以说是负面影响)。我们认为在高损耗环境中使用复制不仅不切实际,而且注定会失败。提到Blake和Rodrigues:“数据盈余是确保数据的关键。但是,对于高度活跃的成员,保留收入数据的成本非常高。”

关于动态的其他知识

在深入研究令人兴奋的数学问题之前,我们需要快速定义一些与网络动态相关的概念。节点的生命周期是由于某种原因它加入和离开系统的持续时间。多个节点的网络具有平均寿命,通常称为平均故障时间(MTTF)。平均故障时间的倒数是每单位时间的流失率或故障频率。这种关系非常重要,需要加以理解,特别是当MTTF的时间单位远大于特定问题所需的单位时。

分布式存储系统的机制是通过替换由于节点流失而变得不可用的块来修复数据。但是,在分布式云存储系统中,文件可能会在修复过程中产生带宽成本?N蘼凼羌虻サ馗粗莆募位故遣脸胍灾匦麓唇ǘУ钠危募薷垂潭夹枰涌捎媒诘阆略丶艏⒔渖显氐狡渌幌喙厍也豢捎玫慕诘恪?

阅读本系列的第一部分后,您可以看到单独依赖复制显然是不可行的,但有些项目提出将擦除代码和复制相结合。一旦您删除了一个文件并将其分布在一组节点上,它就会为一定程度的节点丢失提供一定的持久性。如果要增加某个节点丢失级别的持久性,您有两种选择:增加擦除代码k/n比率或使用复制来复制擦除代码的片段。这两种策略非常不同,除了增加耐用性外,还会对网络产生巨大影响。

我们的假设网络

因此,让我们定义两个假设的分布式存储网络,一个只使用代码来保持数据剩余(即Storj V3网络上使用的方法),另一个使用擦除代码和复制来确保数据过剩(这是Filecoin)。和老Storj网络中使用的方法)。我们假设两个网络上的节点可以随时自由加入和离开,并且每个节点根据硬件,操作系统,可用带宽和各种其他因素具有不同的正常运行时间。当节点离开网络时,该节点上的数据将永远不可用。当然,如果节点低于指定月份的可用性阈值,则该节点上的文件以及完全不在网络中的节点也不可用。

让我们假设这两种情况都使用4/8 Reed-Solomon纠错码比率,并且在节点流失率为10%时具有99.9%的持久性。虽然两个网络都想要达到9秒的十一次的持续时间,但是一个是通过简单地擦除代码来实现的,另一个是通过将擦除代码与复制相结合来实现的。

相关数学知识

事实证明,如果您知道目标持久性,节点的MTTF和纠删码方案,那么您可以计算给定时间段内的数据丢失量。计算数据丢失的公式如下:

9dc2b6768d6f08f97900b8c1c2ab918b.jpeg

那么什么是流失率:B是网络上的字节数,n是擦除总数,m是修复阈值,k是需要重建的块数。

例如,在我们使用纠删码的假设网络中,即使我们使用30/80 Reed-Solomon解决方案(比上面给出的4/8解决方案更耐用),9个月的MTTF意味着您必须每月修复它。 35%的数据达到99.%的耐用性!

这表明节点流失是影响文件可用性的最大因素之一。增加节点流失可以显着降低文件可用性和持久性。擦除代码和复制等策略是防止网络受到节点流失影响的方法,但如果没有替换数据的机制,文件丢失不仅会影响流失率。

因此,让我们将这个数学公式应用于我们的两个假设网络。我们需要做的第一件事是计算如何在每种情况下达到11 9秒的耐久性:

1.对于仅使用纠删码的方案,计算k/n比率,该比率为定义的流失率提供目标持久性。

2.对于擦除代码加复制方案,计算需要复制擦除代码段的次数,以便为定义的流失率提供目标持久性。

为了计算复制或擦除代码文件的持久性,我们需要考虑泊松分布的CDF,由下面的公式给出:

421d4293ce9c94cfcd8190cfb0509f84.jpeg

其中D是大多数n-k个文件片段丢失的事件。在简单复制的情况下,k=1,因此当丢失多达n-1个片段时,文件仍然可以恢复;也就是说,如果网络上至少有一个副本,则仍可访问数据。如果复制已删除的文件,则计算将更改。

假设文件使用k=4,n=8的擦除代码(即,创建8个片段并且仅需要4个用于重建),然后进一步假设复制了8个擦除份额(r=10次)。 ),处理过的碎片总数是80.这80个碎片的特殊之处在于并非所有4个碎片都可用于重建文件,因此它们应被视为总共80个单独的碎片,分为8组,每组包含10件。要重建文件,四组片段中的每一组必须至少包含一个片段。

因此,不是让P(D)作为单一因子确定耐久性(即,丢失多达n-1个片段),P(D)只是重建所需的每个唯一集合的因素之一,因为现在每个k组不得丢失超过r-1个片段,其中扩散因子r决定所制作的拷贝数(r-1拷贝是为了达到r的扩展因子,包括原始文件)。计算此概率需要使用二项分布,其中p是组中丢失最多的r-1副本的概率。然后,为了计算至少有k个集合的概率,并且每个集合包含至少1个副本,我们找到二项式CDF的上尾区域:

27336cb9ca436d9d18222a02a5706e7f.jpeg

让我们首先看一下基于两个假设场景的节点流失对持久性的影响,一个使用复制加擦除代码,另一个使用优化的擦除代码方案。基于上述公式,计算结果如下:

5588763aca1d4ca8334ec883ce156631.jpeg

事实证明(在可预测的情况下)仅在擦除代码的情况下可以增加耐久性,而不增加扩展因子。将副本添加到已擦除代码的数据中更有效,只需直接复制原始文件(需要17个副本才能实现),但扩展因子的数量是擦除代码的三倍。

在流失率较高或变化很大的环境中,两种情况下的耐久性都会受到严重影响:

3156c39ced9a3063566ec0e64f40483a.jpeg

在不可预测或高度可变的环境中,重要的是解决最坏的情况以保持恒定的耐久性水平。同样,正如您从下表中可以清楚地看到的那样,节点流失具有巨大的影响,并且当使用复制时,这种巨大的影响直接转化为扩展因子的增加。在下表中,您可以在尝试保持最小耐久性11 9秒时看到搅动对膨胀系数的影响:

09b608f156a25474a29e49e550731a19.jpeg

那么这些表告诉我们什么?以下是一些有趣的观察结果:

在较高的流失率下,复制可以显着增加缩放因子,正如我们在之前的博客文章中所了解的那样,需要更高的带宽利用率来修复。擦除代码可用于实现更高的耐久性,而不会增加扩展因子或用于修复的带宽量。

为了解决问题,让我们先来看看这两个文件在网络上的实际存在方式:

d920b4884dabd928b60f588984554199.jpeg

有必要了解两个网络上实际修复过程的差异,因为与擦除代码相比,复制过程非常不同。继续上面的1 TB文件示例,让我们看看当存储数据的1/3节点退出网络时会发生什么:

cc9da92c6de4b7ab13ca90834dd579d8.jpeg

关于分布式存储网络要记住的另一个重要事项是网络可以存储的数据量不受节点上可用硬盘空间量的限制。它受节点可用带宽量的限制。请允许我解释一下。

以下变量和计算值用于确定运营商可以提供的存储节点上的数据量和带宽量:

变量

1.存储节点操作员的存储存储节点可以共享的硬盘空间量。

2.下载速度运行存储节点的网络上可用的下行带宽,以Mbps为单位。

3.上传速度运行存储节点的网络上可用的上行带宽,以Mbps为单位。

4. ISP带宽限制存储节点运营商在受到带宽限制(例如造成经济损失或受ISP的带宽限制)之前一个月内可以使用的最大带宽量。

5.存储节点运营商带宽利用率百分比假设带宽的百分比将用于其他服务,则用户将专用于其存储节点的每月总带宽的百分比。

6.出口带宽百分比客户端根据我们支持的用例下载的平均出口流量。

7.修复带宽比率(存储百分比)网络上修复流量的百分比,主要由节点流失,软件或硬件故障驱动。虽然实际节点可能会根据它们保存的文件碎片生成更高或更低的修复流量,但这是整个网络的平均值。

8.入口带宽百分比可以从客户端上载新数据的带宽量。

计算

1.基于下载速度的总可用上载带宽(不包括上限)基于下载速度(以Mbps为单位)乘以一个月中的秒数,可用于门户的最大数据量。

目的带宽上限的百分比。

3.基于BW上限(TB)每月上传的最大数据×可上传的百分比此计算基于下载速度(乘以一个月内的秒数)和可以上传的数据量考虑上限。

4.基于下载速度×每月上载的秒数每月上传的最大数据(TB)此计算是用户愿意用于Storj网络的带宽限制乘以带宽上限的百分比。

5.基于BW上限的每月最大可下载数据(TB)x可下载的百分比此计算是可下载的数据量,无论上限速度如何,基于一个月内的Mbps乘以上载速度。

6.基于上传速度的月度下载的最大数据(TB)此计算是Storj修复流量所需的带宽限制乘以带宽上限的百分比。

7.基于BW上限的月最大修复流量(TB)此计算是修复流量的数据量,无论基于上载速度的上限速度,以Mbps乘以秒。

8.基于上载速度的每月最大修复流量(TB)这是用可用BW的百分比填充可用硬盘空间或实际吞吐量的较低入口率所需的月数。

虽然异步Internet连接中的下载速度通常较高,但从客户端上载和下载与存储节点从上传文件到分散文件系统或从分散文件系统下载文件相反。简而言之,当客户端将数据上传到网络时,它相当于下载到存储节点。类似地,当客户端下载数据时,它等于存储节点上载数据。

以下示例基于具有不同带宽上限的两个不同存储节点。请注意,存储的数据量包括扩展因子。

2d0791c8cfe9c11c992628534be68b22.jpeg

带宽具有重大而全面的影响。它通常是有限的,必须在入口,出口和修理之间分开。随着缩放因子的增加,这些功能消耗的实际带宽量以相同的速率增加。较低的带宽限制进一步减少了网络可以用给定数量的节点存储的实际数据量。增加文件修复所需的带宽量,这仍将减少。

如果您还限制了共享存储的实际有限节点,那么让我们看看可用于修复的带宽的影响。在上面的场景中,节点具有:

2TB带宽上限100Mbps下行链路/10 Mbps上行异步带宽平均共享存储容量为2 TB每月下载50%数据每月上传40%数据10%流失率节点100%带宽容量和存储操作

每个节点的可用带宽小于0.12 TB。这是用于存储存档数据而没有大量下载带宽的环境。当将分布式存储网络扩展到存储的exabyte数据时,扩展因子的影响确实很大。

ff4e5fc169b9cd1285d9d21c975dff68.jpeg

最终,支持给定网络大小所需的节点数量会导致指数级增长。如果存储给定量的存储数据所需的节点数量增加,则这将导致更高带宽使用的问题进一步恶化。给定的网络规模与其相关的收入有限,然后将其分布到越来越多的存储节点运营商,这意味着存储节点运营商获得的金额将随着时间的推移而减少。

面对存储节点运营商的快速增长,每个节点的支出减少,导致节点损耗增加,从而加速了周期。同样,增加的流失率也推动了复制的扩展因子的数量的增加,增加了用于修复的带宽量,这进一步减少了可用于存储和出口的带宽量。

这意味着,在依赖复制和擦除代码的环境中,在带宽保护必须不断优化的环境中,单独的擦除代码方案明显更好。即使在带宽受限的环境中运行相应的扩展因子和修复率,FileCoin网络中使用的复制和复制证明方法也不能保持可接受的持久性级别。假设相同的网络具有25%以上的损耗率,复制示例需要1400%的扩展系数来保持足够的耐久性。如果我的推荐信吓到你,我很抱歉。

在即将发表的文章中,我们将深入探讨分布式网络的运营经济性,但您必须考虑到,在当前的存储市场中,客户只需根据实际的预删除代码或重复卷支付存储费用。在数据和导出带宽方面,当涉及到美元时,复制就更没有意义了。

原文:来源(翻译):

免责声明:本文是作者在《火星》中的作品,并不代表火星金融的官方立场。再版,请注明文章的来源、作者和链接

提示:投资是有风险的,进入市场时必须谨慎。此信息不作为投资财务建议。