互联网已成为生活中不可或缺的一部分,我们通过互联网与家人沟通交流、工作学习、浏览信息。然而,依赖于“HTTP”的互联网存在结构性的缺陷——存在集中形式的信息。具体来说,如今的互联网是依靠企业服务器存储信息,如果该服务器因为某些原因出现中断,信息就会从网络中消失。HTTP协议作为互联网底层通讯协议,已经老态毕现,而新一代IPFS技术正在挑战HTTP的地位。简而言之,IPFS是将Internet从HTTP切换到P2P方法。星际文件系统(IPFS)的由来?Juan Benet是IPFS的创建者和协议实验室的创始人。协议实验室主要负责IPFS的技术研发,同时还开发了Filecoin和IPLD(以及其他一些项目)。Benet在斯坦福大学学习计算机科学,并且非常关注与知识、科学和技术有关的任何事情。Juan Benets最初的目标,并不是在构思这个概念时创建IPFS。他想要做的是找到一种有效的方法来移动科学数据集,这意味着数据大小在10-100+GB。IPFS的设计看起来像,Git和BitTorrent综合在一起的结晶。BitTorrent使你能够快速地在网络上移动大型文件,而Git提供内置的数据版本。
在创建此协议之后,Benet很快意识到其影响远大于移动大型数据集。他实际上已经创建了一个协议(即IPFS),可以取代其他通用的协议,用于我们今天如何通过网络更快的访问信息。理解IPFS如今,通过HTTP协议从Internet下载图像,通常使用包含域名URL的地址。例如,星鉴网的LOGO图像地址是这样的“https://www.ipfsfirst.com/Content/img/logo.png”。HTTP获取信息的方式是“基于位置寻址(基于位置的访问)”。在基于位置的寻址中,如果服务器关闭,则无法从Internet访问服务器中包含的所有信息。为了解决这个问题,IPFS引入了“基于内容的寻址(基于内容的访问)”的概念。也就是说,对于IPFS,网络上的文件通过网络“共享”,其中“散列”值被用作可以识别单个文件的“指纹”,通过指定哈希将文件提供给试图访问该文件的人。每个文件都有一个唯一的哈希,可以认为它是文件的指纹或标识。当您想要访问一个特定的文件时,您只需询问网络中谁拥有具有指定哈希的文件副本。一旦发出请求,IPFS网络上的某人将提供您所请求的资源。您将下载该资源,并将副本保存到您的IPFS缓存中。现在,当另一个人来请求相同的文件时,您将能够向他们提供该文件。这就创建了一个系统,当它被更多地使用时,速度就会加快,因为共享的文件越多,它们就越容易在大量节点中可用。顺便说一下,IPFS网络加入了冗余机制,即使多个用户在网络种共享文件,相同文件只在网络种存储一次。IPFS会在整个网络范围内删掉冗余重复的文件, 并为相同文件建立版本管理, 也就是说,每一个文件的变更历史都将被记录(类似版本控制工具Git,SVN等),用户可以很容易回到文件的历史版本去查看数据。IPFS机制在IPFS中,文件存储在IPFS对象中,每个对象可以存储256 kb的数据。对象还可以包含到另一个IPFS对象的链接,链接使存储大于256kb的数据成为可能。
例如,在保存图像文件时,文件被分为多个对象,最大为256 KB。IPFS创建“空对象”,链接到构成图像的所有对象。通过这样做,Bennet说该架构可以使用IPFS成为真正的文件系统。
这个体系结构非常简单,但也非常强大,体系结构真正允许将IPFS用作文件系统。如果您查看下面的简单文件目录结构,我将解释如何将其转换为IPFS结构:
在IPFS中,它构造为以下对象。由于IPFS采用基于内容的寻址,因此可以保证每个文件都是不可变的,并且可以防止篡改的点类似于“ 块链 ”。
IPFS可以防止篡改,但当然也可以更新数据。所有数据更新信息都由Git机制记录,IPFS是能够确认更改内容的一大优势。例如,我们创建一个名为“重要文档 - v1.doc”的文本文件,并在IPFS网络上共享它。在这种情况下,将创建一个名为“Commit object”的新对象,并存储Important Document - v1.doc。这意味着添加的文件是不可变的,它们永远无法更改,非常类似于区块链。这意味着您可以确信您正在访问的资源是正确的数据,并且从未被更改过。IPFS网络面临挑战IPFS网络上的节点需要保存下载文件的,并在其他用户需要时使其可用。如果文档托管在少数节点上,如果所有该节点都脱机,则会出现与HTTP相同的问题,即无法访问该文档。因此,存在如何维护节点的问题。这个问题正是Filecoin想要解决的。Filecoin是由创建IPFS的同一组创建的。Filecoin是构建在IPFS之上的区块链,其目标是创建一个分散的存储市场。这意味着,在硬盘上有额外存储空间的用户可以将其出租作为IPFS存储,并在此过程中从中获利。你可以把Filecoin看作类似于Airbnb的服务,而不是把你房子里的可用空间出租出去,而是把你电脑上的可用空间出租出去存储。Filecoin为节点创建了一个激励机制,使其保持数据在线,并尽可能长时间地保留数据。除了保持节点在线的动机之外,它还在多个节点之间复制数据,使其具有高可用性和易于访问性(即使有一些节点离线)。Filecoin和IPFS具有相同的目标,即脱机优先,这意味着他们不断努力获得更好的体验,而无需调用服务器来访问资源。Bennet表示,未来将在博客上更详细地介绍Filecoin和IPDL。
IPFS未来我希望从本文中可以明显看出,IPFS是一个非常雄心勃勃的项目。大多数以权力下放为重点的早期项目主要是关于货币和财政方面。IPFS实际上是 关于建立更好的数据共享方式。HTTP以前也遇到过挑战。但是,IPFS显然是最成熟的制度,并被认为是在今后几年内可得到广泛采用的制度。我绝不是在暗示HTTP即将消失,Juan Benet自己承认HTTP是一个很好的协议,仍然非常有用。然而,这个协议已经有超过25年的历史了,随着IPFS的不断采用,用例将随着技术的发展而扩展。我们很可能会遇到这样的情况,即我们将同时使用这两种协议,直到IPFS最终取代HTTP。