互联网协议之 IPFS
在了解 IPFS 之前,先了解一下广泛使用的 Internet 协议。
互联网由连接在世界各地的大量计算机组成,计算机之间的通信需要一种通用语言,即协议。当需要查找特定文件时,会首先找到该文件所在的 URL
。经过 DNS
解析后,可以从存储文件的计算机(服务器)IP
地址下载文件,这是通过 HTTP 协议(超文本传输协议)实现的。
但是,HTTP 协议以明文形式发送内容,它不提供任何数据加密方式。在这个过程中,数据容易被窃听或篡改,容易引起安全问题,因此被逐步淘汰。互联网逐渐从 HTTP
协议过渡到 HTTPS
协议(Hypertext Transfer Protocol Secure
),通过 SSL
或 TLS
对数据包进行加密,并要求 webserver
提供身份验证,从而保证数据的安全性。
尽管如此,这两个协议仍然存在缺陷,HTTPS
不是绝对安全的。拥有根证书和加密算法的组织仍然可以窃听或篡改数据。同时,这两种协议都需要中央服务器处理,占用资源过多,访问效率低。一旦访问者流量巨大,页面加载速度就会变慢,甚至会导致中央服务器崩溃。为了保持中央服务器的顺利运行,一些较早的文件很容易被删除。这也是网页容易出现 404 错误(页面找不到)的部分原因。
IPFS 协议的由来
为了解决上述 HTTP 和 HTTPS 协议的中心化、低效率、历史文件存储等问题,2014 年 4 月,协议实验室(Protocol Lab
)正式发布了星际文件系统,也被称为 IPFS 协议,目的在于改进甚至取代传统的 HTTP 和 HTTPS 协议。
IPFS 协议的特点
内容定位方便访问:通常情况下,在查找文件时需要通过中央服务器来处理数据。这种情况下访问效率低,访问次数过多时中心服务器容易崩溃。然而,IPFS 使用内容寻址为每个文件分配一个唯一的加密哈希值。哈希信息通过运行在 IPFS 上的区块链存储。当网络需要访问它时,只需要在这条链上查找对应的哈希信息即可。
分布式存储节省资源:IPFS 协议中的每个节点既是客户端又是服务器。下载数据时,用户可以同时从离自己最近的节点下载,避免大量访问中心服务器造成的网络拥塞。
去中心化保障数据安全:IPFS 协议将数据“分片”,去中心化存储。因此,当遇到大量访问请求时,例如 DDoS 攻击,所有的访问都会分散到不同的节点,甚至是攻击者本身。这种去中心化让 IPFS 避免了传统中心化服务器的崩溃。
历史数据永久保存:当遇到 404 错误,即找不到页面时,可能是服务器上的数据被删除或服务器关闭造成的。在 IPFS 中,只要其中一个节点查看了特定数据,就会存储其中的数据。由于这些数据是全网共享和使用的,因此可以避免因删除其中一个节点的数据而导致无法访问的问题。
IPFS 协议的使用
IPFS 的功能不再是白日梦。在互联网底层技术、社交媒体、加密技术等方面,使用 IPFS 协议的技术团队越来越多。其中最著名的是提供数据存储和检索的开源加密货币和数字支付系统,即 FileCoin,本文不展开介绍,只是简单介绍一下 IPFS 协议,有兴趣的可以深入去了解学习。
版权声明: 本文为 InfoQ 作者【devpoint】的原创文章。
原文链接:【http://xie.infoq.cn/article/037e051d5278350baf6e29927】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论