同一个文件的 CID 是否不同,但由 IPFS 中的 2 个用户上传?
Are CID different for the same file but uploaded by 2 users in IPFS?
如果两个用户同时从同一个内部网络上的两个终端设备上传同一个文件到 IPFS(例如,同一个办公室共享互联网 link),那两个用户的 CID 是文件不同?如果 CID 不同,那么有什么不同?
文件上传到 IPFS 的时间不会影响 CID 的结果。只要用户上传的是完全相同的文件(即文件没有一个不同的字节),那么从添加文件的两个用户生成的 CID 将是相同的,前提是用户使用相同的文件将该文件添加到 IPFS 时的设置。
您可以获得相同内容的不同 CID,但这取决于所使用的 Multihash 以及您使用的 CID 版本。例如,如果您使用 CIDv1 和 sha2-256 添加文件,而我使用 CIDv0 和 sha3-512 添加同一文件,则生成的 CID 将完全不同。现在,如果我还使用 CIDV1 和 sha2-256 添加相同的文件,生成的 CID 将是相同的。此外,如果用户添加相同的内容,但使用不同的分块参数,则生成的 CID 也会不同。
现在我将展示一些在同一文件上使用 ipfs add
的示例 "cat.jpg"
ipfs add --cid-version 1 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu
ipfs add --cid-version 0 cat.jpg
QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
现在你也可以试试调整multihash:
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
如果两个用户同时从同一个内部网络上的两个终端设备上传同一个文件到 IPFS(例如,同一个办公室共享互联网 link),那两个用户的 CID 是文件不同?如果 CID 不同,那么有什么不同?
文件上传到 IPFS 的时间不会影响 CID 的结果。只要用户上传的是完全相同的文件(即文件没有一个不同的字节),那么从添加文件的两个用户生成的 CID 将是相同的,前提是用户使用相同的文件将该文件添加到 IPFS 时的设置。
您可以获得相同内容的不同 CID,但这取决于所使用的 Multihash 以及您使用的 CID 版本。例如,如果您使用 CIDv1 和 sha2-256 添加文件,而我使用 CIDv0 和 sha3-512 添加同一文件,则生成的 CID 将完全不同。现在,如果我还使用 CIDV1 和 sha2-256 添加相同的文件,生成的 CID 将是相同的。此外,如果用户添加相同的内容,但使用不同的分块参数,则生成的 CID 也会不同。
现在我将展示一些在同一文件上使用 ipfs add
的示例 "cat.jpg"
ipfs add --cid-version 1 cat.jpg
bafkreicdkwsgwgotjdoc6v6ai34o6y6ukohlxe3aadz4t3uvjitumdoymu
ipfs add --cid-version 0 cat.jpg
QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
现在你也可以试试调整multihash:
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