-
Notifications
You must be signed in to change notification settings - Fork 2
/
IPFS 和 默克尔森林(科普)
39 lines (26 loc) · 2.84 KB
/
IPFS 和 默克尔森林(科普)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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 数据库。
为了在这些树之间交换信息,基于内容的加密哈希函数是行之有效的。
与发送整个文件所不同的是,它只需要发送哈希。
现在, IPFF 系统被应用于比特币,以太坊,Git,以及比特流(Bit Torrent)中。