在 2015 年推出星际文件系统 (IPFS) 之前,互联网上的数据严重依赖于集中式服务器,因此容易受到审查、单点故障和高存储成本的影响。
根据 Statista截至 2023 年, 全球数据产生量达到120ZB其中大部分数据流经谷歌、AWS 和微软 Azure 等中心化平台。这种依赖性引发了人们对数据控制、访问限制和长期可用性的担忧,尤其是对于依赖透明度和去中心化的区块链和基于加密的系统而言。
另请参阅: Merkle 树:你所需要知道的一切
现在,随着 Web3 应用程序、NFT 和去中心化应用程序 (dApps) 的兴起,IPFS 为传统 Web 基础设施提供了更安全、更分布式的替代方案。
其内容可寻址模型与区块链的不可变结构自然契合,使得加密中的 IPFS 成为可扩展、抗审查平台越来越重要的组成部分。
那么,区块链/加密货币中的星际文件系统 (IPFS) 到底是什么呢?本篇博文将深入解析 IPFS 的真正含义、工作原理,以及它为何成为去中心化技术的关键支柱。
关键精华
- IPFS 提供去中心化、内容寻址的文件存储,可增强区块链应用程序的数据可用性、完整性和弹性。
- 与 HTTP 的基于位置的模型不同,IPFS 通过点对点文件共享实现更快、更安全的内容交付。
- 区块链项目使用 IPFS 来存储 NFT、智能合约数据和 dApp 资产,而无需依赖中心化服务器。
- 集成 IPFS 有助于克服区块链可扩展性限制,同时提高审查抵制能力和长期文件访问能力。
- 随着 Web3 的采用率不断提高,IPFS 正在成为去中心化应用程序、数字身份和无需信任的内容共享的重要基础设施。
什么是星际文件系统(IPFS)?

星际文件系统 (IPFS) 是一种点对点 (P2P) 分布式文件存储协议,旨在使网络更快、更安全、更开放。
与从特定服务器获取文件的传统 Web 协议(如 HTTP)不同,IPFS 根据内容寻址检索数据 - 这意味着每个文件都由唯一的加密哈希而不是其位置来标识。
这种内容寻址系统确保文件一旦添加到 IPFS 网络,除非更改其哈希值,否则无法被篡改。这使得 IPFS 具有防篡改功能,非常适合需要数据完整性的应用,例如基于区块链的平台和去中心化应用程序 (dApp)。
IPFS 的工作原理是允许用户在去中心化的节点网络中托管和访问内容。当您将文件上传到 IPFS 时,它会被分解成更小的区块,经过加密哈希处理,并分布在多个节点上。
任何请求该文件的人都可以从最近或最快的可用源检索它,从而提高速度和可靠性,特别是在服务器基础设施有限的地区。
这种去中心化的设计不仅减少了对中央权威的依赖,还增强了数据可用性,使 IPFS 成为 Web3 项目的关键基础设施层, NFT以及去中心化身份系统。
星际文件系统如何工作

