IPFS和Filecoin这两个项目一直以来都受到业界的高度关注。对其中的IPFS,人们不仅把它看作是一个去中心化存储和文件分发方案,甚至还寄望它有可能彻底取代现行的互联网底层标准之一的http,成为下一代互联网的底层标准。
那么互联网现行的底层协议HTTP都有些什么问题,而IPFS又是如何解决这些问题的呢?
一. HTTP存在的问题
1. 文件获取效率低下,存储成本昂贵
当我们使用HTTP协议浏览或下载文件时,只能从一台计算机服务器上一次下载一个文件,因此,这台计算机服务器的响应速度和它的网络通信环境就限制了我们浏览和下载文件的速度。
此外由于文件是从一台服务器上下载,因此为了保证文件的有效存储,往往还要对服务器上的文件进行大量备份,以防丢失,这导致存储成本的高昂。
2. 文件保存时间短
现在我们一般上网浏览的网页都不是永久保存的,甚至都无法做到长期保存。一般网页的平均使用寿命为100天,大量的网站文件不能得以长期保存。有些重要的文件还有可能因操作不当,永远被删除。
3. 中心化的网络存在严重的安全隐患和性能瓶颈
我们现在浏览的网页都是存在某台服务器上的。比如我们上淘宝买东西,我们看到的每一个网点的商品网页就存在淘宝的服务器上。如果一旦淘宝的服务受到攻击那么这些信息可能就会被劫持或让我们无法正常登陆使用。
淘宝早年在举办双11活动时,曾经在活动高峰期出现访问网站困难,买到商品无法下单的情况,这就是因为用户的访问量过大,全部集中在一个时段访问服务器,导致服务器无法承受太高的负载而崩溃。
现在大型互联网公司为了解决这个问题都会采用服务器集群,也就是同时由多台服务器分担任务的方式进行处理,但即便如此,所起的作用也是极为有限的。
4. 网络通信太依赖骨干网
在互联网的通信过程中,任何两点之间的通信都需要路由器进行路由,让相距千里之外的两个电脑能够互相通信。而这种通信有时要跨越巨大的空间距离和天然屏障,而要跨越这些屏障连接空间距离需要固定的路径和桥梁。
在现实生活中我们看到过很多跨海大桥,跨江大桥。它们所起的作用就是把由于天然屏障被分割成一个个孤岛的地区连接起来。
在互联网领域同样如此,把每一个小的网络连接起来组成互联网,也需要这样的“桥梁”,在互联网中,这被称为“骨干网”。
我们访问美国的网站就需要通过骨干网才能访问到。
因此如果这些骨干网出问题或者受到攻击,则信息在全球的流通将会被阻断,互联网将会被分割成一个个局域网。
网络越大时为保证数据的可靠性,我们开发的应用程序太依赖大型的中心服务器,并通过大量的备份来保证数据的安全。
HTTP协议已经使用了20年,从HTTP 1.0到现在的HTTP 5,网页的展示越来越美观丰富,支持的功能也越来越强大,但它底层的架构和模式从来没有变过。
二. IPFS是如何解决这些问题的
1. IPFS从本质上改变了网络数据的分发机制
在IPFS中不存在服务器的概念,或者也可以说在IPFS中,每个节点都是服务器。在互联网中存储在某一台服务器上的文件在IPFS中可以存在多台服务器上。
这一方面保证了数据的备份,另外一方面也使得数据的下载和访问更加便利。当用户需要下载某个文件时,IPFS会根据用户的位置为用户寻找逻辑上离他最近的节点,用户便可以从最近的节点下载。
即便由于某种原因那个节点的文件损毁了,系统会切换到其它存储有同样内容的节点供用户下载。
另外,我们现在访问网站,比如我们访问新浪,新浪网上所有的网页都是存在新浪的服务器上的,那么一旦新浪服务器出问题,则所有的网页都会受影响。
未来有可能当我们访问新浪时,新浪网上每个网页都存在彼此相距千里的多台不同节点上。当我们看其中一条新闻时访问的可能是中国的一个节点,当我们看另一条新闻则有可能访问的是美国的一个节点。
因此用户不用再担心互联网中某台服务器受到攻击他就无法拿到数据,或者骨干网出问题他无法访问数据的问题。
2. 数据的存储将安全可控
在互联网服务器中,要长期保存数据则必须人为作备份计划,极易导致因为人为疏忽而丢失数据的情况发生。
而在IPFS中,任何一个文件都会有多个备份存储。
另外随着数据量的越来越大,在互联网服务器中存储数据对服务器的要求也越来越高,会极大增加服务器的成本。而在IPFS中,文件可以被分割,灵活地存储。
因此IPFS在理论上能够解决现有互联网所面临的很多问题,如果再在实践中经过进一步的丰富和完善,即便不能彻底取代HTTP,也很有可能成为下一代互联网的底层标准之一。