IPFS是Interplanetary File System的缩写,直译过来就是“星际文件系统”,是一个点对点的超媒体协议(“A peer-to-peer hypermedia protocol")。
我们可以看出,IPFS的本质是一份“协议”,通过“点对点”的方式进行网络的组织,在这样一个去中心化的存储网络中,每个节点都可以提供存储空间,供网络中的其他节点进行存储。同时也提供传输,依据规则向网络中需要读取该文件的节点发送本地存储的文件。它是一个面向全球的、点对点的分布式文件系统,试图将所有相同文件系统的计算设备连接在一起。
IPFS宣布了一个未来Web发展计划,它用基于内容的地址替代基于域名的地址。也就是说用户寻找的不是某个地址而是存储在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健康、更持久。IPFS的成功应用将会取代HTTP,成为下一点互联网传输的基石。
总结:IPFS是一个面向全球的、点对点的分布式版本文件系统,目标是补充甚至取代目前统治互联网的超文本传输协议(HTTP),将所有具有相同文件系统的计算设备连接在一起,希望构建速度更快、更安全、更自由的互联网时代。
二、HTTP存在的问题
高度集中化
Web的本意是去中心化,但却变得越来越中心化,今天我们使用的网络服务绝大部分是少数几个网站的服务,如Google、Amazon、腾讯、阿里等。我们每一次访问网络服务都需要连接到中央服务器,中央服务器再将这些数据返回给我们。数据的传输速度取决于网络带宽,如果很多人同时访问中央服务器,会导致延迟甚至无法访问。假如某天这些公司的服务器遭受大量的网络攻击,或是自然灾害导致的服务器瘫痪,我们全球的网民就无法使用他们提供的服务了。可见HTTP变成了一个高度集中的、脆弱的、过度依赖于骨干网络的协议。
将Web进行去中心化,可以大大降低少数组织的延展性,提高所有节点的独立性和自由度,同时也降低了由于服务器中断造成的数据丢失的风险。
维护成本高
中心化的服务器,因为要保障数据服务的稳定性和安全性,所以维护成本非常高。在中心化服务运维中,有一个KPI指数叫SLA,稳定性没有达到99.9%的话,基本不合格。SLA需要消耗特别大的成本,大公司需要雇佣一批运维专家或专业人士,去保障系统的稳定性。
不然12306也不会宣传花费了1个亿去建一个购票网站了,即使这样,在高峰时刻也还是不得不拔网线。
过度依赖于Internet主干网
当内容过度集中化之后,数据中心就会高度依赖于Internet主干网络。这样除了有利于政府对内容进行封锁和审查,事实上会存在很多问题。因为主干网络有可能会被损坏,出现路由表失控、或者遭受攻击等问题。
三、IPFS的应用优势
IPFS架构
IPFS有八层协议栈,从上至下分为:身份、网络、路由、交换、对象、文件、命名、应用,每个协议栈各司其职,又相互搭配。
技术上不太懂,总的来说,IPFS具有两大核心优势:
1、大大提高系统效率;
2、大大降低系统成本。
基于内容寻址
目前通过HTTP浏览器搜索文件的时候,首先要找到服务器的位置(IP地址),然后使用路径名称在服务器上查找文件。IPFS从根本上改变了用户搜索的方式,通过IPFS,用户搜索的是内容。只有文件所有者可以判断这是否是用户要找的文件,此时,必须保证托管者不会通过移除文件或者关闭服务器对文件做任何更改。
当文件被添加到IPFS节点上,它得到了一个新的名字,这个名字就是一个加密哈希,它是由文件内容被计算出来的。通过加密哈希保证了该哈希只表示该文件的内容,哪怕对文件只做一点点修改,哈希值就会完全不同。当下一步向IPFS网络询问哈希的时候,它通过一个分布式哈希表,可以快速找到拥有该数据的节点,从而检索该数据,并使用哈希验证是否是正确的数据。
IPFS服务的文件可大可小,对于一些大的文件,它会自动将其切割为一些小块,使IPFS节点不仅仅可以像HTTP一样从一台服务器上下载文件,而且可以从数百台服务器上进行同步下载。IPFS网络是一个细粒度的、可靠的、分布式的内容分发网络(CDN)。
小结:IPFS应用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是存储在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。
四、IPFS的应用意义
一、为内容创作带来自由
Akasha是一个典型的应用,它是基于以太坊和IPFS的社交博客创作平台,用户创作的博客内容通过IPFS网络进行发布,而非中心服务器。同时,用户和以太坊账户进行绑定,用户可以对优质内容进行ETH打赏,内容创作者能以此赚取ETH。没有太多监管的限制,也没有中间商抽成,内容收益直接归创业者所有。
二、降低存储和宽带成本
用户上传的文件如视频文件,经过IPFS协议进行存储,具有唯一标识。相较于传统视频网站,它降低了同样资源的冗余程度,同时大大节约了海量用户在播放视频时所产生的带宽成本。
三、与区块链完美结合
区块链的本质是分布式账本,瓶颈之一就是账本的存储能力。目前大部分公链的最大问题是没法存储大量的超媒体数据在自己的链上,需要IPFS这样的技术提供底层的数据存储服务。
典型的应用就是EOS,其引以为傲的是可以支持百万级的TPS并发量,其中除了DPOS共识机制的功劳外,还归功于底层存储采取IPFS技术来解决大型数据的传输效率。
四、为传统应用提供分布式缓存方案。
IPFS将中心服务提供的数据通过算法转化成一维字符串,并将与之相关联的具有检索价值的数据存入IPFS网络,并由IPFS网络标识唯一性,然后分布在各个邻近节点上。
当检索请求到来时,系统先通过字符串近似度范围比较,缩小检索范围,加快检索效率。通过临近节点拿到超媒体数据,达到类似分布式缓存的效果,大大提高了传统应用的检索效率。
网友评论