让我们详细分析一下 IPFS 的实际工作原理。
基于内容的寻址,而非基于位置的寻址
在传统的 Web(HTTP)中,文件是通过其位置访问的,通常是指向中心化服务器的域名。例如,访问“http://example.com/image.jpg”会将您带到特定的服务器来检索该文件。
在 IPFS 中,访问文件是基于文件本身,而不是文件所在位置。这被称为内容寻址。当文件添加到 IPFS 时:
- 它被分解成更小的块。
- 每个块都经过加密散列。
- 整个文件根据其哈希值接收唯一的内容标识符 (CID)。
因此,您无需通过 URL 访问文件,而是通过 CID 访问。即使内容发生微小变化,哈希值和 CID 也会随之改变。这保证了数据的完整性。
另请参阅: 什么是区块链网络拥堵?
用于文件发现的分布式哈希表(DHT)
一旦添加文件并分配了 CID,下一个挑战就是在 IPFS 网络上找到它。
IPFS 使用 分布式哈希表(DHT)——一个系统,每个节点都存储一些文件的信息,并知道哪些节点托管着其他文件。可以将其视为一个去中心化的索引或查找系统。
当您使用 CID 请求文件时:
- 您的 IPFS 节点询问 DHT,“谁拥有这个 CID?”
- DHT 返回托管该内容的节点的地址(对等 ID)。
- 然后,您的节点连接到这些对等节点并下载文件。
文件分块和 Merkle DAG
IPFS 中的大文件并非以单个块的形式存储,而是被分成更小的块(通常为 256 KB)。这些块随后被组织成 Merkle 有向无环图(Merkle DAG).
Merkle DAG:
- 将每个块与其哈希链接起来。
- 确保文件结构防篡改。
- 无需下载整个文件即可验证数据。
该系统支持重复数据删除——如果两个文件共享块(例如两个具有相同介绍的 PDF),则这些块只存储一次。
点对点内容交付
由于 IPFS 是点对点的,因此不存在中心化服务器。网络中的每个参与者(节点)都可以:
- 托管(提供)内容。
- 向其他人请求并下载内容。
当你请求文件时,数据会同时从多个节点获取,类似于 BitTorrent 的工作方式。这使得 IPFS 具有弹性,在许多情况下速度更快,并且能够随着更多用户的加入而自然扩展。
固定和持久性
IPFS 不会自动永久存储文件。默认情况下,节点可能会将不再需要的文件进行垃圾回收。
为了确保文件的长期存储,您需要将其固定。固定操作会告知您的 IPFS 节点永久保存该文件。
还有 Filecoin、Pinata 和 web3.storage 等服务,它们提供付费或激励解决方案,用于在多个节点上固定文件,从而提供分散的持久性。
IPNS 的版本控制和可变性
由于 IPFS 是内容寻址的,因此内容是不可变的——CID 始终指向相同的数据。
但是如果您想要一个始终指向文件最新版本的链接怎么办?
这就是星际命名系统 (IPNS) 的用武之地。IPNS 使用公钥-私钥对来分配人类可读的名称(或地址),这些名称(或地址)可以指向随时间更新的 CID。
例如:
- 您的 IPNS 地址今天可能指向 CID v1。
- 您明天可以将其更新到 CID v2。
这使得原本不可变的系统中可以实现可变引用。
加密安全和信任
IPFS 中的每条内容都通过其加密哈希值进行标识。这确保了:
- 防篡改内容:如果文件被更改,其 CID 也会改变。
- 内置数据验证:下载的数据将使用其哈希值自动验证。
- 无需信任的架构:您不必信任托管文件的人;哈希保证了其真实性。
IPFS 如何与区块链技术集成
星际文件系统(IPFS)和 blockchain技术 在去中心化生态系统中,IPFS 和区块链服务于不同但高度互补的用途。区块链为金融交易或数据验证提供安全、防篡改和透明的账本,而 IPFS 则提供可扩展且高效的去中心化存储。
由于链上数据的存储限制和高成本,区块链从 IPFS 等链下解决方案中受益匪浅,可以处理非交易数据,尤其是大文件。
区块链和 IPFS 之间的这种无缝交互为当今 Web3 中一些最重要的基础设施提供了动力。
它们是:
IPFS 在区块链中的常见用例

