同一文件的 CID 是否不同,但由 2 个用户在 IPFS 中上传?



如果两个用户同时从同一内部网络上的两个终端设备(例如,共享互联网链接的同一办公室(将同一文件上传到IPFS,这两个文件的CID是否不同?如果 CID 不同,那么是什么造成了差异?

文件上传到IPFS的时间不会影响CID的结果。只要用户上传完全相同的文件(即,文件没有一个不同的字节(,那么由添加文件的两个用户生成的CID将是相同的,前提是用户在将该文件添加到IPFS时使用相同的设置。

但是,您可以为相同的内容获取不同的 CID,具体取决于所使用的多哈希以及您使用的 CID 版本。例如,如果使用 CIDv1 和 sha2-256 添加文件,而我使用 CIDv0 和 sha3-512 添加同一文件,则生成的 CID 将完全不同。现在,如果我也使用 CIDV1 和 sha2-256 添加相同的文件,则生成的 CID 将是相同的。此外,如果用户添加相同的内容,但使用不同的分块参数,则生成的 CID 也将不同。

现在我将展示一些在同一个文件"cat.jpg上使用ipfs add的示例

ipfs add --cid-version 1 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu

ipfs add --cid-version 0 cat.jpg
QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v

现在您还可以尝试调整多哈希:

ipfs add --cid-version 1 --hash sha2-256 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu

ipfs add --cid-version 1 --hash sha3-512 cat.jpg
bafkriqcr4cvbwfxzjp4thqp5n35klda6vpukgae5drqjn6yatg5lj5jnw2phcozcibephttjhob3fkhi3zgklqn2tiemkjrgkntkishw2bl2i

最后,让我们尝试一个具有不同块大小的

ipfs add --cid-version 1 --chunker=size-1 cat.jpg
bafybeigmitjgwhpx2vgrzp7knbqdu2ju5ytyibfybll7tfb7eqjqujtd3y cat.jpg

ipfs add --cid-version 1 --chunker=size-2 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu cat.jpg

最新更新