?
?
IPFS公司IPFS公司
时空云返回列表

什么是IPFS?【解读filecoin项目】

时间:2021-02-20 11:39 来源: 时空社区?? 作者:星辰云算 浏览量:次
IPFS的中文名是星际文件系统(InterPlanetary File System,缩写IPFS),是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs在开源社区的帮助下发展。其最初由Juan Benet设计。
 
IPFS是一个对等的分布式文件系统,它尝试为所有计算设备连接同一个文件系统。在某些方面,IPFS类似于万维网,但它也可以被视作一个独立的BitTorrent群、在同一个Git仓库中交换对象。换种说法,IPFS提供了一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。这形成了一个广义的Merkle有向无环图(DAG)。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的名字空间。IPFS没有单点故障,并且节点不需要相互信任。分布式内容传递可以节约带宽,和防止HTTP方案可能遇到的DDoS攻击。
 
 
下面我们来看一下 IPFS 如何实现分布式网络的目标。

首先你需要了解,我们现在是如何从网上获取内容的。

假设你想从网上下载一张照片,你需要告诉电脑去哪里找这张照片,也就是照片所在的 IP 地址或域名——这就叫 " 地址寻址 "。

但如果这个地址不存在了,也就是说服务器关闭了,你就无法获取那张照片了。不过很可能有人之前已经下载过那张照片,并且在他的电脑中仍然保存着备份,可你的电脑却无法从那个人那里获得该备份。

为了解决这个问题,IPFS 把“地址寻址”改为“内容寻址”。这样一来,你不用再告诉电脑去哪里寻找资源,而只需告诉它你想要什么资源。怎么做到这一点呢? 
每个文件都有其独特的哈希值,也可以理解为指纹,当你想下载某个文件时,只需问网络“谁有含有这个哈希值的文件?”然后 IPFS 网络上的某个人就会将文件提供给你。

如何确保向你提供文件的那个人没有篡改过该文件呢?因为你是使用哈希值获取文件,所以收到文件以后,你可以检查该文件的哈希值是否符合你要求的哈希值,这就是——内嵌防伪功能。

使用哈希值来定位内容的另一大好处是自动删除重复数据,当多个人在 IPFS 上发布同样的文件时,该数据只会被生成一次,这就使得网络效率极高,避免资源浪费。

 

IPFS 如何存储并共享文件呢?

 

IPFS 上的文件都存储在 IPFS 对象中,每个对象最多可存储 256 KB 的数据,也可包含连接其它 IPFS 对象的链接,一个简单的极小的“Hello World”文字文档可以储存在单个 IPFS 对象中。

 

那么超过 256 KB 的文件怎么办呢?比如一张图片或是一个视频,这些大型文件会被分割成数个 IPFS 对象,每一个对象都是 256 KB,之后系统会生成一个空白 IPFS 对象与包含这个文件的其它所有 IPFS 对象链接。

IPFS 的数据结果非常简单但却非常强大,这一结构使我们可以真正把它作为文件系统来使用,这是一个包含了一些文件的简单的索引结构,我们也可以将其转成 IPFS 对象,每一个文件和索引都生成一个 IPFS 对象。

但 IPFS 能做的还不止这些,因为 IPFS 使用内容寻址,一旦某个文件加入了网络,它就不能再被更改了。这是一个不能篡改的数据存储库,非常类似于区块链。


如何更改文件内容?

 

IPFS 支持文件的多个版本,比如说你正在做一个重要的文件,并且想与 IPFS 上的所有人分享,在进行分享时,IPFS 会为你生成一个新的“提交对象”,这个“提交对象”构造很基础,它只是告诉你 IPFS 之前提交了哪个文件版本,并且链接到你文件的 IPFS 对象。

 

假设过了一会儿你想要上传这个文件,只需把更新的文件加到 IPFS 网络上,软件会自动为你的文件生成一个新的提交对象,这个提交对象会链接到之前的提交对象上。

这一过程可以被无限次地重复,IPFS 会确保你的文件以及它完整的历史都能被网络上的其它节点所获取。

 

当节点都不在线时怎么办?

 

Nothing is Perfect,IPFS 也不是没有局限性或缺点的。

IPFS 面临最大的问题就是保持文件在线,网络上的每个节点都保存了其下载过的文件的缓存,如果有其他人需要该文件,这些节点就可以与其分享。

但如果某个文件存储在 4 个节点上,而这 4 个节点都不在线,那么就无人能获取这个文件了。有点像是 BitTorret 下载没有播种人一样。

这个问题有两个解决方案:

一是奖励那些存储并时刻在线的人;二是主动把文件分布存储,以保证网络上总会有一定数量的节点在线。

这就是 Fliecoin 要做的事情。

Filecoin 是由建立 IPFS 的同一群人建立的,其本质是一个建立在 IPFS 基础上的区块链项目,旨在创造一个去中心化的存储市场。如果你有空余存储空间,就可以把它租给其他人并从中获利。

 

Filecoin 形成了一个强有力的激励机制来促进节点尽可能长时间保存文档并保持在线,否则他们将不会获得奖励。

该系统还保证了文件在多个节点上存有副本,所以文件永不会消失。

 

IPFS 会应用到哪些场景?

 

如上文提到的,2017 年土耳其封锁维基百科,IPFS 团队对此的反应是把土耳其维基百科放上了 IPFS。

因为 IPFS 是分布式的且无中心化服务器,无法对其进行封锁。

另一个应用便是 DTube——和油管类似的一个视频网站。不过 DTube 完全建立在 IPFS 这个分布式网络上,任何人都可以发布视频及支持该网站建设。

 

IPFS 能跨行星运作吗?

 

你肯定很纳闷,为什么 IPFS 起名为星际文件系统呢?它难道能跨多个行星运作吗?

假设我们在火星上有个基地,从火星到地球间的信息传输相当困难。鉴于两个星球的位置,一个信号在两星球间传送需要 4-24 分钟。

就算是在最理想的情况下,你在火星上打开电脑,想要访问地球上的维基百科页面。这个发给维基百科的指令要 4 分钟后才能到达地球;到达地球后,指令从互联网到达维基百科服务器;服务器只需几毫秒的反应时间,而服务器的回复仍需要 4 分钟才能返回到火星。所以即使在最佳情况下,访问一个网页也需 8 分钟,网速不佳时则需 48 分钟。


而 IPFS 则有可能把地球上互联网的大部分缓存在火星上,如果某人已经打开过你想下载的网页,那么该网页就已经存在于火星上的某个节点上,从而使得该页面的加载速度跟在地球上一样快。

 

所以说 IPFS 可以将互联网跨星分布。

综上所述,IPFS 是一个有着伟大愿景的项目,制造打造一个真正去中心化的互联网。

 

作者:CoboWallet


分享到:

上一篇:没有了

下一篇:没有了

联系我们

座机:0123-12345678

邮箱:summer819xt@163.com

地址:成都武侯区环球中心e4 1203

网站地图
  • 客服二维码

  • 微信订阅号

  • 微信服务号

XML 地图 | Sitemap 地图