IPFS的分布式存储真能取代HTTP?
最近虚拟币FIL(filecoin)一下子又火爆了起来,短短3周7倍涨幅,这个币主要是基于IPFS协议产生的token代币,这个号称要代替http协议的东西到底是个什么了?
概念:
星际文件系统 IPFS ( InterPlanetary File System )是一个面向全球的、点对点的分布式版本文件系统,目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议( HTTP ),将所有具有相同文件系统的计算设备连接在一起。原理用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。
ipf是一个协议也是一个网络,将很多种技术(P2P网络技术,bt传输技术,Git版本控制,自证明文件系统的数据传输协议等)加以结合,在这些技术上改进创新,集成了ipf网络。
看到看到P2P点对点这些词语不由得想起百度云盘和以前的快播。
百度云盘
当你上传一份比较大的文件,例如软件、电影时
几个G的文件转瞬间百度云盘就提示你上传完成了
你估摸着家里只有几十兆的宽带
面对十几个G的蓝光电影、单机游戏安装包
丈二摸不着头脑这是怎么办到的
事实上你并没有真的将文件上传了
而是百度网盘在他们自己的硬盘里
发现了一份和你所上传资料一模一样的文件(hash算法)
干脆,直接把这份文件给你标记出来了
快播
经验丰富的快播使用者们应该发现过这样一个小秘密
当你在使用快播的时候
通过流量管家可以看到不仅下行流量在哗哗的走
上行流量也常常处于满负荷的状态
因为这时候的你不仅在享受着片友们的文件输送
也在帮助别的片友们传送着文件
倘若你关闭了上行流量就等于拒绝了互帮互助
下行流量转瞬就会下降甚至归零
上面这两个事例做完铺垫我们就可以聊聊IPFS了
IPFS是一种点对点的超媒体协议
我们可以把它和http/https做一下类比
我们都知道互联网是由非常多的电脑连接构成的
电脑和电脑之间需要一种共同的语言进行沟通
这类共同的语言就叫协议
http就是协议的一种
https是http的升级版,添加了加密技术的配方
而IPFS也是属于协议的一种
在http/https协议下
当我们要查找某一份文件时
我们一定是先找到这个文件所属的网址
DNS解析网址之后
会将我们带到存有这份文件的那台电脑的IP地址
然后我就可以点击下载了
总结来说就是先找到文件存在的地址
然后在这个地址上下载文件
IPFS完全弃用了这一套做法
当你要下载某一份文件时
可以直接通过这份文件的哈希值
找到互联网上的文件源直接进行下载
到这儿你应该就想起百度云的例子了
其实它们的原理是一样的
在文件上传时给它打个标识
以后要下载的人呢
只要通过这个标识就能直接找到这一份文件
在IPFS的生态体系中存在三类角色
分别是用户、检索矿工、存储矿工
当用户上传一份文件时
IPFS网络会将这一份文件拆分成多份的小文件
由存储矿工们根据各自的带宽和存储空间竞争存储
并且获得IPFS的代币奖励,也就是filecoin。
IPFS这么牛逼,那么往后一定能真正代替HTTP吗?
技术上可行,但是实践未必。
- 历史上很多牛逼的技术都没有用,比如电动车100多年前就发明了;地效飞行器更节省成本,60多年前发明了,目前还没用。
- IPFS过分强调分布式点对点,但世界其实没有绝对去中心的东西。监管怎么答应是个很大的问题;
- IPFS技术也存在一些问题,比如文件越被访问,调取越容易,但是不被调用的文件就越来越淡化,甚至调取不出来。
- HTTP固然有弊端,但是IPFS还没强大到超越其10倍性能的地步,如此这般,迁移成本巨大。
- IPFS激励层比如filecoin的出现,让文件使用和激励存在天然的矛盾。就跟以太坊一样,价格高了,DAPP就想办法少交易。
- 在一些场景中,IPFS还是会应用的,但是是否取代HTTP,挺难的。