存储智能合约数据
智能合约 数据通常存储在链上,但容量有限,不适合处理大型数据集或文件。IPFS 通常用于存储智能合约使用 CID(内容标识符)引用的补充数据。
例如:
- 区块链游戏中的游戏状态
- DAO 治理文件
- DeFi 合约的详细条款和说明
这种链下存储减少了区块链膨胀和 gas 费用,同时保持了数据的可访问性和可验证性。
NFT 元数据和媒体文件
不可替代令牌(NFT) 数据通常代表着图像、视频、音频或 3D 模型等数字资产的所有权。然而,将这些富媒体文件直接存储在链上效率低下且成本高昂。
IPFS 通过存储来解决这个问题:
- NFT 图像和媒体资产
- 元数据文件(例如标题、创建者、特征、稀有度)
然后,每个 NFT 智能合约都指向相应的 IPFS CID,以确保内容不可变且可验证。这还可以防止图像链接损坏或元数据篡改等问题。
托管去中心化应用程序(dApp)前端
Web3 应用程序通常使用 IPFS 来托管其前端代码和用户界面。这使得 dApp 完全去中心化——不仅在后端逻辑(智能合约)方面,而且在其可视化层面也同样如此。
IPFS 托管的 dApp:
- 无法被中心化平台审查或删除
- 只要有人固定内容,内容就一直可用
- 可通过 IPFS 网关或 IPNS 名称访问
项目通常将 IPFS 与 ENS(以太坊名称服务)或 Unstoppable Domains 等域服务集成,以便于访问。
以太坊和其他主要区块链中的 IPFS
Ethereum
以太坊是 IPFS 最杰出的采用者之一。开发人员经常使用 IPFS 来:
- 存储 NFT 元数据(例如,在 ERC-721 和 ERC-1155 代币中)
- 引用智能合约中的链下文档
- 托管去中心化前端 DEFI 协议
Filecoin 激励了持久的 IPFS 存储,也与 Ethereum 以及更广泛的 Web3 生态系统。
索拉纳
Solana 集成了 IPFS(通常通过 Arweave 或 Pinata)来存储 NFT 数据。借助 Solana 超快的区块链,IPFS 可以将其作为补充,将繁重的文件存储转移到去中心化网络,同时又不影响可访问性或信任度。
Polygon
Polygon 支持全栈 dApp 开发,并经常使用 IPFS 来:
- NFT存储
- 去中心化自治工具
- 层2 构建轻量级前端的项目
Polygon 上的项目经常集成 IPFS 和 Filecoin,以保持资产的轻量和去中心化。
Tezos、Avalanche、币安智能链(BSC)
这些链还利用 IPFS 来托管:
- 项目文件
- 前端 UI
- NFT资产
IPFS 作为跨多个区块链的共享链下基础设施层,促进互操作性和去中心化。
使用 IPFS 的加密项目示例
外海

最大的 NFT 市场 使用 IPFS 托管元数据 以及 NFT 的媒体文件。它确保即使 OpenSea 的服务器出现故障,通过 IPFS 链接的资产仍然可访问。
Uniswap

Uniswap 的前端托管在 IPFS 上,它允许用户与 分散交流 即使其主域已下线或被阻止,也可以通过网关访问。
Filecoin

虽然 Filecoin 是一个独立的协议, 它建立在 IPFS 之上 并通过提供持久文件存储的去中心化经济模型来扩展其功能。项目使用 Filecoin 存储大型数据集,并通过 IPFS 链接访问它们。
Audius

一个去中心化的音乐流媒体平台, Audius 使用 IPFS 存储音频文件和元数据,同时使用区块链管理所有权和版税。
阿拉贡

