星鉴网>技术干货>IPFS基础知识:Merkle树和有向无环图(DAG)

IPFS基础知识:Merkle树和有向无环图(DAG)

2019/3/20 23:25:35 2442人阅读

【导读】 分散的网络依赖于链接的数据结构。让我们来探索一下它们的样子。

分散的网络依赖于链接的数据结构。让我们来探索一下它们的样子。

Merkle树

merkle树或简单的“哈希树”是一种树数据结构,其中每个节点都被散列。


在merkle树中,节点通过内容地址(散列)指向其他节点。请记住,当我们通过加密哈希运行数据时,我们会得到一个“哈希”或“内容地址”,我们可以将其视为链接,因此merkle树是链接节点的集合。

如前所述,所有内容地址都是唯一的。在上图中,node E包含对node F和的哈希的引用node G。这意味着内容地址(哈希)对于node E包含这些地址的节点是唯一的。

迷路?让我们把它想象成一组文件夹。如果我们通过哈希算法运行文件夹E,同时它包含子文件夹F和G,我们获取的内容派生哈希对其当前内容是唯一的。如果我们删除文件夹G,就像Grace从她的小猫照片中删除那个胡须。以前称为E的文件夹不再具有相同的内容,因此它获得了新的哈希值。

在构建上面的树时,根节点的最终内容地址(哈希)对于包含该树一直向下的每个节点的树是唯一的。如果任何节点中的数据即使按单个字节更改,则更改的节点的哈希值也会更改,其所有父节点的哈希值也会更改。

如果您没有注意到,这意味着作为程序员,您将始终需要向后构建这些数据结构,从叶节点到根节点。

有向无环图(DAG)



DAG是“Directed Acyclic Graph”的首字母缩写。这是描述特定类型的merkle树(哈希树)的一种奇特方式,其中树中的不同分支可以在单个前向方向上指向树中的其他分支,如上图所示。

18

参与讨论

登录后参加评论......

全部评论 0

作者

返回顶部