HTTP协议总是难以给我们足够的安全感:
集中管理的Web服务器不可避免地会关闭;
域名所有权更改,或者运行的公司倒闭,都会导致网站不可用;
计算机崩溃或者遇到自然灾害,如果没有做好足够的备份将无法恢复;
最重要的是,鉴于在HTTP的底层结构,即使每个人都运行自己的HTTP服务器并不能解决以上问题。
服务器上的网站开始链接到它。一旦他们链接到它,他们就依赖那台机器继续存在。如果机器断电,链接将停止工作,就会出现404的问题,甚至会使得各个节点之间的链接永久断开。
而这,不仅暴露出了HTTP协议的脆弱,也直接带来了HTTP所存在的最为接触普通上网用户的问题——404是HTTP使用的错误代码,无法显示网页,用于指示该站点不再位于该位置的服务器上。
HTTP协议的脆弱和数据被侵蚀,带来了进一步依赖更大、更有组织的集中式服务,因为集中式服务,往往会有冗余,并且能取得规模效应,进而降低成本。
这就是为什么我们说,HTTP在很大程度上,都是鼓励超中心化的。
而当内容超中心化时,它使我们高度依赖互联网骨干网来运行数据中心,这又会产生更多的弊端,例如受DDOS攻击风险的增加、信息被巨头掌握、网络的愈加拥堵等。
去中心化的IPFS
接下来,让我们看看IPFS,IPFS的主要特点是,可以从根本上改变我们寻找事物的方式:
使用HTTP,人们可以搜索位置
使用IPFS,人们可以搜索内容
当我们要查找资料时,我们首先找到服务器的位置(IP地址),然后使用路径名向服务器询问文件,使用这种设计,所有人都可以确定这是您要查找的文件。
具体的流程如下:
当我们把文件上传到IPFS节点时,该文件将会拥有一个新名称,该名称实际上是一个加密哈希,它是从该文件的内容中计算出来的。密码学保证该散列始终仅表示该文件的内容。如果文件被更改,哈希值也会随之改变。
当我们向IPFS分布式网络询问该哈希时,它有效地使用分布式哈希表找到具有数据的节点,并检索它以及使用哈希验证它就是我们要找的文件。
所以你看,就是位置被更改的,内容被更改的,但是只要我们有哈希值,我们就可以在IPFS网络上找到这份文件,因为哈希值具有唯一性,因此,IPFS可以保障数据的永存。
此外,IPFS是通用的,几乎没有存储限制。它可以提供大文件或小文件。它会自动将较大的文件分解为较小的块,从而允许IPFS节点不仅像HTTP那样从一台服务器下载文件,而且可以同时从数百个服务器下载文件。
而这就保障了IPFS网络的下载和传输速度,因为越多的人下载,并不会如HTTP那般产生拥堵。
如今,IPFS网络已经成为了细粒度、去信任、分布式、易于联合的内容交付网络。这对于几乎所有涉及数据的事物都很有用:图像、视频流、分布式数据库、整个操作系统、区块链、8英寸软盘的备份,以及对我们来说最重要的静态网站。
IPFS不需要每个节点都存储曾经发布到IPFS的所有内容。我们可以把IPFS想象成书签,我们可以自己备份整个站点,并自愿帮助将内容提供给想要查看它的其他人。
如果每个IPFS节点都愿意托管一点点内容,那么这些点点很快就会增加到比任何集中式HTTP服务都可能提供的更多空间、带宽和可用性。分布式网络将很快成为地球上最快、最可用和最大的数据存储。
IPFS实现附带了一个HTTP网关,以允许当前的Web浏览器访问IPFS,直到浏览器直接实现IPFS的直接访问。有了IPFS HTTP网关,我们就可以开始切换到IPFS来存储、分发和服务网站。当然去中心化的IPFS要大面积在传统市场中运用和普及,还有很长的路要走,还有很多地方要不断的完善,我的观点是中心化的HTTP和去中心化的IPFS是一直会共存,各自虽然有自己的不足,但也有不同的优势,将优势发挥的需要优势的领域去运用就好。