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

栏目: 数据库 · 发布时间: 5年前

# IPFS # 去中心化 # 数据结构

本文翻译自 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 或其他节点获得相同的照片。

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

---- EOF ----


以上所述就是小编给大家介绍的《IPFS 去中心化数据结构(二)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

Lincoln Stein、Doug MacEachern / O'Reilly Media, Inc. / 1999-03 / USD 39.95

Apache is the most popular Web server on the Internet because it is free, reliable, and extensible. The availability of the source code and the modular design of Apache makes it possible to extend Web......一起来看看 《Writing Apache Modules with Perl and C》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换