星际文件系统(IPFS)如何让网络去中心化?
来源:https://www.maketecheasier.com/how-interplanetary-file-system-decentralize-the-web/
作者: Andrew Braun
翻译:星际大陆
假设您正在下载最新的模因,并且您耐心地等待下载完成。模因当然是火,所以您向您的朋友发送链接。他们从您的手机中获取文件,然后开始与朋友分享。在这一点上,模因存在于几十个设备上,因此,当新用户获得链接时,他们实际上最终会连接到其他几个人,并从每个人那里得到一些片段,从而使得下载几乎是瞬时的。
多亏了星际文件系统,非常真实,易于使用的系统才可能成为我们实现更快,更民主的Internet的关键。如上所述,基本思想是用户设备将存储,索引和传递当前驻留在集中式服务器上的数据。如果这听起来有点像加密货币,那您就没错-该项目的幕后负责人Juan Benet将IPFS描述为“ 从某种意义上说,是对网站进行的……比特币对金钱的影响。”
什么是星际文件系统?
如果您知道BitTorrent或任何其他P2P(对等)技术是如何工作的,那么您将是了解IPFS正在做什么的大部分方法。它在用户设备之间发送文件(包括构成大多数网站的HTML,CSS和JavaScript文件)和文件,就像您完全合法地将公共领域的音乐洪流一样。
这意味着,您无需检查服务器是否连接到站点即可查看,而只是查看附近是否有人在存储该页面(或其中的一部分),而是连接到该页面。下载页面后,您的设备还会将其存储一会儿,以便其他人可以从您那里获得它(或其中的一部分)。这听起来有些复杂,但实际上比我们当前使用HTTP协议通过单个服务器-客户端管道发送数据的系统要高效得多。
为什么很棒?
与传统的Web相比,IPFS具有一些较大的优势:
- 更快,更有效的内容交付:您可以从地理位置较近的手册中下载文件,从而将旅行时间和带宽降至最低。
- 分散化:任何单一来源都无法控制数据或对其进行访问。
- 信息保存:由于没有单个服务器存储所有数据,因此它不能消失并带走您所有的GeoCities网站。
- 在连接较差的区域中实现更快,更稳定的连接:只要您想要的内容已下载到可以访问的位置,实际上就不需要进行长距离连接,这对于零星的区域非常有用或受损的连接。
- 审查制度的阻力:尚不完善,但优于集中式模型。
工作原理:简短版
现在,任何人都可以使用IPFS网络,因为它非常易于使用。这是发生了什么:
- 当您将文件添加到IPFS时,该文件将分为多个块,每个块均通过算法运行并分配有唯一的ID。包括这些块ID在内的整个文件也被分配了一个ID。最初,您的机器将是人们唯一可以获取文件的地方,但是其他节点(机器)也可以将其提取并分发。
- 如果网络发现您的某些数据与已存储在其中的内容相同,则仅使用该数据,而不添加副本。假设您要托管录制的专辑的“豪华版”。其中十首歌曲与您已经录制的专辑相同,但是其中两首是新的,因此当您将它们添加到IPFS时,系统将识别重复的曲目并使用现有的ID,仅添加新的ID为两首新歌。
- 网络上的每个节点都存储一些数据(可能是该节点想要分发的数据,以及该节点最近打开的数据)和一部分索引,该索引可以帮助人们查找在网络上哪里可以找到内容。
- 如果要打开文件,请要求网络查找其ID并将您连接到拥有该文件的任何人。名为IPNS的命名系统有助于将人类可读的名称转换为系统将搜索的机器可读ID。
更简单的翻译:IPFS为每个数据命名,在任何给定时间列出该数据的存放位置,并帮助设备直接相互发送数据。
工作原理:技术版本
IPFS的主要作用有三点:内容寻址为数据提供身份,Merkle-DAG为数据提供结构,分布式哈希表告诉您在哪里可以找到它。
内容寻址:什么,不在哪里
我们当前的大部分内容都有基于位置的地址(C:/Users/Username/Documents、192.124.249.3等),这些地址告诉我们在哪里可以找到数据。在内容分散的系统中,这实际上是行不通的,因为内容几乎可以存储在任何地方,因此IPFS和BitTorrent等系统使用“内容寻址”来代替。
甲内容寻址系统的工作原理是运行一块数据通过一个算法,它分配一个唯一的ID,或散列。文件的每个相同副本将具有相同的ID,这意味着当IPFS查找它时,它可以找到网络上存储的每个实例。
Merkle-DAG:所有内容都有CID,并且它们都已连接
尽管听起来像德国政党,但Merkle-DAG(有向无环图)实际上是组织数据的一种方式。在此系统中,每条数据都有其自己的内容ID(CID):文件夹,文件,文件内部的数据块-包括所有内容。这意味着可以将文件拆分为不同的部分,进行身份验证并重新组合。
IPFS文档将其描述为“一路折腾”,因为所有内容都可以分解为CID可识别的数据集合。文件夹的CID会将您定向到文件和文件夹CID的集合,然后,其CID会将您定向到代表其他内容的其他CID(也带有它们自己的CID)。任何文件中的任何更改都将导致其哈希值以及其文件夹的哈希值也发生变化。
数据实际上并不存在于这里–它只是告诉您在哪里可以找到所有数据,以及一旦拥有它们后应如何将所有数据放在一起。Merkle-DAG本质上是为所有这些ID提供结构的,非常类似于您计算机上的文件系统。
分布式哈希表:IPFS如何定位内容
那么,我们如何去寻找谁拥有我们想要的数据呢?基本上,有一个大型数据库,可将内容ID与托管该内容的计算机的位置进行匹配,并且数据库本身由网络中的每个人分配。当您请求以CID表示的内容时,计算机将搜索CID,直到找到拥有该ID的人员列表。然后,您的计算机将与这些人连接,下载所需的文件,然后进行组装。那就是分布式哈希表 –本质上是谁拥有什么的大列表。
IPFS很酷,但是会成功吗?
IPFS始于2015年,此后取得了长足的进步。已经在其上构建了数十个应用程序和网站(包括分散的YouTube或DTube),区块链文件存储系统(Filecoin)和GeoCities替代品(Neocities)。它成功地实现了去中心化和用户友好的完美结合,这可能就是为什么它成为希望进入去中心化的项目的首选,例如Sociall(去中心化的社交网络)和Brave。
Cloudflare的IPFS网关非常受欢迎,而且网络的使用一直在变得越来越容易。您所要做的就是下载程序并安装浏览器扩展。当然,关于它是否真的是最佳解决方案存在争议-它远非唯一一个具有相同愿景的项目-但它并没有显示任何放缓的迹象。即使它不能完全替代HTTP,也似乎肯定会成为下一版Internet的一部分。
本文来源于互联网:星际文件系统(IPFS)如何让网络去中心化?