区块链研习社【好文共赏】区块链从入门到精通

IPFS初学者指南(上)

2019-04-17  本文已影响22人  尾巴笔记

共享经济未来的关键技术之一是星际文件系统(IPFS)。它是一个点对点(p2p)文件共享系统,旨在从根本上改变信息在全球和全球以外的分布方式。IPFS由通信协议和分布式系统中的一些创新组成,这些创新组合在一起形成了一个与众不同的文件系统。因此,要全面深入地理解IPFS所要实现的目标,理解使之成为可能的技术突破是很重要的。

通信协议和分布式系统

要让两个人交换信息,他们需要一套共同的规则来定义信息的传输方式和时间。这些规则被广泛地称为通信协议,但是这有点拗口,所以我们简单地称之为语言。如果你去过一个你不会说母语的国家,你可能经历过通信协议的失败(或缺乏)。这就是计算机的情况;它们彼此之间无法通信,并且作为独立的计算设备存在,直到80年代初第一个用于计算的通信协议被发明。

协议之于通信就像编程语言之于计算

在计算机中,通信协议通常存在于由若干层组成的包(称为协议套件)中。例如,互联网协议套件由4层组成,每层负责特定的功能。除了通信协议之外,需要理解的一个重要关系是计算机之间互连的基本结构。这就是所谓的系统架构。有几种,但与我们相关的两种类型是客户机-服务器和对等网络。

互联网由客户机-服务器关系控制,客户机-服务器关系依赖于互联网协议套件。其中,超文本传输协议(HTTP)是通信的基础。

数据存储在集中的服务器中,并通过基于位置的寻址访问。这使得分发、管理、保护数据以及扩展服务器和客户机的容量变得更加容易。然而,在安全、隐私和效率方面存在许多弱点:对服务器的控制转化为对数据的控制。这意味着您的数据可以被任何控制服务器的一方访问、修改和删除;这可以是对服务器具有合法权限的实体,也可以是恶意黑客。在基于位置的寻址中,数据是根据其位置而不是内容来标识的。这种限制意味着您必须一直到特定的位置才能访问数据,即使相同的数据在更近的地方可用。由于客户机只需要知道数据在哪里,而不需要知道数据是什么,因此也无法判断数据是否已经更改。

但是客户机-服务器模型和HTTP在互联网的大部分历史中都提供了相当可靠的服务。这是因为HTTP web对于移动文本和图像等小文件非常有效。在web的头二十年中,平均web页面的大小仅从~ 2kb增加到~ 2mb。

资源

HTTP非常适合加载网站,但它不是为传输大量数据(如音频和视频文件)而设计的。这些限制可能使其他文件共享系统(如Napster(音乐)和BitTorrent(电影和几乎任何东西))的出现和主流成功成为可能。

快进到2018年,按需高清视频流和大数据正变得无处不在;我们正在继续生产/消费越来越多的数据,同时开发越来越强大的计算机来处理这些数据。云计算的重大进步帮助维持了这种转变,但是用于分发所有这些数据的基本基础设施基本保持不变。

星际文件系统

IPFS试图通过一个新的p2p文件共享系统来解决客户机-服务器模型和HTTP web的不足。这个系统综合了几个新的和现有的创新。IPFS是一个开源项目,由Protocol Labs创建,该实验室是网络协议的研发实验室,以前是Y Combinator的初创公司。协议实验室还开发了像IPLD和Filecoin这样的互补系统,下面将对此进行解释。世界各地的数百名开发人员为IPFS的开发做出了贡献,因此IPFS的编制是一项巨大的工作。以下是主要组成部分:

分布式哈希表

哈希表是一种数据结构,它将信息存储为键/值对。在分布式哈希表(DHT)中,数据分布在计算机网络中,并有效地协调以支持节点之间的高效访问和查找。

DHTs的主要优点是分散性、容错性和可扩展性。节点不需要中央协调,即使节点发生故障或离开网络,系统也可以可靠地运行,DHTs可以扩展到容纳数百万个节点。总的来说,这些特性使系统比客户机-服务器结构更具弹性。

区块间交换

流行的文件共享系统Bittorrent依靠一种创新的数据交换协议,能够成功地协调数百万个节点之间的数据传输,但它仅限于torrent生态系统。IPFS实现了这个协议的一个通用版本,称为BitSwap,它可以作为任何类型数据的市场。这个市场是Filecoin的基础:一个基于IPFS的p2p存储市场。

默克尔 DAG

默克尔 DAG是默克尔树和有向无环图(DAG)的混合。Merkle树确保在p2p网络上交换的数据块是正确的、未损坏的和未更改的。这种验证是通过使用加密哈希函数组织数据块来完成的。这只是一个函数,它接受一个输入并计算与该输入对应的惟一字母数字字符串(哈希)。检查输入是否会产生给定的哈希值很容易,但是从哈希值中猜测输入值却非常困难。

(未完待续)

上一篇下一篇

猜你喜欢

热点阅读