我们如何在今天的生活中存储、访问和利用数据规则?
许多人每天需要花费大量的时间访问数据,而我们访问的数据主要存储在中央服务器上。这种集中式的模式,统治着当今数据存储的世界。随着去中心化创新的蔓延,出现了一些有趣的替代方案。
区块链技术彻底改变了金钱的概念,以及我们如何使用它的想法。在数据存储方面,简单地将数据存储在区块链上将很难确认,另外区块链中数据的不可更改特性,并不是完全是一个优点。从另一方面说,以几美元的价格在以太坊智能合约上存储1kb数据,它的价格也是昂贵的。
令人感到高兴的是,其它能够颠覆我们现有存储和访问数据模式的,分布式存储技术正在建立。其中包括对等节点文件系统、分散式云存储和分布式数据库技术。
对等节点文件系统
行星际文件系统(IPFS)由 Protocol Labs(协议实验室)创建,旨在解决当今统治网络的超文本传输协议(HTTP)的一些缺点。它提出了一种基于对等网络的差异化模型。
协议实验室是一个用于网络协议的研发公司,也是前Y-Combinator初创公司,其中所有项目都是开源项目。
基于HTTP的集中式模型效率不高,主要依赖于一台计算机进行文件下载。而IPFS是基于一个更快速和高效的不同模型,是一种点对点的超媒体协议。
IPFS中有两个关键属性。首先,它是一个分布式文件系统;其次,它是一个版本化的文件系统,不仅可以存储文件,还可以跟踪它们的版本。这两个属性的组合是IPFS提出的新模型,与HTTP相比具有很多优点。
HTTP是请求-响应协议。每台计算机都会输入自己的请求,然后连接到服务器进行检索数据。在HTTP中访问相同内容的计算机,与物理距离的远近是不相关的。
IPFS是如何运作的?将文件添加到IPFS时,它们会被赋予一个加密哈希。这意味着当你查找文件时,可以要求网络查找,存储唯一哈希后面的内容的节点。唯一哈希充当地址,类似于在HTTP中键入网络地址的方式。还应用了一个称为IPNS的分散命名系统,以便每个文件都具有一个可读的名称。
因此,它不使用HTTP中的位置地址,而是使用内容的表示(加密哈希)来访问实际内容。通过使用此系统,IPFS可以利用物理的邻近性。如果一个生物医学班的100名学生,都被告知访问同一网页,通过HTTP访问他们都需要单独连接到中央服务器;如果完全依赖于中央服务器来访问内容,这可能会导致一些问题。
使用IPFS,相同的节点之间可以相互提取数据。所需要的只是访问数据的起点,即加密哈希。这就是IPFS如何利用物理距离,并实现比HTTP更高效的系统。
将数据存储在加密哈希后面,这实际上是,允许网站将数据托管在客户端浏览器上。客户端是指,在客户端 - 服务器关系中执行的操作。在HTTP中,是客户端向中央服务器发送内容请求。在IPFS中,是客户端寻找,由网络中另一客户端所托管内容的加密哈希。
区块链中也使用加密哈希。在IPFS中,使用加密哈希值,是为了向网络请求文件时,可以找到存储它的节点。而在区块链中,加密哈希用于将每个新块链接到前一个块,以便如果一个节点要更改分类帐,则在更改分类帐点之后的每个块也将被更改。这是区块链技术的安全特性之一。
与区块链技术相似,IPFS也带来了去中心化的一些好处,其中主要好处之一是没有单一的失败点。在HTTP中,如果服务器出现故障,则无法访问内容。而在IPFS中,节点是分散的,一个节点的故障不会影响到整个网络。
去中心化的另一个好处是没有审查阻力。在服务器 - 客户端模型中,中央服务器可以轻松地审查或拒绝保留你的内容。如果网络中至少有一个节点愿意承载内容,那么内容就会没有审查阻力。
IPFS的缺点之一是它只能提供静态文件,这限制了IPFS托管内容的应用。例如,托管内容将无法接收来自用户的请求,并根据服务器中的数据生成响应。想象一下,用户希望看到最新的芭蕾舞剧还剩下多少座位,这种请求在IPFS中是无法进行的。
动态数据示例
IPFS的另一个缺点是需要保持在线以共享你的文件。由于加密哈希指向可以找到数据的方向,因此必须保持联机状态,以确保你的数据可以随时进行访问。
最后一点,IPNS名称不是非常受用户欢迎,关于这一点问题目前正在解决中。虽然使用域名系统可以更受用户欢迎,但这样做会引入外部故障点。IPNS将如下所示。
IPNS示例
对于想要深入研究构成IPFS的技术组件的朋友,下表包括主要组件及其相应的功能。
IPFS提出了一个有趣的替代方案,它优于与HTTP的请求 - 响应模型。点对点协议带来了与分散化相关的一些关键优势,例如:没有单点故障和审查阻力,物理邻近度的利用,是HTTP模型无法利用的方面。
分散式云文件存储
对于那些使用过Dropbox的用户来说,分散式云存储可以被认为与其是相同的,除了内容是存储在用户的硬盘上,而不是在中央服务器上。用户基本上出租了他们的硬盘空间,并且开发了许多加密技术以促进这种商业模式。
分散式云存储旨在实现分散的好处,例如没有单点故障和审查阻力。在典型的集中模型(如Google、Amazon和Dropbox运行的服务)中,如果服务器出现问题,则可以限制对数据的访问。在这些模型中,数据的隐私也值得怀疑。分散式模型没有单点故障,可以提供对数据的无限制访问,并使用加密来增强隐私。
但是,它也会带来分散性的缺点,例如可伸缩性问题。就成本而言,仅仅在区块链上存储会很昂贵,但在这些分散的云存储模型中,许多已经开发出一种免费的市场模式,使其更加实惠。你可以对自己说,可以免费使用谷歌驱动器,但你需要权衡数据隐私的问题。在集中式模型中,公司拥有控制你的文件以及访问它们的能力。
以太坊要想实现世界计算机的理念,需要存储作为基础。虽然智能合约是应对分散式的方法,通过加密应对分散式信息传递,但Swarm Network(群集网络)是分散存储的愿景。
来自以太坊博客的图表
与IPFS类似,文件通过其内容的哈希来寻址。但是,与IPFS的不同之处在于,由于是构建在以太坊的链上,它实际上是不可变的。IPFS是可编辑的,因为它使用分布式哈希表和版本控制系统。
此外,在IPFS中,哈希指向可以定位数据的位置,而在Swarm中,哈希指向实际上是数据本身。
群集网络是如何工作的?它已经建立了可以分成两大类的激励机制,分别是带宽激励和存储激励。
带宽激励是通过Swarm帐户协议(SWAP)设计的,包含:网络中的每个节点设置、每块数据的最高价格、以及提供的块价格。每块数据的最高价格是你准备为存储中的数据块一共支付多少,而提供的块是你为传递数据块而支付的价格。每个节点都需要保持均衡支付,因为在此模型中,负债过多的节点将会形成不良声誉,从而会导致激励模型发挥作用。
存储激励是基于这样的一种想法,即愿意提供长期存储的节点,需要提供了保证金。如果他们受到质疑,最终证明他们没有存储数据,他们将失去保证金。
虽然Swarm网络带来了分散化的好处,但是由于它与blockcahin进行深度整合,也将为以太坊带来局限性。以太坊最大局限之一是,吞吐量最大可达15tps。
建立在以太坊区块链上的另一个项目是Storj。Storj是一个开源软件,任何人都可以自由分叉自己的版本。它由Storj labs创建,是一家营利性公司,经营着自己的版本,开发了强大的用户基础。他们收取使用其版本的费用,用户从提供的网络效果中获取价值。
Storj的关键技术组件包括加密、文件分片和分布式哈希表。Storj的目标是更快、更便宜、更私密。
文件分片需要在使用Storj上传文件时,将整个文件分割成较小的碎片(称之为分片)。这样做的潜在好处是,没有任何一个位置存储有整个文件。此外,只有上传者知道分片的位置。访问该文件需要一个私钥,如果没有此密钥几乎不可能找到分片。数据在上传之前也被进行了加密,并且只有具有私钥的用户才能读取,从而进一步增强了隐私。
在Storj中,文件分片的好处是双重的,因为它们可以增强隐私,也可以更快地访问内容。与从中央服务器检索一个大文件相比,一个文件的碎片可以同时从多个源检索,使其更快。该过程如下所示。
Storj评论
Storj制定了激励措施,以确保数据的安全和网络的正常运行。定期进行审核,并通过接收小额款项以成功通过审核。
Storj是最广泛采用的分布式云存储项目之一。IPFS正在开发自己的分布式云存储项目Filecoin,并设想一个免费的市场模式,使存储费用更便宜。Storj是最受欢迎的,它证明了自由市场模式对利率的有效性。Storj也是用于参与生态系统的加密货币。
Storj模式应用的局限性是什么?假设你使用Storj存储一个文件,并将数据拆分为不同的分片,然后发送到不同的硬盘驱动器。如果其中有一个硬盘驱动器坏了,将使得内容无法访问。出于这一原因,需要将这些分片(称之为奇偶校验分片)进行复制,然后发送到其他硬盘驱动器。如果频繁使用它,将减慢网络速度。用户可以自由选择他们想要拆分的奇偶校验分片数量,但随着时间的推移,一些用户丢失分片的概率还是会增加。
另一个弱点是Storj用户为租用的内容付费,因此如果租户消失,用户可能不再为他们存储的内容付费。
另一个分散式云存储选择,Storj的有效竞争对手,Sia。它是一个点对点存储生态系统,任何人都可以租用或使用备用硬盘空间。Siacoin是生态系统的加密货币,这是用于支付租用备用硬盘空间的费用。
在Sia中,你需要知道访问该文件的人员和哈希,这是与IPFS相比是一条额外所需的文件信息。
Sia有自己的区块链。虽然Storj使用文件分片技术解决了可扩展性问题,但Sia正在尝试使用该方法在整个网络中达成共识。Sia的共识机制是存储证明,而工作证明则放在以太坊链上。这种具有不同共识机制的实验,可能有助于解决与工作量证明相关的一些,可扩展性和可持续性问题。
如果在存储数据时出现任何问题,或者主机未按其指示执行,将会受到处罚。这为生态系统发挥应有的作用提供了货币激励。处罚将在每次进行存储操作时,开发的文件合同中指定,合同存储在Sia自己的区块链中。
Sia的一些关键卖点是隐私增强技术元素和自由市场结构。在下表中,可以看到它在分散和成本方面,相对于集中式结构所具有的一些优势。虽然,它尚未达到与Storj相同的采用水平,但Sia仍然为大量数据存储提供了更低的费率。
Sia没有带来去中心化的好处之一是审查抵制制度,主机可以选择拒绝存储一些数据。这有助于Sia生态系统的道德要素,主机有权拒绝非法或可疑数据。
在吞吐量和可扩展性方面,Sia的有效性依赖于存储证明作为共识机制的功效。共识机制的实验仍然是一门新兴的科学,工作证明在很大程度上被认为是最安全的,时间将证明存储证明是否是可行的替代方案。
分散式云存储正在利用,加密货币和区块链技术为数据存储提供不同的模型。Filecoin将成为IPFS的分散式云存储选项。它被设想作为自由市场,但它是否真的会以这种方式运作还有待观察。Storj是加密货币领域中最接近的比较,迄今为止最广泛采用。Storj通过使用文件分片解决了吞吐量限制,并且还具有一些强大的隐私增强优势。
分布式数据库技术
通过区块链技术建模,BigchainDB旨在成为具有区块链属性的分布式数据库。BigchainDB的结构是不可变的、分散的,并为开发人员提供了一个构建应用程序的平台。
BigchainDB是否分散是一个很有争议的问题。BigchainDB建立在RethinkDB集群之上。RethinkDB优先考虑节点的可用性超过一致性。具体事项由第一个可用节点处理,然后在之后的阶段将实现一致性。
这种系统架构实际上导致BigchainDB无法实现拜占庭容错,一个恶意节点可能会崩溃整个网络。
BigchainDB牺牲了安全性和分散化的吞吐量,这与可扩展性三难困境(指一种特定的情形,有三种选择,但任一个选择都是无法接受或不想要的)是一致的。在分散式系统中,每个节点处理的每个事务,其三个属性中只有两个可以实现。三个属性分别是块生产的分散化、可扩展性和网络的安全性。
在正常的区块链中,存在一个吞吐量的问题,这使得用于数据存储成为了问题。BigchainDB更像是一个私有区块链,它提供了一些类似区块链的元素,通过这些元素增加了吞吐量和低的延迟。真正的问题是,是否值得在安全性和去中心化之间进行权衡,并且通过权衡这些牺牲,我们不仅仅是首先使用集中式系统。
下表是BigchainDB如何证明其使用的案例优于传统数据库和区块链。
尽管有关是否分散和安全方面的争论,但BigchainDB一直都在积极发展。Ocean是基于BigchainDB构建的一个协议,它是一个用于数据存储和计算的标记化生态系统。
Ocean(海洋)协议设想了许多用于其生态系统的用例,目标是解开正在生成的大量数据,以影响人工智能(AI)行业。由于只有少数公司能够正确的使用数据,以及拥有AI的能力,因此这些公司处于一个非常强大的位置。
当大量数据可用时,AI的进展能够提高六倍,并且随着大量数据的解锁,Ocean协议设想AI的影响能够横跨多个行业,包括:自动驾驶汽车、医疗数据和计算机视觉等。Ocean协议指出的一个优点是,许多数据所有者不信任与其数据的集中交换。将BigchainDB透明和不可变的分类帐特性用于交易,对于这一方面的问题将会有所帮助。
现在与未来的数据存储
集中式服务器长期以来一直统治着数据存储领域。虽然许多服务都是免费使用的,但需要权衡有关个人隐私泄露的问题。分散式模式旨在改善集中型模式的一些低效率,并帮助增强隐私安全。
分散式技术能否在数据存储行业中大规模采用,仍有待观察。提出的不同模式,包括:对等节点文件系统、分散式云存储和分布式数据库技术;其中一个关键限制是在可扩展性、安全性和分散性之间进行权衡。为了提高吞吐量,分布式系统通常需要牺牲安全性和分散性。在加密领域,提出了不同解决方案,包括:文件分片和改变共识机制。
这些分散式的系统,在其集中式系统之上提供了许多优势。集中型模式仍然是当前的主导模式,但随着越来越多的用户和开发人员尝试使用分布式系统,分散式存储模式将会是数据存储的未来。
【往期文章】
本文由发表于Aconomy Labs网站,经由Filecoin中国社区翻译整理。
领取专属 10元无门槛券
私享最新 技术干货