查看原文
其他

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

2017-07-24 大硕 白话区块链

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



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



基础篇


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


还是有关马斯克的故事,但这次是真的(基础篇那个是我瞎编的)。从2019开始,SpaceX将会陆续发布4000个卫星,提供全球网络服务。如此大规模的卫星通讯技术,将使IPFS文件唯一化技术发挥更大的价值。(卫星存储能力有限,能够被缓存的资源,才能更快速度的下载。当然,这又有点中心化了。)


2.  网络安全


我们用的区块链资产交易所,经常遭受严重的DDOS分布式拒绝服务攻击,这是一种资源耗竭攻击,就是抓住了中心化WEB的软肋,然后往死里打的攻击手法。可怕的是,这种攻击是无法防御的。


攻击来源是分布在世界各地的"肉鸡",也称作僵尸电脑(或许你的电脑就是)。等待悬赏者下达指令后,同时向攻击目标发动网页请求,类似于春节前的火车票订购。


目前只有超大型的互联网企业才能承受如此大的损耗,一般企业根本无法承受。也绝不是加机器,加带宽就能轻易解决的,垂直拓展总会有极限的。


恶势力已经使用分布式攻击作为武器,还好我们有了去中心化的网络能够防御。 DDOS绝不只影响你的交易所访问。最严重的情况可能会危及生命。因为他们占用了资源,你无法拨打119,120。只要有利益,他们什么都做得出来,而且开始越来越猖獗,你查不到也抓不住。


这不是个选择题,没有去中心化的网络就没有未来。


IPFS必然而然...


本文转载自公众号“大硕区块链”

整编 | WangMe





点击“阅读原文”,查看公众号所有历史消息。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存