IPFS 和 默克尔森林

IPFS 是星际文件系统(Inter Planetary File System)的缩写,它是一种点对点的分布式文件系统,可以使 Web 更快,更安全,更开放。

IPFS 的目标是取代 HTTP ,从当前的 Web 转移到 Web 的分布式版本。

那么自然而然会想到这么一个问题,取代 HTTP 协议的动机是什么?

第一点: HTTP 协议高昂的带宽成本

当前的 Web 基于单个客户端 - 服务器模型来使用 HTTP 协议,需要接近中央服务器才能下载指定类型的文件。

但是如果用户能从附近的节点获取相同的文件,那么就可以通过使用更少的带宽达到更快的文件下载速度。

在视频传输方面,P2P 方法可以节省 60% 的带宽成本。

IPFS 可以高效地分发大量数据,实现数据零重复的同时节省存储空间。

第二点:普遍存在的 "404" 错误提示消息

大数据显示,网页的平均寿命是 100 天,之后会经常性地出现 “404” 这种错误消息提示。现在的网络脆弱不堪,链接频繁地出现故障。

第三点:中心化的基础设施

用户数据的所有功能都存储在主服务器上。
一旦服务器崩溃,那么一切都完了:如果推特的服务器崩溃,用户无法发送推文;如果脸书发生故障(其实它已经麻烦缠身了)

第四点:“离线”是新的在线方式

在发展中国家,发生自然灾害期间经常会导致相当差的网络环境,我们应该为这种现状做些改变。

如果用户想要检索数据结构或使用IPFS将文件保存在Web上,不需要访问中央服务器。

用户可以要求网络中的节点提供该文件的路径,然后以文件内容的“加密哈希” 形式传送给用户,加密哈希相当于文件的“唯一指纹”。

IPFS 的核心是 IPLD,它是星际关联数据(Inter Planetary Linked Data)的简写。

在IPFS中,两个节点之间的链接采用加密哈希的形式。

Merkle DAG 的数据结构使其变为可能, 它为 IPFS 提供了许多有用的属性,包括:

  • 内容寻址:所有内容都由其加密哈希(包括链接)唯一标识。
  • 防篡改:所有内容均通过校验和进行验证。
  • 如果数据被篡改或损坏,IPFS会检测到它,因为哈希值会发生变化。
  • 无重复:保存完全相同内容的所有对象都相等(即它们的哈希值相等),并且只存储一次。

系统的互操作性也可以存在于默克尔森林中,其中每棵树代表一个单独的默克尔树。

在森林中,一棵树可以是比特币,也可以是以太币,还可以是常规的 SQL 数据库。为了在这些树之间交换信息,基于内容的加密哈希函数是行之有效的.

与发送整个文件所不同的是,它只需要发送哈希。

现在, IPFS 系统被应用于比特币,以太坊,Git,以及比特流(Bit Torrent)中。

Leave a Reply

Your email address will not be published.