专栏名称: 白话区块链
用通俗易懂的方式科普区块链知识,介绍区块链应用和趋势。
51好读  ›  专栏  ›  白话区块链

关于 IPFS 星际文件系统(基础篇、进阶篇、终结篇)

白话区块链  · 公众号  ·  · 2017-07-24 08:00

正文

白话区块链, 从入门到精通,看我就够了!



这是一篇系列文章,分为基础篇,进阶篇,终结篇,现在汇总到一起方便大家阅读。



基础篇


IPFS中文名是星际文件系统。


为什么叫做星际文件系统?


因为马斯克,发往火星的飞船上将会存储一份完整的互联网备份,此后每年发往火星的飞船上,都会包含增量备份,目的只有一个“保存人类文明”。 (这是个故事,别当真)


可是网络上重复的东西很多怎么办?数据量那么大,飞船要携带多少块硬盘啊?


想想看,你的电脑里有多少文件是别人电脑里没有的? 我想连10%都不到。


IPFS本质上就是为了解决文件过度冗余问题。


如果把人们都有的某个文件,做一次hash计算,只字不差的两个文件hash值相同。哪怕改动一个字,都是一个新版本,hash值都不同。只需要使用相同的hash值,就可以访问那个文件,这个hash值就是文件的地址。


你的文件如果别人也有,说明不是秘密,你们可以共享而不必担心泄密,这种共享也是相互备份。


你再也不用担心某个电影找不到了,也不用备份,因为全球电脑上只有那么几个人保留着,你就能拿到它。而不是重复存储几十万份。


你只要保留最喜欢的电影,和最常用的文件( 因为在本地访问速度更快 )。 其他的,只要有地址就可以随时下载访问。


假如你不存,他不存,最后文件不都丢了吗? 别担心,IPFS的Filecoin就是为了激励存储而发行的。 (发行细节我还不知道)


和SC不一样吗?


IPFS更多的是保存公共资源。SC是针对你的私有文件。


基础篇只讲了基本原理,IPFS协议带来的技术革命,远不止这些。这或许是每个人都离不开的区块链基础应用。


进阶篇会更深入的讲讲IPFS带来的变革。



进阶篇


基础篇中提到,IPFS本质上是解决了互联网过度冗余的问题。


但其的价值远不止于此。


如果说区块链将彻底改变互联网,那么IPFS就将彻底改变WEB万维网 (或许不仅限于WEB)


IPFS会从跟本上改变WEB内容的分发机制,使其完成去中心化。


我们现有的WEB网络 (就是大家浏览的各大网站) ,都是基于HTTP协议的,它是一种中心化的网络(基于TCP协议)。无论内容分发如何分布式进行,无论有多少服务器分布在世界各地。中心化的本质仍然存在。


回到我们的主题,IPFS将相同的文件进行了hash计算,确定了其唯一的地址。这样一来,无论从任何设备,任意地点,其地址的唯一性都会指向相同的资源。 (不同于URL,这种地址是原生的,由加密算法保证的,你无法改变,也无需改变它!)


我们通过浏览器打开的每个网页都是一组文件的合集,有文字、图片、声音、视频,还有一些代码什么的,加在一起就是你看到的样子。我们将这些文件放到IPFS进行唯一化,今后只要通过地址就可以打开它们,而且这些文件在IPFS中是可共享的。这样一来,你的邻居如果访问过相同的网站,你就可以从他那里直接获取,物理距离更近,打开速度更快。


IPFS和所有的区块链技术一样,都是基于P2P,形成了点对点传输网络。人们可以更容易的连接在一起,相互组成一个更大的网络。这种网络没有中心节点,你要的资源可能在你的邻居那里,也可能在地球另一端。


存储在IPFS中的资源,可能分散在世界各地,更可能由于查看的人气,集中在某个热点地区。热点资源会更容易获得,访问速度也更快。如果你整栋楼的邻居都有,他们可以拆碎了,每人给你一小块,你收到后再进行拼接。这样不但更快速(因为同时发给你一堆),而且还节省上传带宽( 国内网络是ADSL,上传速度受限 )。


有了IPFS,我们或不再需要中心化的WEB服务器,一切资源可以去中心化的发布。将网页,图片,脚本等等资源,提交到IPFS进行唯一化发布,得到了这些地址,便可以访问你的网站。 地址太长不好记,还可以生成一个短地址,就像现在的网站域名。


如果你是WEB开发者,或许会问,你说的这些资源都是静态的,如何实现动态页面?想想看,未来,我们真的还需要用PHP,RUBY来做动态页面吗?前端代码进行交互,异步读取&提交数据不行吗?动态的大部分任务不就是为了用户体验,为了快吗?


你会说,没了WEB服务器,你连用户登录都做不到。你心想,即使静态资源去中心化了,还是有一些功能需要数据库,需要中心化的方式处理复杂的业务逻辑。 说的没错。但是别忘了我们还有智能合约,如果你认为智能合约只是现在这个样子,恐怕就错了。


未来的智能合约( 或许叫别的名字 ),处理速度会更快,业务处理能力会更强。


即使现在,没有中心化的服务器,人们不也实现了ICO众筹嘛!


其他的不过是时间问题...



终结篇


基础篇讲到了,IPFS本质上是解决了互联网过度冗余的问题。 进阶篇讲到了,IPFS带来的变革。


接下来讲讲WEB网站去中心化的好处:


1.  无需科学上网


由于IPFS的分布式特性,任何人都无法限制别人访问网络上的内容。更由于这种技术的实现,我们访问国外网站的速度将会大幅提升,甚至可以和本地网站一样快。 (当然,这要慢慢来。)







请到「今天看啥」查看全文