返回介绍

第 27 章 IPFS(InterPlanetary File System,星际文件系统)

发布于 2023-06-19 14:14:32 字数 957 浏览 0 评论 0 收藏 0

27.1. 什么是 IPFS

IPFS “星际文件系统” 是去中心化保存和共享文件的分布式文件系统,它是一种内容可寻址、版本化、点对点超媒体的分布式协议,IPFS旨在替代HTTP。它希望将所有的计算设备都连接到同一个文件系统中。

由于 IPFS 去中心化特点,使得很多区块链项目做文件存储的时候首选IPFS。

27.1.1. 传统的中心化HTTP服务

举个例子,服务器上有一个文件https://www.netkiller.cn/video/av.mp4,按照HTTP协议标准流程,浏览器首先会解析域名并查找到服务器的IP地址,随后与服务器建立链接,并根据路径向服务器请求该文件/video/av.mp4。在这种体系下用户是否能获取该文件取决于文件是否被移动或删除,并且服务器没有关闭。

另一个问题就是文件服务器管理,中心化管理是很复杂的,如果访问量比较大,我们通常会使用负载均衡来解决,负载均衡需要每个节点上的数据是完整的,这就需要大量的数据同步。如果从深圳数据中心同步到上海数据中心 100T的数据可能要数个工作日。

HTTP过度依赖Internet主干网,同时网络通信遭遇DDoS攻击的风险也大大增加。

CDN 只解决最后一公里的性能问题,数据回源仍然是中心化,仍然无法彻底解决。

27.1.2. IPFS 解决方案

IPFS的做解决方案是不再关心中心服务器的位置,也不考虑文件的名字和路径,只关注文件中的内容。例如将文件av.mp4添加到IPFS节点,会得到一个新名字QmS8R3nSbDHjQ7WRTjtX1pkiQ6BUpti9qTjweZkBgGPKiN,通过文件内容计算出的哈希值,访问文件不在使用文件名而是使用这个统一的 hash 值。

当用户被请求一个文件哈希时,它会根据这个分布式哈希表找到文件所在的节点,并取回文件内容并验证文件数据。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。

IPFS 可以理解为内容被永久缓存到节点上的CDN。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文