首页 > 解决方案 > IPFS CID 重现性

问题描述

这可能是非常基本的问题,但我在搜索中找不到。假设文件内容甚至不会改变一个位,即使 IPFS CID 被不同的用户添加/固定,它是否永远不会改变?

在可预见的未来,这个假设会成立吗?我知道这取决于哈希算法,所以只要知道使用了什么哈希算法(SHA-256),IPFS CID 就可以重现可预见的功能,对吧?或者是否还需要存储其他信息?

标签: ipfs

解决方案


在可预见的未来,这个假设会成立吗?我知道这取决于哈希算法,所以只要知道使用了什么哈希算法(SHA-256),IPFS CID 就可以重现可预见的功能,对吧?或者是否还需要存储其他信息?

ipfs add <file>不,假设它总是给出相同的 CID是不安全的,因为除了散列函数本身之外还有许多参数,二进制文件可以随时间自由更改。在较高级别上ipfs add,将文件/目录转换为表示该数据的称为UnixFSipfs add的树结构,并且由于允许随时间更改的默认方式,这意味着 CID 输出ipfs add example.txt可以更改

许多 UnixFS 参数是可配置的(并在 中描述ipfs add --help)并且包括诸如原始叶子和块大小之类的选项。这意味着,如果您真的想确保ipfs add example.txt结果是相同的 CID,则可以传递一组标志来确保是这种情况。


请注意,一般来说,我会尽量避免将相同的数据多次导入 IPFS(无论如何这都是一种资源浪费),尽管在某些情况下,这可能是让您的项目退出的最简单或最好的事情地面。


推荐阅读