你有没有这样的经历:朋友给你分享了一个网盘的文件链接,你因为忙没有及时查看,等你想起来去查看的时候,却发现“啊哦,你所访问的页面不存在了”?
分享的文件不存在,有可能是分享链接失效了,也有可能是文件被删除了或是网盘服务提供商倒闭了(比如 2016 年就发生了大规模的网盘关闭潮),如果是后者,意味着你可能就失去了这个文件。
不仅仅是网盘上的资料,我们访问一些网站的时候,也会碰到“404 Page Not Found”。网站 404,有可能是服务器上的文件被永久性地删除了,也可能是服务器被关闭了,无论哪种,都意味着你所要寻找的这个网页从互联网上消失了。
内容可以被永久性地删除,这是目前互联网中心化存储的一个明显弊端。
主流的两大网盘 iCloud 和 Dropbox,2TB 存储空间每年要支付 800 多元,Dropbox 的 2018 年财报显示,平均每位用户支付了 117.64 美元。存储成本高昂,这是目前互联网中心化存储的另一个弊端。
8 月 23 日,亚马逊云服务 AWS 出现故障,导致区块链行业内的众多交易平台出现短暂的服务中断。随着越来越多的公司将自己的数据、资料托管在亚马逊 AWS、阿里云等云服务器上,一旦这些中心化的云服务提供商出现问题或是遭受到黑客攻击,波及的影响可能大到出乎很多人的想象。中心化存储必然会面临安全性问题。
此外,互联网的中心化存储在隐私保护上,做得也并不够好。这就是为什么很多隐私性强的资料,我们要用移动硬盘备份,而不是直接存储在云盘上。
那么,有没有可能出现让有价值的内容可以“长期储存、成本低廉、安全性好、隐私保护性强”的存储方式呢?
这就是 IPFS(星际文件系统)要做的事情。
IPFS 被称为是“Web 3.0 的一个新方向”,如果成功了,不仅会颠覆现有的互联网存储模式,也会成为区块链的重要基础设施。
今天,我们就来深入了解一下 IPFS 以及它与区块链技术的结合。
01
什么是 IPFS?
IPFS 的全称是 The InterPlanetary File System,被翻译成“星际文件系统”。它是一种点到点的分布式文件系统,目标是打造一个更加开放、快速、安全的互联网,对现有的互联网 HTTP 协议进行补充甚至取代。
IPFS 不是区块链,也不是一个项目,而是一个底层的网络传输协议。正如上文提到的,如果成功了,它会成为区块链的重要基础设施。
IPFS 的出现离不开 HTTP 协议,所以我们先了解一下 HTTP 协议。
万维网之父 Tim Berners-Lee
HTTP 协议由万维网之父 Tim Berners-Lee 在 1991 年提出,主要规定了客户端和服务器之间的通信格式。
举个例子,你现在正在手机的微信上或是电脑上(都属于客户端)读这篇文章,而这篇文章的数据其实是存储在腾讯的服务器上。HTTP 是一个网络传输协议,只要遵守这个协议规范,你在任何一台手机或电脑上,都可以读到这篇存储在腾讯服务器上的文章。
可以说,互联网的发展离不开 HTTP 这个超文本传输协议,这也是为什么 Tim Berners-Lee 能获得 2016 年度“计算机届的诺贝尔奖”——图灵奖的原因之一。
但随着互联网爆炸式地增长,HTTP 协议的诸多弊端也逐渐显露了出来。
HTTP 协议依赖中心化服务网络,服务器必须 24 小时开机运行,如果服务器被关、网页 404,用户将无法访问。此外,还会产生本文开头提到的成本高、易受攻击、安全性差、隐私保护弱等缺陷。
2014 年 5 月,毕业于斯坦福大学的 Juan Benet 提出了 IPFS 的设想,并在 2015 年成立了 Protocol Lab 实验室,专门负责开发 IPFS。2017 年,Protocol Lab 实验室宣布成立基于 IPFS 的区块链项目 Filecoin。
与依赖中心化服务网络的 HTTP 不同,IPFS 是一个去中心化的点对点超媒体传输协议,它融合了点对点网络技术、BT 的传输技术、Git 的版本控制和自证明文件系统等技术。
看到上面这段描述,你可能会“不明觉厉”,一脸茫然。别急,下面我们就通个一个简单的例子,来介绍 IPFS 是如何运作的。
02
一个例子看懂 IPFS 的运作流程
假设大白想要上传一个 PDF 文档到 IPFS 系统中,第一步大白需要将 PDF 文档添加到 IPFS 客户端中。IPFS 客户端会将这个 PDF 进行哈希云算,并给出一个以 Qm 开头的哈希值。IPFS 的一个特点是基于内容的地址(Qm 开头的哈希值)来替代传统互联网基于域名的地址。
然后,IPFS 系统将这个 PDF 文档拷贝多份,并将每一份进行拆分,拆分后的每一部分会分散存储在去中心化的 IPFS 网络节点上。
拷贝多份的原因是进行冗余备份,这样即使某些节点被攻击了或是数据丢失了或是下线了,还可以在其他节点中找到文件,从而保证了安全性。但需要注意的是,IPFS 也不能 100% 避免部分文件丢失。
如果大白要将这个 PDF 文件分享给小黑,那么,大白只需要将地址(Qm 开头的哈希值)告诉小黑即可。小黑通过地址就可以从 IPFS 系统中下载这份 PDF 文档。
下载的过程类似于 BT 下载,是从 IPFS 系统中的多个节点上同时下载该 PDF 的不同部分,最后“拼接”回原始文件,因为 IPFS 融合了 BT 的传输技术。因此,相比于传统的 HTTP 协议需要客户端从中心化的服务器上加载、传输数据,IPFS 的传输速度更快,也不容易造成拥堵。传统的中心化服务器则非常容易因为访问人数过多而造成拥堵,比如购买春节回家的火车票,网站会时不时卡顿。
以上就是 IPFS 的工作流程。
需要注意的是,IPFS 只是一个传输协议,不加密文件,这就产生了隐私保护的问题。别人只要知道了上面的 PDF 哈希值地址,就可以从 IPFS 网络中下载大白的这个文件,这显然不是大白希望看到的。
那如何解决这个隐私保护的问题呢?另外,存储文件有成本,IPFS 网络中的那些节点为什么要帮你存储文件呢?
这时候,就需要发挥区块链的作用了。
03
IPFS + 区块链
IPFS 只是一个底层的传输协议,区块链技术可以放大 IPFS 的作用,而 IPFS 会成为区块链的重要底层基础设施。
这也是为什么提出 IPFS 的 Protocol Lab 实验室,需要成立基于 IPFS 的区块链项目 Filecoin。IPFS 和 Filecoin 之间的关系,就像是区块链技术和比特币之间的关系,前者是底层的基础设施协议,后者是一个应用。
那么,区块链技术如何让 IPFS 更加强大呢?我们还是通过例子来说明。
大白先将 PDF 文档添加到 IPFS 客户端,利用小黑的公钥对文档进行加密。IPFS 对加密后的 PDF 文档生产哈希值地址,同时拷贝多份,拆解后分布式存储在不同的 IPFS 网络节点中。
大白将文档的哈希值地址告诉小黑,小黑下载加密的 PDF 文档后,可以利用自己的私钥对 PDF 文档进行解锁。网络上的其他人,即便是知道了这个 PDF 的哈希值地址,下载下来也会因为没有私钥而打不开,存储文档的节点也因为没有私钥看不了文档里的内容,从而保护了隐私。
那么,IPFS 网络里的这些节点为什么愿意帮助大白存储这个 PDF 文档?
这就需要区块链 Token 经济模型的激励作用了。
以专门为有价值的、重复引用频繁的文件存储而设计的 Filecoin 项目为例,矿工(节点)可以分为两类:存储矿工和检索矿工。
其中,存储矿工主要负责存储,比如大白的这份 PDF,就会被分割成很多部分,分散存储在几个存储矿工提供的硬盘中。检索矿工主要负责数据检索,当小黑向 Filecoin 网络提供了大白给的哈希值地址,检索矿工马上根据地址找出这份 PDF 被分割成了几个部分,分别存储在哪些节点中,让小黑可以快速地下载下来。
大白将 PDF 存储到 Filecoin 网络中的时候,需要支付一定数量的 Token 给矿工,同时系统也会给予这些矿工 Token 奖励。
除了奖励机制,还有惩罚机制。比如,存储矿工需要进行 Token 质押,如果完成了存储任务,质押的 Token 会被退回;如果没完成,比如中途文件不小心被删除了,或是存储硬盘出了故障,系统就会扣除矿工质押的 Token 作为惩罚。
这就是“IPFS + 区块链技术”的魅力。
05
小结
莱比特矿池创始人江卓尔曾经提到说:“比特币带来了货币自由,以太坊带来了股权自由,而在未来可以预期的经济自由中,有稳定币带来的法币自由,去中心化存储带来的信息自由。”
如果 IPFS 成功了,它会改变现有的互联网存储模式,也可以为众多区块链项目、DApp 项目提供存储支持,这就是为什么说 IPFS 有可能成为区块链的重要底层基础设施。
然而,提出 IPFS 协议的 Protocol Lab 实验室所成立的区块链项目 Filecoin,原计划 2018 年上线主网,一直拖延,直到最近才公布消息称将在年底上线测试网,明年上线主网。
IPFS 所描绘的愿景非常美好,但能否落地,能否大规模应用,能否改变现有的中心化存储模式,一切都有待时间的检验。
声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。