D 的个人博客

但行好事莫问前程

  menu
417 文章
3446695 浏览
6 当前访客
ღゝ◡╹)ノ❤️

IPFS 去中心化数据结构(三)

本文翻译自 IPFS 社区教程 ProtoSchool。ProtoSchool 是一个可以交互式学习 IPFS 编程的网站,涉及代码的部分大家可到该网站上直接运行测试!

本文接上篇 IPFS 去中心化数据结构(二)

LESSION 4 - 内容标识符(CID)

之前我们通过可爱的照片举例让讨论不那么无趣,但实际上内容寻址可用于所有不同类型的文件和数据,JSON 对象、学术论文还有视频。要使加密哈希工作,我们需要知道我们正在使用的是哪种数据格式并使用适当的工具。

数据结构解码

CID 是内容寻址的特定方式。它是 IPFS 的规范之一,IPFS 是一种去中心化的 Web 协议,我们将在后面的教程中讨论,它具有非常广泛的含义。

CID 是包含加密哈希的单个标识符,并包含了编码解码器("codec")相关所需的信息。编解码器以某些格式编码和解码数据。

1+-------+------------------------------+
2| Codec | Multihash                    |
3+-------+------------------------------+

许多格式和协议都是使用内容寻址的。 CID 让我们可以为任何系统机制创建通用标识符。 像 Git 、以太坊和比特币都使用内容寻址,只是它们在解析数据加密哈希函数上有所不同。

CID 是一种标识符,包含用于解释数据的编解码器和多重哈希值(multihash),它是一种自描述哈希值(值中标识了使用什么类型的哈希函数来创建该值)。

 1+------------------------------+
 2| Codec                        |
 3+------------------------------+
 4|                              |
 5| Multihash                    |
 6| +----------+---------------+ |
 7| |Hash Type | Hash Value    | |
 8| +----------+---------------+ |
 9|                              |
10+------------------------------+

链接不同的数据结构

CID 允许我们对完全不同的数据结构进行链接。 想象一下,一个 JSON 对象树链接到 BSON 对象,这些对象又链接到 Git 提交。(或者想象一个包含小狗照片和小猫视频的文件夹,其子文件夹包含长颈鹿的文章。存在各种各样无穷的可能性!)在这棵文件树下,我们有一个加密哈希值,我们用它来分发或链接到其他数据。

为什么在不同的数据结构之间建立链接很重要?在中心化的网络上,我们将文本链接到图片,从徽标链接到主页,从电子邮件链接到 PDF。链接将资源联系在一起,传达意义,形成网络互动!


下一节:IPFS 去中心化数据结构(四)