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

本贴最后更新于 2033 天前,其中的信息可能已经物是人非

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

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

LESSION 3 - 通过加密哈希进行内容寻址

正如我们之前说的,中心化的 Web 依赖于中央机构来托管我们的数据,并使用 URL 作为地址来进行访问。但位置寻址不是唯一的选择。在去中心化的 Web 上,我们可以托管彼此的数据,并且通过一种特殊的链接方式让我们彼此间访问数据更可信和安全。

加密哈希

加密哈希是去中心化数据结构中最重要的工具函数。它打开了新链接形式的大门,我们称之为内容寻址,这样我们才能在没有中央机构的去中心化环境中链接数据。

哈希可以用于任何大小的数据,并为该数据返回单个固定大小的“哈希值”。 哈希值是一个看起来像 gobbledygook 的字符串,你可以将其视为数据的名称。它可能是这样的:

zdpuAsHkamdCQgrDrNSwJVgjMkQWoLxdrccxV6qe9htipNein

说实话,由内容衍生的名字目前对人类来说并不友好(beagle.jpg 更具描述性!),但哈希值更加安全。 原因如下:

加密哈希值是数据本身产生的,这意味着在相同数据上使用相同哈希算法将得到相同的哈希值。如果 Ada 和 Grace 都使用相同的去中心化 Web 协议(例如 IPFS)来共享完全相同的小猫照片,则两个图片文件会具有完全相同的哈希值。通过比较这些哈希值,我们可以保证这两张照片中的每个像素都是相同的。

加密哈希值也是独一无二的。这意味着如果 Grace 使用 Photoshop 从该小猫中删除了一些胡须,则更新后的图片会具有新的哈希值,并且很容易分辨 - 仅从哈希值,不用访问文件本身 - 它包含不同的数据。

去中心化 Web 上的信任

在中心化的网络上,我们信任某些机构,不信任其他机构。我们利用 URL 提供的线索尽力而为,但有些有恶意的人会使用位置寻址的缺点来欺骗我们。

在去中心化的网络上,我们能够传播并托管彼此的数据,我们可能不太了解托管数据的其他节点,但内容寻址为我们提供了一种信任他们所共享的数据的方法。通过内容寻址,我们不会被恶意行为者欺骗导致访问错误的数据。这就是加密哈希对去中心化网络如此重要的原因。

向对等节点查找数据

通过传统的位置寻址,我们知道需要访问域名 puppies.com 来查找 beagle.jpg 保存的数据内容。如果 puppies.com 域由于某种原因被破坏,我们将无法访问该图片。

去中心化网络的工作方式则是完全不同的。当我们想要一张可爱宠物的照片时,我们会通过其内容地址(哈希值)来进行查找。我们向谁查找呢?答案是整个网络!如果 Ada 在线,我们会看到她有我们正在寻找的内容,我们可以验证数据是否为我们正在寻找的内容,只要它具有匹配的哈希值。如果她下线,我们仍然可以从 Grace 或其他节点获得相同的照片。

由于我们使用哈希值来在去中心化的网络上请求数据,因此我们可以将哈希值视为链接,而不仅仅是数据名称。


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

  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 241 关注
  • 去中心化
    16 引用 • 106 回帖 • 5 关注
  • 数据结构
    88 引用 • 115 回帖 • 4 关注
1 操作
88250 在 2019-04-29 09:20:08 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...