什么是 InterPlanetary File System (IPFS)?
InterPlanetary File System (IPFS) 是一种基于内容寻址的文件存储与获取方式,可在多台计算机之间传输文件。它用加密指纹指向数据本身,因此相同的文件会解析到相同的地址。可以把它想象成一个巨大的图书馆,通过书的具体内容来找到书,而不是书架标签。
“InterPlanetary File System (IPFS) 会把我的文件放到区块链上。”不是这样的。IPFS 是一种基于内容寻址的文件网络;在多数部署中,区块链只存储很小的引用或校验值。
InterPlanetary File System (IPFS) 的工作原理
想象你添加一张照片。幕后发生的事情如下,不需要博士学位:
- 添加:你添加一个文件。IPFS 会把它拆分成若干块并对它们进行哈希,生成唯一的内容 ID。
- 链接:这些数据块被组织成一个 Merkle 有向无环图(Merkle DAG),这是一种可检测篡改的数据映射结构。
- 查找:其他节点可以使用 分布式哈希表(DHT) 发现谁持有该内容 ID。
- 获取:一旦找到,文件会通过 点对点 连接从一个或多个节点流式传输给你。
- 校验:每个数据块都会与其哈希值进行校验,因此你得到的正是被固定的内容,完全可以验证。
额外说明:当相同文件的副本越多,大量用户同时请求时,你通常会获得 更高性能。这正是设计的目的。
为什么 InterPlanetary File System (IPFS) 很重要
InterPlanetary File System (IPFS) 将网络从基于位置的地址转为基于内容的地址,这带来几项积极变化:
- 优势:默认保证内容完整性。如果哈希匹配,数据就是可信的,这对 NFT、数据集和公共档案很有帮助。
- 观点:它是 去中心化 的,因此文件可以分散存储在多个节点上,而不是依赖单一提供商。这与 集中式 存储孤岛恰好相反。
- 相关性:你会在去中心化应用、NFT 元数据、DAO 文档,甚至在对正常运行时间要求很高的科学数据镜像中看到它的身影。
把重要的内容固定(pin)住。要么运行自己的节点并固定文件,要么使用固定服务。如果没有人固定,内容可能会从网络中消失。
InterPlanetary File System (IPFS) 的主要特性
以下是它的突出点:
- 内容寻址:地址是数据的哈希,而不是服务器位置。
- 完整性:每个数据块都可以验证,因此篡改一目了然。
- 版本管理:更改文件会得到新的内容 ID,旧的 ID 仍然可解析。
- 离线可用:节点可以互相从附近获取内容,即使网络不稳定也能工作。
- 可组合性:文件通过签名结构相互链接,适合数据集和应用包。
变体
在 IPFS 生态中常见的一些组件:
- IPNS:一种可变指针,可以在固定的名称下更新所指向的内容 ID。
- 网关:允许浏览器在不运行节点的情况下通过网页链接获取 IPFS 内容,便于快速分享。
- 固定服务(Pinning):服务或你的节点通过长期存储来保持内容在线。
- Filecoin:一个相关的网络,用于有激励的存储合约,常与 IPFS 配合用于长期保存。
InterPlanetary File System (IPFS) 关注的是寻址和分发,本身并不保证永久存储。持久性来自固定或存储合约。
示例
一个 NFT 系列将其图片文件存储在 IPFS,通过服务固定它们,并在链上元数据中引用内容 ID,从而使艺术品保持可验证。
趣闻
“InterPlanetary” 这个名字表达了字面上的雄心。这个想法是即便有一天地球和火星之间往返时间非常漫长,数据仍然可以通过内容寻址进行访问。
总结
简短结论:InterPlanetary File System (IPFS) 让你能从任何持有该内容的人那里获取正确的文件,并验证它确实是正确的文件,这实现了互联网一直承诺的功能。
