IPFS 是什么
一句话总结
一个点对点的文件存储网络——文件不放在某台服务器上,而是拆碎存在全世界无数电脑里,通过内容本身的哈希值来找它。
🤔 为什么会有它 / 解决了什么问题
传统互联网(HTTP)里,一个文件放在一台服务器上,服务器挂了文件就没了,服务器关了你取不到。IPFS 的设想是:文件按内容寻址(“这个哈希值的文件在哪里”),不按位置寻址(“这个 IP 上有啥文件”)。如果文件是热门的,全网都在缓存它、帮你传它。没人访问了文件就慢慢消失——但只要有一个人还保留着文件的 CID,就能把文件重新扩散出去。解决了”单点故障”和”中心化审查”两个痛点。
🔍 具体原理 / 运作逻辑
文件传进 IPFS 网络时被切分成小块(chunk),每一块用 SHA-256 算出内容哈希,组合成一棵 Merkle DAG,根节点哈希就是文件的 CID。你向网络请求一个 CID 时,通过 Kademlia DHT(分布式哈希表)找到哪些节点存了这些数据块,从最近的节点拉回来拼回原文件。你下载完文件后也自动变成了一个提供者(pin),帮别人加速下载。
更硬核的技术细节(点击展开)
IPFS 使用 libp2p 做底层网络(NAT 穿透、多路复用、加密传输)。每个节点有一个 PeerID(公钥哈希),节点间通过 GossipSub 协议交换路由信息。IPFS 没有”文件删除”操作——文件只要至少一个节点 pin 着它就可访问。IPFS 网关(如 ipfs.io/ipfs/
)允许普通浏览器通过 HTTP 读 IPFS 内容,但不参与 P2P 网络。
🧭 什么情况下会用到 / 什么场景会遇到它
- 部署抗审查的前端网站(发布后不可篡改、不可删除)
- 和 ENS 搭配做 Web3 网站(内容存 IPFS,域名解析走区块链)
🛠️ 怎么上手 / 在哪操作
装 IPFS Desktop (Windows/Mac) 或 ipfs-cli (Linux),或用 Cloudflare Web3 Gateway 直接访问 ipfs:// 内容。
⚖️ 副作用 / 代价 / 取舍
- 文件不保证持久化——没人 pin 的内容会慢慢从网络中消失,需要配合 Pinata/Filebase 等固定服务
- 性能不如 CDN——P2P 找文件慢于从最近的 HTTP 节点拉(首次访问可能几秒到几十秒)
🕰️ 来历
- 谁提出/创造的:Juan Benet(Protocol Labs 创始人)
- 什么时候出现的:2015 年发布白皮书,2016 年 IPFS 网络上线
🔗 关联 / 经常一起出现的概念
- Filecoin:Protocol Labs 的另一个项目,用加密经济激励节点长期存文件(“pin 文件有奖励”)
- ENS(以太坊域名服务):IPFS 的好搭档——ENS 域名解析到 IPFS 的 CID,实现去中心化网站
- Arweave:竞争方案,一次付费永久存储(不像 IPFS 需要持续 pin)
⚠️ 注意事项 / 常见误区
IPFS 不等于”文件永远存在”。没有 pinning service 付费的话,热门内容几天没人访问就可能丢失。IPFS 也不是匿名网络——所有传输都是明文,节点可以看到你请求的 CID。隐私场景需要结合其他工具(如 Tor)。
📎 记忆锚点
“BitTorrent 的升级版’内容寻址’互联网——不问文件在哪,只问哈希对不对。”
📝 更新日志
| 日期 | 改动 | 原因 |
|---|---|---|
| 2026-07-13 | 首次创建 | - |