探索星际 用户必读 |【第23期】“CID”使IPFS在存储领域独一无二

IPFSUnion星际联盟
企业专栏
热度: 18568
当我们将数据导入IPFS节点时,我们将获得所谓的内容标识符或CID。CID使IPFS在存储方面独一无二,因为CID寻址内容,而不是典型https://的基于位置的寻址。

哈希值


当我们将数据导入IPFS节点时,我们将获得所谓的内容标识符或CID。CID使IPFS在存储方面独一无二,因为CID寻址内容,而不是典型https://的基于位置的寻址。

当我们在去中心化网络上与对等方交换数据时,我们依靠内容寻址(而不是集中式网络的位置寻址)来安全地定位和识别数据。


起源于 IPFS 的 CID 规范现在存在于 Multiformats 中,并支持广泛的项目,包括 IPFS、IPLD、libp2p 和星际文件系统。本文是关于 CID 本身的剖析,这些分布式信息系统中的每一个都将其用作参考内容的核心标识符。


什么是CID?


内容标识符或 CID 是自描述的内容寻址标识符。它不指示内容存储在哪里,而是根据内容本身形成一种地址。CID 中的字符数取决于基础内容的加密哈希,而不是内容本身的大小。由于 IPFS 中的大多数内容使用 sha2-256 进行哈希处理,因此您遇到的大多数 CID 的大小都相同(256 位,相当于 32 字节)。这使它们更易于管理,尤其是在处理多个内容时。


例如,如果我们在 IPFS 网络上存储 aardvark 的图像,它的 CID 将如下所示:QmcRD4wkPPi6dig81r5sLj9Zm1gDCL4zgpEj9CfuRrGbzF


创建 CID 的第一步是转换输入数据,使用加密算法将任意大小的输入(数据或文件)映射到固定大小的输出。这种转换称为加密散列摘要或简称为散列。


哈希值


使用的加密算法必须生成具有以下特征的散列:

  • 确定性:相同的输入应该总是产生相同的哈希值。
  • 不相关:输入的微小变化应该会生成完全不同的哈希值。
  • 一种方式:从散列中重建数据应该是不可行的。
  • 唯一性:只有一个文件可以产生一个特定的哈希值。

请注意,如果我们更改 aardvark 图像中的单个像素,我们的加密算法将为图像生成完全不同的哈希值。当我们使用内容地址获取数据时,我们可以保证看到该数据的预期版本。这与集中式 Web 上的位置寻址完全不同,其中给定地址 (URL) 的内容可以随时间变化。


加密散列不是 IPFS 独有的,有许多散列算法,如 sha2-256、blake2b、sha3-256 和 sha3-512、不再安全的 sha1 和 md5 等。IPFS 默认使用 sha2-256 ,尽管 CID 几乎支持任何强大的加密哈希算法。


加密散列可以从数据本身的内容派生而来,这意味着对同一数据使用相同算法的任何人都将到达同一哈希值。加密哈希是唯一的,这与典型https://的基于位置的寻址完全不同,其给定地址 (URL) 的内容可以随时间变化。


声明:本文为入驻“火星号”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。 未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:作为区块链信息平台,本站所提供的资讯信息不代表任何投资暗示,本站所发布文章仅代表个人观点,与火星财经官方立场无关。鉴于中国尚未出台数字资产相关政策及法规,请中国大陆用户谨慎进行数字货币投资。
语音技术由科大讯飞提供

评论0