区块链 · 数字资产知识 · 行业资讯
文章库关于本站

区块链基础

区块链项目为什么使用IPFS|内容寻址不等于永久存储

摘要

IPFS让应用按内容查找和传输文件,但一个CID并不等于一份永久保存承诺。把内容校验、在线副本、固定保存和网页访问入口分开看,才能判断区块链项目中的图片、文档究竟由谁保管。

区块链ipfs的科技主题配图

先分清链上记录与文件存放

在区块链项目介绍中看到“使用IPFS”,不应直接理解为整份文件已经存进区块链。IPFS是一组用于内容寻址、路由和传输的开放协议,不是一家统一收费、统一保管文件的存储公司。应用可以用它传输资料,也可以在自己的其他记录中保存内容标识,两项工作由不同机制完成。

这一区分对教程网站同样有用:文章数据库可以记录某张配图的CID,图片本身则由提供该数据的节点保存。数据库中仍有标识,并不能证明此刻一定有在线节点愿意提供文件;网站介绍也需要说明实际的保存安排。

CID帮助确认内容,不负责生成副本

CID是内容标识符。IPFS把数据组织成可寻址的数据块,标识与数据内容及其编码方式相关;读取时可依据这些信息检验拿到的数据是否匹配。它解决的是“取回的是否为指定内容”,并不是“世界上必然有人一直保存内容”。

例如,一个项目发布了流程示意图,之后修改图中文字并重新导入,新的内容会形成相应的新标识。旧文章若继续引用旧CID,仍指向原来的内容,而不会自动变成新版。这个例子只是版本管理说明,不代表本站已经把文章迁移到IPFS。

冷钱包冷存储的科技主题配图

找到提供者之后,才有文件传输

实际取文件时,还需要发现哪些节点能够提供所需数据,再完成连接和传输。知道CID与知道某台服务器的地址不是同一回事。HTTP网关可以让普通浏览器通过网页请求访问IPFS内容,但网关只是访问途径,不能替所有节点承担保存责任。

因此,某个网关暂时打不开,不足以单独证明内容已经从整个网络消失;反过来,昨天成功打开一次,也不足以证明一年后仍能取得。排查记录应分别写明所用入口、请求时间和内容标识,避免把一次页面故障当作存储结论。

临时缓存与固定保存不是一回事

节点为处理访问而缓存的数据,可能在垃圾回收时被清理。固定保存,也称pinning,是告诉特定节点保留指定内容的安排。对于由多个数据块组成的文件或目录,还需要关注是否保留了完整的关联数据,而非只留下一个入口块。

固定在自己的节点与委托远程服务固定,是两种不同的运维责任。前者需要维护节点及磁盘,后者需要确认服务约定和持续状态。取消某处固定,也不意味着其他节点持有的副本会同时消失,因此不宜把它当作全网删除按钮。

发布前把保存责任写成可检查事项

如果项目准备使用IPFS,至少要明确谁保留原始文件、谁维护在线副本、谁定期抽查完整下载,以及服务停用时怎样迁移。抽查应同时关注能否取得全部数据和内容是否匹配,二者不能互相替代。这是一份运维检查思路,不是协议自动提供的服务。

对普通读者而言,看到“内容寻址”“去中心化”之后,再追问保存责任和可用性安排,比只看一个CID更有帮助。一个方案可以具备内容校验能力,同时仍然需要备份、预算与持续维护;采用IPFS并不会让这些成本自行消失。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验