IPFS中国社区丨最简单全面介绍IPFS

www.ipfs.cn

作  者丨IPFS中国社区:IP君

文章来源丨www.ipfs.cn

原文地址丨http://www.ipfs.cn/news/info-100173.html

·

互联网是我们日常生活中最重要的工具,是我们如何使用媒体,如何与朋友和家人交谈,如何与同事互动,如何学习新技能,如何理财所使用的工具。

然而,我们所熟知和喜爱的互联网也有缺点。其中最大的缺点是它的信息大部分是集中的,这意味着我们每天访问的信息都保存在中央公司控制的服务器上。

·

星际文件系统的任务

星际文件系统(IPFS)的目标是创建分布式Web。点对点超媒体协议,使web更快、更安全、更开放。

·

扫描二维码关注公众号,回复: 4245081 查看本文章

“中心”的问题

集中化会面临几个主要问题:

第一个问题是当控制大量数据的中央公司,出现不可访问的问题时,说明中央控制服务器成为了一个单点故障,这种故障可能是由于***,或者服务器离线造成的。

第二个问题是审查制度,当大多数数据托管在少数几个主服务器上时,政府更容易阻止对它们的访问。

·

我们为什么要使用一个有缺陷的系统?

我们继续接受这种模式的真正原因是我们被现在的互联网宠坏了。

我们希望网页以毫秒为单位加载,图像和视频的显示没有延迟,当然,所有这些都必须是最高的高清或4K质量。集中化服务器让公司完全控制他们能以多快的速度交付这些内容,并相应地收取费用。

我们继续使用这种方法的另一个原因是真的没有好的替代方法。

 ·

ipfs→不错的选择

星际文件系统(也称为IPFS)是一种使因特网完全分布的想法。这个概念将传统的“HTTP”互联网转换成对等网络,类似于BitTorrent的工作方式。

Juan Benet是IPFS的创建者和协议实验室的创始人。Protocol Labs是一个技术研发实验室,负责IPFS,他们还开发了Filecoin和IPLD(以及其他)。Juan Benet在斯坦福大学学习计算机科学,对任何与知识、科学和技术有关的东西都非常着迷。


Juan Benets最初的目标并不是在制作这个概念时必然会创建IPFS。他想要做的是找到一种有效的方法来移动科学数据集,这意味着数据的大小可能是10-100+ GB。IPFS的设计看起来像Git和BitTorrent,BitTorrent使您能够快速地在网络上移动大文件,Git为您提供了数据的内置版本控制。


在创建了这个协议之后,Benet很快就意识到它的影响远远大于移动大数据集。他实际上已经创造了一个协议,它可以取代其他流行的协议,取代我们今天通过网络获取信息的方式。

  ·

星际文件系统的名字是从哪里来的?

当他们想到星际文件系统(IPFS)的命名时,他们的想法是向互联网的名字致敬。JCR Licklider,他是Arpanet(互联网的前身)的创始人,他的目标是建立一个星系间网络。

因此,互联网是星际网络的简称。星际间采用了相同的命名约定,此外,IPFS的目标是成为Internet协议(IP)的文件系统(FS)。当你把它们放在一起,你就有了IPFS,互联网文件系统。

我将深入探讨IPFS如何作为文件系统。但首先,了解我们今天如何从网络访问文件非常重要。

当你想从互联网上下载图片时,你要告诉你的电脑在哪里可以找到你想要的图片。该位置通常以URL的形式出现,其中包含存储照片的公司的域名,然后是指定文件的扩展名。这个博客帖子的请求示例如下:https://achainofblocks.com/ipfs-simple-guide.jpg。

这种访问资源的方法称为“基于位置的寻址”,您告诉计算机他们可以访问信息的位置,计算机检索信息。这种方法的一个问题是,如果无法访问位置(可能服务器离线),那么用户的计算机就无法检索他们需要的信息。


服务器宕机,我们都宕机了

当服务器宕机时,基于位置的寻址无法通过internet访问服务器中包含的所有内容。然而,当服务器宕机时,另一个用户很可能已经下载了该图像,并将其存储在他们的计算机上。

但是,即使另一台计算机有此文件,您的计算机也无法与另一台计算机连接以传输该文件。

  ·

关于内容

为了帮助解决这个问题,IPFS引入了“基于内容的寻址”的概念。在请求特定资源时,使用基于内容的寻址,您不需要指定位置,只需指定您想要的。

每个文件都有一个惟一的哈希,可以认为它是文件的指纹或标识。当您想要访问一个特定的文件时,您只需询问网络中谁拥有具有指定哈希的文件副本。一旦发出请求,IPFS网络上的某人将提供您所请求的资源。您将下载该资源,并将副本保存到您的IPFS缓存中。

现在,当另一个人来请求相同的文件时,您将能够向他们提供该文件。这就创建了一个系统,当它被更多地使用时,速度就会加快,因为共享的文件越多,它们就越容易在大量节点中可用。

 ·

有改变是好的…

在这一点上,我的猜想是你有和我现在做的同样的问题。我怎么知道提供给我文件的人或节点没有以某种方式篡改它?

因为使用哈希函数检索文件,所以可以验证接收到的内容。更改文件的哈希值与更改区块链中的事务一样困难。对具有特定哈希值的文件发出请求,因此当接收到文件时,要确保哈希值与请求匹配。

这是验证您的Amazon购买的方法。如果你点的是绿色的袜子,而红色的袜子出现了,你会拒绝它们,然后等着你的绿色袜子出现。

IPFS的另一个特性是重复数据删除,这意味着当多个用户发布同一个文件时,它在网络上只创建一次。这有助于提高网络的效率。

 ·

