
当我们要与分布式 Web 上的对等方交换数据时,如何安全地定位和标识数据呢?我们依赖于内容寻址(而不是集中式 Web 的位置寻址)。
小黑将和大家一起深入研究 内容标识符(CID)的结构,这些结构是由 Multiformats 项目定义的各种自描述值构成的。

起源于 IPFS 的 CID 规范现在以 Multiformats 存在,并支持包括 IPFS,IPLD,libp2p 和 Filecoin 在内的广泛项目。
每个分布式信息系统都将 CID 用作参考内容的核心标识符。
内容标识符或 CID 是自我描述的内容寻址标识符。这并不表示其中内容存储,但它形成基于内容本身就是一种地址。CID 中的字符数取决于基础内容的加密哈希,而不是内容本身的大小。

由于 IPFS 中的大多数内容都使用进行了哈希处理 sha2-256,因此您遇到的大多数 CID 的大小是一样的(256 位,等于 32 个字节)。这让它们更易于管理,特别是在处理多个内容时这个优点就会发挥作用。
例如,如果我们将 Wikipedia 页面存储在 IPFS 网络上的 aardvarks 上,则其 CID 如下所示:QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco
创建 CID 的第一步是使用加密算法来转换输入数据,该算法将任意大小的输入(数据或文件)映射到固定大小的输出。这种转换称为加密哈希摘要或简称 hash。

使用的加密算法必须生成具有以下特征的哈希:
· 确定性:相同的输入应始终产生相同的哈希值。
· 不相关:输入中的微小变化将产生完全不同的哈希。
· 单向:从散列重建数据应该是不可行的。
· 唯一:只有一个文件可以产生一个特定的哈希。
请注意,如果我们在 aardvarks 的文档中更改了一个单词,则我们的密码算法将为文章生成完全不同的哈希。当我们使用内容地址获取数据时,可以确保看到该数据的预期版本。这与集中式 Web 上的位置寻址完全不同,在集中式 Web 上,给定地址(URL)上的内容可以随时间变化。
密码散列是不是唯一的 IPFS,并有许多的哈希算法有像sha2-256,blake2b,sha3-256和sha3-512中,不再视为安全 sha1和md5等 IPFS 使用sha2-256默认情况下,虽然 CID 支持几乎任何强大的加密哈希算法。

非常感谢大家对 IPFS&Filecoin 项目的持续支持。
小黑很高兴继续与大家一起,为人类信息建立一个强大的,去中心化和高效的基础。
小黑每日科普,小白不走弯路
end
黑犇科技,专注于IPFS领域。
经济模型明晰,策略完美命中,
黑犇第五代产品即将发布
选择基于信任
效率代表决心
黑犇科技期待与您合作

扫描二维码
获取更多精彩
黑犇科技
2020-07-23
2020-07-22
2020-07-21
2020-07-18
2020-07-08