构建平台 的DAO, Aragon 使用 IPFS 将治理提案、投票记录和文档存储在链下,同时维护链上的可验证链接。
为什么 IPFS 在区块链和加密货币中很重要
随着区块链和加密货币生态系统的扩展,对可扩展、安全且抗审查的数据存储的需求变得更加迫切。
区块链非常适合存储交易记录和执行去信任逻辑,但在处理大型文件或复杂数据集时却显得力不从心。因此,星际文件系统 (IPFS) 就显得至关重要。
通过提供去中心化的文件存储和检索,IPFS 解决了 Web3 基础设施中的几个核心挑战,在使加密更具功能性、透明度和弹性方面发挥着至关重要的作用。
去中心化数据存储及其优势
IPFS 通过实现数字内容的点对点存储,消除了对集中式服务器、云提供商或数据孤岛的依赖。在这个系统中,全球用户托管和共享文件,消除了单点故障,使数据更易于访问。
主要优点是:
- 冗余:内容分布在多个节点上,降低了数据丢失的风险。
- 可用性:只要至少一个节点固定或缓存文件,文件就仍然可以访问。
- 可验证:每个文件都使用唯一的加密哈希值(CID)进行内容寻址,确保其未被更改。
- 成本效益:减少链上存储大文件的负担,节省资源和gas费用。
这种去中心化与区块链的核心理念完全一致:没有中央权威的无信任系统。
克服区块链可扩展性和存储限制
区块链并非为处理海量数据而设计。直接在链上存储图像、视频、PDF 或应用程序前端既低效又昂贵。例如,由于以太坊区块空间有限,在以太坊上存储 1MB 数据就可能要花费数百美元的 Gas 费。
IPFS 的解决方法如下:
- 将大型文件存储在链下,同时在链上维护防篡改参考(CID)。
- 使开发人员能够构建通过 IPFS 引用外部数据的轻量级智能合约。
- 防止区块链膨胀,这会降低网络速度并增加同步时间。
通过卸载存储,IPFS 允许区块链系统更可持续地扩展,同时仍然保持数据完整性和透明度。
增强安全性和抗审查能力
在中心化系统中,内容可能会被托管服务提供商、政府或企业删除、编辑或隐藏。相比之下,IPFS 天生就具有抗审查能力,因为没有任何单一实体控制网络。
安全优势有:
- 不可变内容:一旦文件被添加并固定在 IPFS 上,如果不改变内容本身,其 CID 就无法更改。
- 防篡改验证:数据通过加密哈希进行验证,因此无法伪造或伪造。
- 抵抗拆除:由于文件由世界各地的同行分发和托管,因此几乎不可能审查或阻止访问。
这使得 IPFS 成为托管的理想选择:
- NFT 媒体和元数据
- dApp 前端
- 去中心化新闻
- DAO 文档
- 科学研究和开放数据
对于旨在维护信息自由和打击中心化控制的加密项目来说,IPFS 不仅仅是一种工具,而是一种必需品。
IPFS 有哪些缺点?
以下是使用 IPFS 的主要缺点:
没有内置文件持久性
IPFS 采用内容寻址技术,这意味着文件一旦添加到网络,就会获得一个唯一的哈希值 (CID)。然而,这并不能保证文件永远可用。
这是因为:
- 如果没有节点主动“固定”或托管文件,IPFS 上的文件可能会消失。
- 核心 IPFS 中没有激励机制来长期保留数据。
- 节点上的内容垃圾收集可以随着时间的推移删除未固定的文件。
为了克服这个问题,项目通常使用 Filecoin、Pinata 或 web3.storage 等补充服务进行持久存储,这增加了复杂性和成本。
与 HTTP 相比检索时间较慢
IPFS 是点对点的,因此文件检索取决于:
- 托管内容的对等点数量
- 他们的地理位置
- 网络可靠性
与针对速度和延迟进行优化的传统内容分发网络 (CDN) 相比,这可能会导致加载时间不一致或更慢。如果文件未在节点之间广泛分布,延迟可能会很明显。
用户引导困难和工具差距
对于不熟悉去中心化基础设施的日常用户:
- 运行 IPFS 节点在技术上可能很复杂
- 了解 CID 链接、网关和固定可能会带来陡峭的学习曲线
- 与传统云服务相比,缺乏主流友好的 UI 工具
这种可用性差距限制了更广泛的采用,特别是对于非开发人员和普通互联网用户而言。
没有原生加密或访问控制
默认情况下,IPFS 存储的所有内容一旦添加到网络就会公开。具体如下:
- 没有内置加密
- 没有本机访问权限或私人共享功能
对于处理敏感或个人数据的应用程序来说,这是一个值得关注的问题。开发人员必须手动添加加密层或使用第三方协议来管理隐私和访问控制。
搜索和索引挑战
与 Google 等搜索引擎对内容进行索引和排名的中心化网络不同,IPFS 缺乏原生的、高效的内容发现系统。
结果是:
- 您必须知道确切的 CID 才能访问文件
- 在 IPFS 上浏览或搜索内容并不直观
- 这使得用户体验变得支离破碎,尤其是对于随意的用例
我们正在努力提高可发现性(例如,通过 IPNS 或 ENS),但这仍然是一个薄弱环节。
依赖网关进行 Web 访问
大多数用户通过公共网关(例如 https://ipfs.io/ipfs/)访问 IPFS 内容。然而,这些网关:
- 充当中心化中介
- 可以限制频率、审查或删除
- 重新引入一种中心点故障形式
为了避免这种情况,用户需要运行本地节点或使用分散式浏览器,这又回到了复杂性问题。
IPFS 在区块链和 Web3 中的未来
随着区块链和 Web3 技术的成熟,对可扩展、去中心化存储解决方案的需求日益迫切。星际文件系统 (IPFS) 凭借其点对点架构和内容可寻址存储,已将自己定位为去中心化互联网的基础协议。
但是,在区块链和 Web3 的背景下,IPFS 的未来会怎样呢?下面,我们将探讨未来几年塑造 IPFS 发展轨迹的关键趋势、整合和创新。
IPFS作为去中心化文件存储的标准
以太坊、Solana 和 Polygon 等传统区块链并非设计用于处理大型或静态文件,例如图像、视频或应用程序前端。IPFS 提供了一种自然的解决方案,并且越来越多地被用作默认的链下存储层。
未来,IPFS 可能会:
- 默认捆绑到更多 Web3 开发框架中(例如 Truffle、Hardhat、Moralis)
- 支持去中心化身份系统、DAO 记录和 Web3 游戏资产
- 用作元宇宙资产、数字收藏品和持久 Web 应用程序的存储层
这一举措将巩固 IPFS 作为区块链堆栈中重要基础设施的地位,就像以太坊对于智能合约一样。
与 Filecoin 等激励层更紧密的集成
目前,IPFS 最常见的批评之一是其缺乏内置的文件持久性。Filecoin 等项目正在努力解决这一挑战,旨在为 IPFS 存储增添经济激励。
向前进:
- 更多 dApp 将结合 IPFS + Filecoin 以确保长期数据可用性
- 存储协议可能提供自动固定、智能合约链接支付模型和去中心化备份
- Filecoin 的检索和存储市场将使 IPFS 内容更易于访问和货币化
这种整合将为去中心化存储创建一个可扩展、可靠且经济可行的自给自足的生态系统。
在去中心化应用程序(dApp)托管中扮演着越来越重要的角色
随着 Web3 的扩展,对完全去中心化应用基础设施的需求也日益增长。目前,许多 dApp 依赖于托管在 AWS 或 Netlify 等平台上的中心化前端。这带来了潜在的单点故障。
使用 IPFS:
- dApp UI 可以托管在分布式网络上
- 可以使用 ENS 或 IPNS 解析域名
- 更新和版本控制变得加密透明
未来,我们可能会看到更多默认通过 IPFS 部署的 dApp 前端,并为区块链开发人员提供轻松的即插即用集成。
增强隐私和加密层
目前,IPFS 内容默认是公开的。但 Web3 项目已开始研究加密和访问控制层,以便在 IPFS 上实现选择性共享和私有内容托管。
预期发展包括:
- IPFS内容的原生加密标准
- 零知识证明集成,实现安全访问
- 与链上身份或 NFT 关联的代币门控内容访问
这些进步将使 IPFS 适用于更多需要保密的企业级、医疗保健和金融用例。
多链和可互操作的 Web3 生态系统中的 IPFS
随着区块链技术走向多链互操作性,IPFS 提供了一种共享的、与链无关的存储协议,可以统一跨不同网络的数据访问。
未来几年:
- IPFS 将用作跨链内容交付系统
- 存储在 IPFS 上的数据可以被以太坊、Polkadot、Cosmos、Avalanche 等访问
- 统一存储层将简化跨平台 dApp 开发和资产管理
这使得 IPFS 成为少数能够作为所有主要区块链生态系统基础设施的技术之一。
主流意识和浏览器级集成
为了实现大规模采用,最终用户必须能够与 IPFS 无缝交互。这意味着无需安装浏览器扩展、网关或节点。
目前,Brave 等浏览器已经集成了原生 IPFS 支持,其他浏览器也可能会效仿。
将来:
- IPFS URI 可以在 Chrome、Firefox 和移动浏览器中本地解析
- 去中心化的网站和应用程序无需中心化网关即可浏览
- 对于 Web3 用户来说,IPFS 可能会变得像“https://”一样熟悉
这将有助于弥合 Web2 和 Web3 之间的差距,加速主流采用去中心化内容交付。
IPFS 与 HTTP:有什么区别?

我们今天所知的互联网主要由 HTTP(超文本传输协议)驱动,这是一种从服务器请求和传递数据的中心化方法。但随着 Web3 和去中心化技术的发展,星际文件系统 (IPFS) 正在崛起,成为一个强大的替代方案。
那么,IPFS 与 HTTP 究竟有何区别?让我们来探讨一下这些协议的工作原理、它们之间的区别,以及为什么 IPFS 在区块链和加密领域变得越来越重要。
| 特性 | HTTP | IPFS |
| 卓越 | 中心化 | 去中心化(P2P) |
| 内容寻址 | 基于位置(URL) | 基于内容(CID) |
| 数据持久化 | 宿主依赖性 | 需要固定/激励 |
| 审查抵抗 | 低 | 高 |
| 资料验证 | 有限 | 强(基于哈希) |
| 速度 | 使用 CDN 加速 | 变量(同行可用性) |
| 易用性 | 非常人性化 | 需要更好的工具 |
集中式与分散式架构
HTTP:基于位置且集中式
HTTP 在基于位置的寻址系统上运行,其中使用诸如“https://example.com/file.jpg”之类的 URL 从特定服务器检索文件。如果该服务器离线或受到审查,则内容将无法访问。
- 数据存储在中央服务器上
- 用户从单一来源获取文件
- 容易受到停机、黑客攻击和审查
IPFS:基于内容且去中心化
相比之下,IPFS 采用基于内容的寻址方式。每个文件都会被赋予一个唯一的加密哈希值 (CID)。当您请求文件时,网络会查找任何包含该特定内容的节点,无论其物理位置如何。
- 文件存储在对等网络中
- 从托管副本的多个节点检索
- 更具弹性,抗审查
如何定位和传送文件
HTTP 工作流程:
- 您请求类似 https://site.com/file.png 的 URL
- 浏览器联系托管该文件的 Web 服务器
- 服务器响应数据
如果服务器宕机或文件被删除,内容将不再可用。
IPFS工作流程:
- 您请求一个 CID,例如 QmXyz……
- IPFS 节点在网络中搜索该精确哈希值
- 该文件由托管它的一个或多个节点传送
即使原始上传者消失,其他人也可以提供该文件,确保持续可用性。
内容完整性和验证
HTTP:
- 没有内置机制来验证内容。
- 服务器可能会在用户不知情的情况下提供修改过的文件。
- 安全性取决于 SSL/TLS 证书和服务器信任。
IPFS:
- 内容是不可变的——如果文件发生变化,其哈希值也会改变。
- 用户可以根据 CID 立即验证完整性。
- 消除对第三方进行内容验证的信任。
这使得 IPFS 对于 NFT 元数据等用例特别有吸引力,因为防篡改内容至关重要。
可扩展性和效率
HTTP:
- 规模越大,成本就越高,效率就越低。
- 热门内容需要通过 CDN(集中式缓存)进行复制。
- 服务器过载可能会导致速度变慢或崩溃。
IPFS:
- 热门文件会自动分布在各个节点上。
- 访问文件的用户越多,文件的速度就越快,可用性就越高。
- 通过重复数据删除和缓存有效利用带宽和存储。
IPFS 为去中心化应用程序(dApps)提供了可扩展的解决方案,尤其是那些处理媒体、数据集或文档的应用程序。
审查抵抗
HTTP:
- 内容可能会被当局或 ISP 删除或阻止。
- 域名和服务器可能会被关闭。
- 限制在受限制区域内访问信息。
IPFS:
- 没有任何中央权威机构可以单方面删除内容。
- 只要一个节点承载数据,数据就保持可用。
- 非常适合言论自由、开放数据和不受审查的媒体。
总结
IPFS 通过实现去中心化、安全高效的内容存储,正在塑造区块链和 Web3 的未来。从 NFT 到 dApp,它与以太坊等主流区块链的集成正在释放各种实际用例。
虽然 IPFS 存在一些局限性,例如缺乏永久性和检索速度慢,但它解决了 HTTP 无法解决的关键问题。随着越来越多的项目将抗审查性和数据完整性放在首位,IPFS 将继续在为基于区块链的生态系统构建更具弹性和去中心化的互联网方面发挥关键作用。










