IPFS是什么
IPFS是一个点对点的分布式文件系统协议,也被称为“星际文件系统”。
在这个协议中,IPFS把文件在系统中如何存储、索引和传输都定义好,也就是将上传好的文件转换成专门的数据格式进行存储,同时IPFS会将相同的文件进行了hash计算,确定其唯一的地址。所以无论在任何设备,任意地点,相同的文件都会指向相同的地址(不同于URL,这种地址是原生的,由加密算法保证的,你无法改变,也无需改变)。
然后通过一个文件系统将网络中所有的设备连接起来,然后让存储在IPFS系统上的文件,在全世界任何一个地方快速获取,且不受防火墙的影响(无需网络代理)。
所以从根本上说,IPFS能改变WEB内容的分发机制,使其完成去中心化。
如果你还是不懂,下面举个简单例子。
根据超文本协议HTTP,我们平时在互联网浏览网站或下载文件都要经过一个数据中心,如果这个数据中心出现故障或受限制了,你就只能看着电脑发呆了。
但在IPFS协议,所有文件都是唯一的,只有一个地址,而且这个地址是可共享的。如果刚好你的邻居访问过你想打开的网站,那么你就可以从他那里直接打开网站或下载文件,不用远距离地去访问数据中心,物理距离更近,打开速度更快。
IPFS的特点
IPFS还有很多的用途,但今天只是简单讲解IPFS技术。这里重点介绍IPFS的两个特点。
1、数据永久存储
通过IPFS协议,任何存储在这系统里的资源,包括文字、图片、声音、视频,以及网站代码,都会通过IPFS进行哈希运算,生成唯一的地址。
加上加密算法的保护,该地址具备了不可篡改和删除的特性。这样就表示一旦数据存储在IPFS中,它就会使用久性的。
举个例子,平时打开一些网页,有时总会遇到“404NotFound”这样的情况。根本原因就是你浏览网页的中心服务器出现问题了,这是中心化技术带来的问题,难以改变。
但这种情况,在IPFS上就不会发生。即便是把该中心服务器撤销,只要存储该信息的网络依然存在,该网页就可以被正常访问。存储站点的分布式网络越多,它的可靠性也就越强。
2、解决“过度冗余”问题
如今我们的个人电脑都会存储一些电影、音乐、电子文档这样的文件。但很多文件在网络上都是同质的,比如我的电脑下载了最喜欢的电影《阿凡达》,但说不定你邻居也在电脑里收藏有这电影呢。
这样的后果,带来的就是内存资源极大浪费,这就是HTTP协议的弊端。同样的资源备份的次数过多,就会造成过度冗余的问题。
但IPFS就可以很好地解决这个问题。IPFS会把存储文件,做一次哈希计算,只字不差的两个文件哈希值相同。用户只需要使用相同的哈希值,就可以访问那个文件,这个哈希值就是文件的地址。只要获取这个地址,就可以共享资源了。
由于IPFS协议的用久存储特性,你再也不用担心喜欢的《阿凡达》电影找不到了,在也不用备份了,因为全球的电脑只要几个人存储着这部电影,你就能永远观看,这样就能省下非常多的内存资源。