本文翻译自 IPFS 社区教程 ProtoSchool。ProtoSchool 是一个可以交互式学习 IPFS 编程的网站,涉及代码的部分大家可到该网站上直接运行测试!
本文接上篇 IPFS 去中心化数据结构(二)。
LESSION 4 - 内容标识符(CID)
之前我们通过可爱的照片举例让讨论不那么无趣,但实际上内容寻址可用于所有不同类型的文件和数据,JSON 对象、学术论文还有视频。要使加密哈希工作,我们需要知道我们正在使用的是哪种数据格式并使用适当的工具。
数据结构解码
CID
是内容寻址的特定方式。它是 IPFS 的规范之一,IPFS 是一种去中心化的 Web 协议,我们将在后面的教程中讨论,它具有非常广泛的含义。
CID
是包含加密哈希的单个标识符,并包含了编码解码器("codec")相关所需的信息。编解码器以某些格式编码和解码数据。
+-------+------------------------------+
| Codec | Multihash |
+-------+------------------------------+
许多格式和协议都是使用内容寻址的。 CID
让我们可以为任何系统机制创建通用标识符。 像 git 、以太坊和比特币都使用内容寻址,只是它们在解析数据加密哈希函数上有所不同。
CID
是一种标识符,包含用于解释数据的编解码器和多重哈希值(multihash
),它是一种自描述哈希值(值中标识了使用什么类型的哈希函数来创建该值)。
+------------------------------+
| Codec |
+------------------------------+
| |
| Multihash |
| +----------+---------------+ |
| |Hash Type | Hash Value | |
| +----------+---------------+ |
| |
+------------------------------+
链接不同的数据结构
CID
允许我们对完全不同的数据结构进行链接。 想象一下,一个 JSON 对象树链接到 BSON 对象,这些对象又链接到 git 提交。(或者想象一个包含小狗照片和小猫视频的文件夹,其子文件夹包含长颈鹿的文章。存在各种各样无穷的可能性!)在这棵文件树下,我们有一个加密哈希值,我们用它来分发或链接到其他数据。
为什么在不同的数据结构之间建立链接很重要?在中心化的网络上,我们将文本链接到图片,从徽标链接到主页,从电子邮件链接到 PDF。链接将资源联系在一起,传达意义,形成网络互动!
下一节:IPFS 去中心化数据结构(四)
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于