矿视界译文:简述IPFS星际文件系统

IPFS(星际文件系统)是一种分布式网络协议,旨在替代传统的HTTP,实现互联网的去中心化。通过内容寻址和点对点技术,IPFS保证了文件的永久性和高效访问,解决了中心化服务器可能导致的数据丢失问题。用户通过文件的唯一哈希进行访问,随着文件的分享,系统的速度和可靠性得到提升。IPFS将文件拆分为多个对象存储,通过链接形成数据结构,确保了内容的完整性和不可篡改性。
摘要由CSDN通过智能技术生成

互联网是我们日常生活中最重要的工具。现如今,无论我们做什么,都离不开互联网的支持。

但我们所熟知的互联网也存在一些缺陷,其中最致命的是,互联网上的信息大部分都是中心化的。我们每天访问的信息都保存在由中央公司控制的服务器上。服务器一旦被入侵,人们也失去了数据的访问权限。

1 为什么我们坚持一套有缺陷的系统呢?

说到底,我们坚持这种模式的真正原因是,我们在互联网访问这方面已经被宠坏了。我们希望网页以毫秒为单位加载,无延迟显示图像视频,所有内容还须具备高清品质。

中心化服务器使公司可以完全控制它们交付内容的速度,并对其进行相应的收费。我们坚持此套系统另一个原因是,此前确实没有好的替代方案。

2 IPFS——最佳的替代方案

星际文件系统(也称为 IPFS)是使互联网完全分布式的一种想法。该概念将传统的超文本传输协议互联网转变为点对点网络,类似于 BitTorrent 的工作方式。

Juan Benets(IPFS 创始人)最初萌生设计概念时并没有想说一定要创建 IPFS。他原想找到一种有效的方法来移动科学数据集(这些数据大小可能会是 10-100 GB 甚至更大)。IPFS 的设计看起来像 Git 和 BitTorrent 的融合产物。BitTorrent 使人们能够快速地在网络上移动大型文件,而Git为人们提供了内置的数据版本控制。
在这里插入图片描述
创建此协议后,Benets 很快意识到其影响远不只是移动大型数据集。他实际上已经创建了一个可以替代现有的其他流行协议的协议,以解决当今我们如何通过 Web 访问信息的问题。

3 一切基于内容

依赖基于位置寻址的一大弊端就是当服务器出现故障,该服务器中包含的所有内容都将失去互联网访问权限。

为此,IPFS 提出了基于内容的寻址方法——每个文件都有一个唯一的哈希,可以将其视为文件的指纹或标识。当需访问特殊文件时,只需询问网络谁拥有具有指定哈希值的文件副本。

发出请求后,IPFS 网络上的某人将提供你请求的资源。你将下载该资源并将副本保存到 IPFS 缓存中。现在,当第三个人来请求相同的文件时,你也可以提供。

这将创建一个随着使用次数增加而加快速度的系统,因为共享的文件越多,它们在大型节点组中的可用性就越高。

4 IPFS 运作方式

在 IPFS 中,文件存储在 IPFS 对象中,每个对象可以存储 256 kb 的数据。一个对象还可以包含到另一个 IPFS 对象的链接,通过链接可以存储大于 256 kb 的数据。

比如,如果你只上传了一个小的文本文件,则一个 256 kb 的对象应足以容纳你的文本文件。
在这里插入图片描述
但是,如果要存储图像,目标图像则会被拆解为多个对象,每个对象最大为 256 kb。这时,IPFS系统将创建一个空对象,该对象(空对象)将链接到组成该图片的所有对象。
在这里插入图片描述
这种架构简洁而强大,该架构真正使 IPFS 可以用作文件系统。我们来看看以下文件目录结构,再进一步说明如何将其转换为 IPFS 结构:
在这里插入图片描述
我们可以通过为每个文件和每个文件夹/目录创建 1 个对象,然后将文件链接到指定目录,可以将其转换为 IPFS。

但考虑到 IPFS 基于内容寻址这一事实,它甚至可以做得更出色。换言之,添加的文件是固定的,无法更改,和区块链如出一辙。这也意味着你可以放心正在访问的资源是正确的数据,并且从未被更改过。
在这里插入图片描述
5 杂谈与总结

很明显,IPFS 是一个十分野心勃勃的项目。之前去中心化的项目大多和发币、金融相关,但 IPFS 为数据共享提供了新的思路。

HTTP 协议之前也面临挑战,作为相对成熟的 IPFS 系统,在最终大面积普及和被接受之前,我们可能会采用双协议并行的方法。

原文链接:

https://achainofblocks.com/2018/10/05/ipfs-interplanetary-file-system-simply-explained/

翻译&校对:有条鱼。

本文由矿视界(奇迹摩尔)翻译整理编辑,如需转载,请标明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值