最近几年,分布式网络的概念被挖掘出来,逐渐引起了人们的关注,IPFS(星际文件传输网络)就是一个典型的开源代表。


IPFS曾宣布了一个未来Web发展计划,用基于内容的地址替代基于域名的地址,也就是说,用户寻找的不是某个地址,而是储存在某个地址的内容。基于这一计划的方案无需验证发送者的身份,只需验证内容的哈希,这样可以让网络更快速、更安全、更健壮、更持久。IPFS表示,IPFS未来将替代HTTP甚至更多网络协议。


应用广泛的HTTP存在哪些问题?


1. HTTP鼓励高度集中化

Web的本意是去中心化,但它却变得越来越中心化,变成了一个脆弱、高度集中、无效且过度依赖骨干网的协议。人们目前依靠的只是少数网站提供的服务,政府部门只需要在几个点上拦截通信便可进行监视,但这也使通信因容易遭受DDoS攻击而面临巨大风险。 将Web去中心化,可以降低强大组织的延展性,并提高所有站点的自由度和独立性,同时也能够降低由于服务器中断造成的数据丢失风险。


2. HTTP是低效的

将数据从中央数据中心分发的成本非常昂贵,如果不是出于成规模处理数据的需要,这一方法实际上是不划算的。


IPFS可代替总是从数据中心获取内容的HTTP,如果将一个ISP网络上的每一台计算机变成流媒体CDN,就可以完全在ISP网络上下载,而不需要在Internet骨干网上经过大量的传输,从而大大减少数据传输的费用。


3. HTTP过度依赖于Internet主干网

当内容过度集中化之后,数据中心就会高度依赖Internet骨干网,虽然有利于政府对内容进行封锁和审查,但事实上存在很多可靠性问题。即使允许冗余,主要的骨干有时还是会被损坏,或者出现路由表失控,其后果可能非常严重。所以,Internet骨干网并不健全,很容易被攻击,而当一些重要的光纤线路被切断时服务也很容易遭受影响。

IPFS如何解决这些问题?



1. IPFS是什么?

IPFS(InterPlanetary File System,星际文件传输网络)是一个点对点的分布式超媒体分发协议,能够将所有具有相同文件管理模式的计算设备连接在一起。


从某种意义上来说,IPFS和Web的最初理念很类似,但实际上前者更像是互相转发Git目标的单个BitTorrent用户群。IPFS具备成为Internet子系统的素质,通过合理配置甚至可以替代HTTP,这听起来似乎有些不可思议,但事实的确如此。


2. IPFS的作用

IPFS从根本上改变了用户的搜索方式,通过IPFS,用户能够直接搜索到想要的内容。


以往,用户通过HTTP浏览器搜索文件首先要找到服务器的位置(IP地址),然后使用路径名称在服务器上查找文件。这样一来,只有文件所有者可以判断这是否是用户要找的文件,并且必须保证托管者不会移除文件或关闭服务器对文件做任何更改。


当文件被添加到IPFS节点上后将生成一个新名字,这个名字实际上是根据文件内容计算出的一个加密哈希。加密能够保证该哈希始终只表示这一文件的内容,哪怕只在文件中修改一个比特的数据,哈希都会完全不同。


当向IPFS询问哈希时,IPFS通过使用一个分布式哈希表,可以快速(在一个拥有10,000,000个节点的网络中只需20跳)找到拥有数据的节点进行检索,并使用哈希验证其是否是正确的数据。


3. IPFS的特点

IPFS是通用的,并且存储限制很少。它服务的文件可大可小,会自动将大的文件切割成小块,使节点不仅可以像HTTP一样从一台服务器上下载文件,还可以从数百台服务器上进行同步下载。


IPFS网络是一个细粒度、不可靠、分布式且易联合的内容分发网络(CDN),对包括图像、视频流、分布式数据库、操作系统等在内的所有数据类型都是通用的。而对于IPFS来说,最重要的是静态Web网站。


4. IPFS与区块链技术的结合

IPFS和区块链能够完美结合,用户可以使用IPFS来处理大量数据,然后把对应的加密哈希存储到区块链中并打上时间戳。这样就无需将数据本身放在链上,不但可以节省区块链的网络带宽,还可以对其进行有效保护。关于文件的安全性,一方面可以加密后存入IPFS,另一方面也可利用IPFS实现文件分布式共享。


IPFS弥补了现有区块链系统在文件存储方面的短板,将IPFS的永久文件存储和区块链的不可篡改、时间戳证明特性结合,非常适合在版权保护、身份及来源证明等方面加以应用。


同时,用基于区块链的代币来激励IPFS节点存储数据也是不错的选择。两者结合,能够共同构建去中心化的网络世界。