IPFS如何实现数据存储永不丢失?

2020-06-12 17:25:20

IPFS的目标是补充甚至取代过去20多年里使用的HTTP协议,从而构建更快、更安全、更自由的互联网时代。

  IPFS的目标是补充甚至取代过去20多年里使用的HTTP协议,从而构建更快、更安全、更自由的互联网时代。

  IPFS解决了中心化存储的弊端,在保证数据传输的速度上,确保数据安全不丢失,也能保证数据的隐私性。

  它和Filecoin的诞生与开发,被人们认为是“第四次工业革命”。

IPFS


  那么IPFS真的能做到数据存储永不丢失吗?

  这是人们经常诟病的地方。

  首先数据资源丢失的问题是所有的存储方式最为看中的一个点。 在传统的存储领域,如果要想一个数据不丢失,代价是非常大的。


  而这样的代价体现在,如果要降低数据丢失的可能性十倍,所花费的费用可能要几十倍甚至上百倍,同时数据在传统的存储方式上存的越多,安全性也会指数级地降低。

  这也就是为何IPFS将要革新传统存储的根本。


  那么IPFS在存储上究竟有哪些好处呢?

  在IPFS中,采用的是Erasure coding的模式,即M+N的模式,M是原文件的份数,N是备份的份数。

  IPFS会将文件切割发到不同的矿工手里,防止局部网络的瘫痪,对全局文件安全性的影响。


  而IPFS存储最大的好处是在于两个:

  一、文件的备份并不会对整体安全性有任何的降低。

  这一点其实非常好理解,在传统的存储上,你的银行卡密码在家存了一份,在公司存了一份,虽然你忘记并找回来的可能性很大,但被坏人看到的可能性也会随之增加。

  但IPFS不一样,无论你存多少份,你的数据安全性始终是不变的,因为都经过加密并传输在IPFS节点网络上了。

  二、数据的安全性会随着N的增加而非线性地增加,而价格却是线性的。

  N是备份数,学过数学的都知道,在IPFS这样节点故障事件相互独立的概率模型之中,N的增加会极大地降低出故障的概率。


ipfs分布式存储



  现在单说理论可能很多人没有办法信服,那么我们就算一道数学题吧。(下面为了方便理解做的只是简单的计算,并不是实际发生的)

  假如你有一个文件,按照IPFS的分发机制最少会分给7个人,而这个文件不大但却很重要,我们于是将文件存了10遍,于是就有了70个节点来存储。

  假如每个节点发生永久性损失的概率是1%(这个仅仅是电力非永久损失的大致概率,实际永久损失的概率比这个低的多)


  那么文件丢失的概率是多少呢?

  P=1-(1-0.01^10)^7=-7*10^(-20)

  这个概率有多小呢?相当于一个人连续三天被雷劈到或者连续中了两个500万彩票。


  如果你认为数据不是很重要,就存个3-5份,这样的概率也要远远低于把它存在中心化服务器上的。

  还没有完,刚才只是一个小小的数学模型,在实际场景中会有更多的方案在分布式存储中进一步降低数据丢失的概率,


  例如更加合理的数据切割,通过识别找到更低丢失概率的节点组合,更加偏好长寿节点,通过激励与惩罚降低恶性节点的比例,通过建设更多的节点降低单位存储的成本。

  总之有两个原则是永远存在的,N数越大越难丢失,N数对安全性并没有什么损失。

  由此,我们通过IPFS实现了任何数据更廉价的存储,更好的安全性与更强的抗丢失能力。

  而2020年Filecoin主网上线,Filecoin作为IPFS的激励机制,将满足IPFS永久存储的需求。

  只要能持续为文件的存储支付Filecoin,那么文件是可以被永久保存的。


最新推荐