IPFS-intro

IPFS-intro

IPFS是一套可以实现分布式存储和网络共享的文件协议。

较短的介绍视频(10min):

https://youtu.be/BA2rHlbB5i0

长版本的介绍视频 (建议先看短的,长的来源于MIT) :

https://youtu.be/HUVmypx9HGI

最近有朋友给我推荐了IPFS,我本来以为这是什么圈钱的项目。后来仔细一看真的震惊了,这也太棒了吧!!!!!!真的超级后悔自己看到的太晚了╥﹏╥

IPFS的架构

如果要一句话讲清IPFS的原理的话,那就是Git+Blockchain+Bittorrent。 当然事实上复杂的多…

IPFS通过Git来追踪项目中的文件,并采用merkle DAG(某个数据结构)来存储文件,而root的hash则做为整个项目的识别码(identity)。

而这个项目的创建者持有整个项目的private key。每当他做了更改后,就可以用private key来签章更新过的项目文件。然后就将签章过的文件扩散出去,每个保存这个文件项目的人看到最新的更新之后,都会用自己的public key来验证这些更改。如果属实,就会同步新的更改。

这通过加密手段和peer扩散完美的解决了同步的问题。没有了master和slave的服务器区别,只要项目的创建者签章后扩散出去,就能够实现全网的同步更新。

而访问这个项目时,则是通过peer to peer的方式来传输。传输文件的安全性也会通过每个数据块的hash来验证。我看到这边真的要跳起来了,太牛了。

举个例子,从网站的角度来讲,日后访问每个网站靠的就不是IP地址了,而是整个网站content的Hash。当然我们还需要DNS(应该不叫这个了,不过是一个意思)来把域名转换为网站对应的hash,但IPFS同样支持hash的直接访问。

这个hash是唯一的,但是网站的文件可以分散式的存储。需要访问的时候,就通过和种子文件下载电影的方式,找到网络中存有该文件的peer,然后从不同的peer那里下载网站所需的不同部分,网页,video,图片之类的。

优势

因为文件是分散式存储的,p2p的加载方式能够突破中心网络带宽的限制,除此之外,由于服务器可能由较远的数据中心搬到了你家的旁边,latency延迟大大降低。

官网说这能够使得网络资料永久保持。这个我倒是觉得优点不是特别突出,看到比特币几百个G的存储我就觉得呵呵了。当然IPFS和区块链不同的地方是,每个人不都需要是一个fully replicated (完全复制)的 node。不过我个人觉得用git保存全部的历史资料也是有取舍的,code倒还好,没事剪个vidoe的人那所有历史都保存的话没个几T是存不下去的……

还有一个好处是摆脱去中心化的控制。这个倒没错,能够提供基本的infrastructure(基础设施)。但是interaction怎么做都没办法和已经切断联系的人互动了。而社交互动的网络服务,看来只能够靠elon musk的starlink了…

劣势

但是目前存在的疑问是文件更新propagate(传播)的速度是受限的,由一点扩散到全网的速度和成本与中心化的数据中心集群更新还是存在差别。

对于那些大型的网络公司来说,也许会把大家都share的文件采用IPFS或者一些距离网络中心非常远的用户采用IPFS提供服务。小的网站的话用IPFS感觉还是会有优势,不过真的不确定,要看filecoin与CDN服务商的价格对比。

受益者

磁盘空间很大的人。可以通过共享磁盘来赚钱。
Netflix,Youtube这些流媒体供应商。之前还有报道ISP失去中立的情况,就是像Netflix这些厂商为了实现快速的传输。Netflix每年付给CDN服务商的费用也很高,如果采用IPFS的方式,能够极大的加快加载速度,但是价格的话还要再去研究下file coin。不过IPFS如果做为CDN辅助手段也是很棒的。

展望

IPFS能够极大的提升网络的加载速度,保持网络资料的永久性并且进一步实现网络的分散化。也许,以后随随便便在家里访问网站看8K的电影就不再是梦想了😎

#

评论