互联网是我们日常生活中最重要的工具。现如今,无论我们做什么,都离不开互联网的支持。
但我们所熟知的互联网也存在一些缺陷,其中最致命的是,互联网上的信息大部分都是中心化的。我们每天访问的信息都保存在由中央公司控制的服务器上。服务器一旦被入侵,人们也失去了数据的访问权限。
1 为什么我们坚持一套有缺陷的系统呢?
说到底,我们坚持这种模式的真正原因是,我们在互联网访问这方面已经被宠坏了。我们希望网页以毫秒为单位加载,无延迟显示图像视频,所有内容还须具备高清品质。
中心化服务器使公司可以完全控制它们交付内容的速度,并对其进行相应的收费。我们坚持此套系统另一个原因是,此前确实没有好的替代方案。
2 IPFS——最佳的替代方案
星际文件系统(也称为 IPFS)是使互联网完全分布式的一种想法。该概念将传统的超文本传输协议互联网转变为点对点网络,类似于 BitTorrent 的工作方式。
Juan Benets(IPFS 创始人)最初萌生设计概念时并没有想说一定要创建 IPFS。他原想找到一种有效的方法来移动科学数据集(这些数据大小可能会是 10-100 GB 甚至更大)。IPFS 的设计看起来像 Git 和 BitTorrent 的融合产物。BitTorrent 使人们能够快速地在网络上移动大型文件,而Git为人们提供了内置的数据版本控制。
创建此协议后,Benets 很快意识到其影响远不只是移动大型数据集。他实际上已经创建了一个可以替代现有的其他流行协议的协议,以解决当今我们如何通过 Web 访问信息的问题。
3 一切基于内容
依赖基于位置寻址的一大弊端就是当服务器出现故障,该服务器中包含的所有内容都将失去互联网访问权限。
为此,IPFS 提出了基于内容的寻址方法——每个文件都有一个唯一的哈希,可以将其视为文件的指纹或标识。当需访问特殊文件时,只需询问网络谁拥有具有指定哈希值的文件副本。
发出请求后,IPFS 网络上的某人将提供你请求的资源。你将下载该资源并将副本保存到 IPFS 缓存中。现在,当第三个人来请求相同的文件时,你也可以提供。
这将创建一个随着使用次数增加而加快速度的系统,因为共享的文件越多,它们在大型节点组中的可用性就越高。
4 IPFS 运作方式
在 IPFS 中,文件存储在 IPFS 对象中,每个对象可以存储 256 kb 的数据。一个对象还可以包含到另一个 IPFS 对象的链接,通过链接可以存储大于 256 kb 的数据。
比如,如果你只上传了一个小的文本文件,则一个 256 kb 的对象应足以容纳你的文本文件。
但是,如果要存储图像,目标图像则会被拆解为多个对象,每个对象最大为 256 kb。这时,IPFS系统将创建一个空对象,该对象(空对象)将链接到组成该图片的所有对象。
这种架构简洁而强大,该架构真正使 IPFS 可以用作文件系统。我们来看看以下文件目录结构,再进一步说明如何将其转换为 IPFS 结构:
我们可以通过为每个文件和每个文件夹/目录创建 1 个对象,然后将文件链接到指定目录,可以将其转换为 IPFS。
但考虑到 IPFS 基于内容寻址这一事实,它甚至可以做得更出色。换言之,添加的文件是固定的,无法更改,和区块链如出一辙。这也意味着你可以放心正在访问的资源是正确的数据,并且从未被更改过。
5 杂谈与总结
很明显,IPFS 是一个十分野心勃勃的项目。之前去中心化的项目大多和发币、金融相关,但 IPFS 为数据共享提供了新的思路。
HTTP 协议之前也面临挑战,作为相对成熟的 IPFS 系统,在最终大面积普及和被接受之前,我们可能会采用双协议并行的方法。
原文链接:
翻译校对:有条鱼。
本文由矿视界(奇迹摩尔)翻译整理编辑,如需转载,请标明出处。