由浅入深认识IPFS
一.什么是IPFS?
IPFS的英文全称是InterPlanetary File System,中文名叫星际文件系统。
IPFS是一个点对点的分布式文件系统(比特币是一种点对点的电子现金系统),作为文件系统嘛,当然可以用来存储文件,这个文件包括文本、图片、视频等等。
并且,IPFS也是由全球的存储节点构成的,所以在未来,我们能够在世界的每一个角落快速的访问存储在IPFS网络上的文件。
同时,IPFS除了是一个点对点的分布式文件系统以外,还是一个分布式的网络,点对点的超媒体协议。
分布式大家应该都有所了解,那什么是超媒体呢?
超媒体对应之前的超文本。
超文本的意思是建立文本与文本之间的链接。
那超媒体建立的是文本、图片、视频之间的链接。
HTTP协议就是一个超文本协议。
所以,ipfs的野心超级大,他的目标是干掉现有的HTTP协议!!!
那么,为什么IPFS能有信心干掉HTTP协议呢?
毕竟,HTTP是当前互联网的基础数据通信技术,现在几乎所有互联网页面都是采用这个超文本传输协议。
而且,可以说目前整个互联网都是在HTTP协议上构建出来的。
所以,IPFS,你凭啥挑战HTTP在互联网的霸主地位呢?
要战胜敌人,除了敌人有的,咱们要有,敌人不能做到的,咱们也要做到。
作为互联网基石的HTTP,经过几十年的蓬勃发展,其弊端也越来越明显:
1.第一个就是我们在使用互联网的时候,所访问的数据经常丢失。
大家在上网的时候,一定经历过404(无法找到页面)的情景。
如果没有遇到过,嘿嘿,那你还记得那些年,存在网盘里被删的东西吧?
为什么出现这样的情况?
这里的原因有很多,有可能是在服务器停了,有可能是服务器因为一些外部原因而坏掉了。
对于你在网盘里东西来说,我充了会员,还把上传在里面的东西给删了!!!
2.第二个弊端就是上网速度慢!!!
因为我们在访问时都需要从服务器下载完整的一个文件,每次都要,用一次下一次,用一次下一次,这样效率太低。
当然,你可以说,上网慢可以提高网速嘛。
确实提高网速是可以解决这个问题,但如果你不是一直使用的话,对于一次两次的来说,提高网速不划算呀,而且有时候,我们不仅需要下载,还要上传。
嘿嘿,在我国,给你办的网络,上下行带宽是不对等的。
就是上传速度跟下载速度不一样嘛,上传速度要远比下载低很多很多很多。
如果要上下行带宽对等的网络,每年至少要多花费十几万。
所以HTTP不仅上网慢,而且浪费了太多的存储,并且也消耗了太多的带宽资源。
3.目前的互联网非常依赖于主干网络。
如果因为一些不可抗拒的因素,比如外星人入侵,星际战争,自然灾害等等,把主干网络给破坏了,那一切都GG了。
当然,虽然这些几率都比较低。
那互联网管制呢?
DDoS,XSS,CSRF等网络攻击造成的中心化服务器宕机呢?
所以除了不太安全,运营维护成本也很高。
以上三点是HTTP主要的弊端,总的来说,对于我们普通用户,就上网的时候不爽,老是上网慢、下载慢、各种不能访问。
PFS可以很好的解决这些问题。
那IPFS是怎么解决这些问题的呢?
当我们利用IPFS上传文件时,系统会先对文件进行一个加密,得到一个数值(记住,这个数值很重要,叫哈希值)。
随后系统会将文件进行千刀万剐(分割)、复制,最后分布式的存到若干区块当中。
那么未来,我们使用IPFS网络访问东西或者下载东西时,系统就会从离我们最近的距离(这里不是物理距离,是数学距离)的一些存储节点,传输数据或者文件的碎片(不是整个文件)给我们。
当然,最后给我们的是整个数据或者文件。
所以IPFS的速度会非常的快,因为不用下载整个文件嘛,并且如果周围的其他人,同样也下载了你需要的文件,这样你的下载速度会被加速,就像曾经快播一样。
那如果最近的节点没有我们的文件怎么办?
系统就从另外的节点进行索取文件碎片。
那如果某个存储节点被损坏了怎么办?
别担心,IPFS系统会有一个容错机制,容错机制的意思就是一份文件如果被分割成7份,其中三份损坏了,那么可以根据剩下的四份还原出文件来,嘿嘿,这技术是不是很酷?
这样,我们的文件的安全性就大大提高了,就算是世界末日,只要还有一个节点上有你的文件碎片,你的文件就有希望被还原哦。
二、IPFS的实际运用
挖矿的概念起源于比特币,2009年比特币的发明者中本聪默默地挖到了BTC的第一个区块(即创世区块),最初的50个BTC宣告问世,区块链开始进入了挖矿时代。众所周知,比特币挖矿曾经历了以下时期:CPU挖矿→GPU挖矿→FPGA挖矿,以及现在针对不同的数字货币专门订制的硬件芯片来做的ASIC矿机。那IPFS矿机是如何挖矿的?前期需要具备哪些条件?
众所周知,ipfs挖矿,其实就是挖的这个项目的代币——FileCoin(简称FIL)。而FileCoin有个规则,挖矿之前矿工需要抵押FIL代币,如果不能顺利完成存储工作,抵押的代币将会被扣罚,这里就对矿机的稳定性要求非常高了。而普通电脑挖矿,一方面是效率不高,收益明显低于矿机,另一方面,普通电脑存在着较大的安全风险,容易出现宕机和烧坏的情况,如此一来就得不偿失了。后续的一些问题需要一些专业的技术来解决,有一些矿机公司会提出很多的后续服务,比如说星际魔方的软硬件安装、软件升级服务等,大家购买时要慎重了考虑。