IPFS如何真正发挥作用

现在您已经了解了如何将IPFS与当今的传统方法进行比较的基础知识,让我们更深入地了解IPFS如何实际存储数据并使用户能够访问这些数据。

在IPFS中,文件存储在IPFS对象中,每个对象可以存储256 kb的数据。对象还可以包含到另一个IPFS对象的链接,链接使存储大于256kb的数据成为可能。例如,如果您只上传了一个小的文本文件,那么一个256 kb的对象应该足以处理您的少量文本。


但是,如果要存储图片,则会将其分解为多个对象,每个对象的最大大小为256 kb。然后,IPFS系统将创建一个空对象,该对象将链接到构成该图片的所有对象。


这个体系结构非常简单,但也非常强大,体系结构真正允许将IPFS用作文件系统。如果您查看下面的简单文件目录结构,我将解释如何将其转换为IPFS结构:



这可以通过为每个文件和每个文件夹/目录创建一个对象,然后将文件链接到指定的目录,从而转换为IPFS。但是,如果考虑到IPFS使用基于内容的寻址,情况就会更好。


这意味着添加的文件是不可变的,它们永远无法更改,非常类似于区块链。这意味着您可以确信您正在访问的资源是正确的数据,并且从未被更改过。

  ·

我如何更新我的数据?

IPFS支持文件版本控制,这与Git作为开放源代码存储库的工作方式类似。例如,您正在处理一个名为“重要文档- v1”的文本文件。你想和使用IFPS的人分享这份文件。当您将该文件添加到IPFS时,幕后发生的是,IPFS将创建一个新的Commit对象。


这个对象非常基础,它所做的就是告诉IPFS哪个提交先于这个提交,它链接到与文件“重要文档- v1.doc”相关联的IPFS对象。

现在,让我们假设一些时间过去了,你的“重要文件”也过去了。博士需要修改一下。这只需将新文件添加到IPFS的重要文档v2即可。,软件将为更新后的文件创建一个新的提交对象(与原始进程相同)。这个提交对象现在链接到前面提交的对象,第一个提交作为父对象。

这个过程可以无限重复,创建相同数据的链接链,所有数据都引用整个链。IPFS确保网络上的所有其他节点都可以访问您的文件和整个文件版本控制历史。



没有一个系统是完美的

到目前为止,我们已经讨论了星际文件系统的许多有用特性和关键概念。然而,所有协议都有局限性和缺点。正如您可能想象的那样,IPFS目前面临的最大问题是保持文件的可用性。

网络上的每个节点都保存着他们下载的文件的缓存,并帮助其他用户在需要时使用它们。但是,在简单的情况下,如果一个文档由4个节点托管,并且它们都脱机了,那么该文档就无法访问了。

有几种方法可以解决上述问题。一种方法是鼓励节点保持在线状态,并将文件提供给社区。这是对存储空间的奖励,您可以将其提交到网络中,这将确保文件在需要时具有很高的可用性。另一种方法是在整个网络中主动分发文件,确保在任何时候都有足够的在线副本。你可以把它想象成大规模的冗余。

 ·

Filecoin


这个问题正是Filecoin想要解决的。Filecoin是由创建IPFS的同一组创建的。Filecoin是构建在IPFS之上的区块链,其目标是创建一个分散的存储市场。这意味着,在硬盘上有额外存储空间的用户可以将其出租作为IPFS存储,并在此过程中从中获利。

你可以把Filecoin看作类似于Airbnb的服务,而不是把你房子里的可用空间出租出去,而是把你电脑上的可用空间出租出去存储。Filecoin为节点创建了一个激励机制,使其保持数据在线,并尽可能长时间地保留数据。

除了保持节点在线的动机之外,它还在多个节点之间复制数据,使其具有高可用性和易于访问性(即使有一些节点离线)。Filecoin和IPFS具有相同的目标,即脱机优先,这意味着他们不断努力获得更好的体验,而无需调用服务器来访问资源。

这是Filecoin的一个非常高级的快速摘要。我将在未来的文章中深入研究Filecoin以及Protocol实验室中的一些其他伟大项目。

 ·

星际链接数据(IPLD)

据【ipld.io】

IPLD是内容寻址的网络数据模型。它允许我们将所有哈希链接的数据结构视为统一信息空间的子集,将所有将数据与哈希连接起来的数据模型统一为IPLD的实例。

这意味着IPLD的目标是成为可互操作协议的数据模型。这种类型的技术有很多用例。这赋予了在IPFS上运行的智能契约的能力。关键是IPLD提供了使基础数据跨工具和跨协议互操作的库。

IPLD和Filecoin都是非常复杂的项目,需要它们自己的专用文章才能完全理解。

 ·

额外的想法

我希望从本文中可以明显看出,IPFS是一个非常雄心勃勃的项目。大多数以权力下放为重点的早期项目主要是关于货币和财政方面。IPFS实际上是 关于建立更好的数据共享方式。HTTP以前也遇到过挑战。

但是,IPFS显然是最成熟的制度,并被认为是在今后几年内可得到广泛采用的制度。我绝不是在暗示HTTP即将消失,Juan Benet自己承认HTTP是一个很好的协议,仍然非常有用。

然而,这个协议已经有超过25年的历史了,随着IPFS的不断采用,用例将随着技术的发展而扩展。我们很可能会遇到这样的情况,即我们将同时使用这两种协议,直到IPFS最终取代HTTP。

微信图片_20181123171244.png

1.jpg


猜你喜欢

转载自blog.51cto.com/13970494/2322254