分布式存储到底是什么?

 行业资讯     |       2021-07-30 19:00

  2020年,分布式存储以其独特的姿态涌入我们的视野,但我们似乎从来没有思考过什么是分布式存储?我们为什么需要分布式存储?

  事实上,采用分布式存储可以说是“迫不得已”,因为面对互联网日益迅猛的发展,整个生态应用的不断创新,用户数量的不断增加,数据的逐步增长,无疑不会给现有的本地存储带来很大的压力。因此,必须采用其他分布式存储系统来缓解相应的压力,于是分布式存储和分布式文件系统应运而生。

  今天,我们将在本文中介绍分布式存储,并对Filecoin进行深入研究。

  01定义

  分布式存储系统是将数据存储在多个独立的设备中。传统的网络存储系统使用集中式存储服务器来存储所有数据,成为系统性能的瓶颈和可靠性与安全性的焦点,不能满足大规模存储应用的需求。分布式网络存储系统采用可扩展的系统结构,使用多个存储服务器分担存储负载,位置服务器定位存储信息。它不仅提高了系统的可靠性、可用性和访问效率,而且易于扩展。

  分布式存储简介

  现代计算处于高度集中的阶段。在过去的十年里,一些大型存储公司通过将传统的计算机系统划分为云存储产品,获得了巨大的财富。这一方面反映了现代网络的集中化现象——如果其中一个供应商出现问题,就会引发重大互联网事件。比如2017年亚马逊网络突然中断;Github在2020年6月中断了很久;2020年10月,微软多云帚服务出现问题等等。

  我们在这些服务上托管的东西也值得担心。它们隐藏在脆弱的链接后面,这些链接经常被破坏,这对我们建立的计算机系统和日益依赖它们的社会产生了深远的影响。集中式架构之所以成功,部分是因为它们易于构建。为了防止合并,开发者需要。分布式存储就是这样一个基石,是分布式Web的前提。

  分布式存储的基本特征

  1.灵活性。

  现代互联网非常脆弱。现在的Web内容都是隐藏在URL后面的,每个URL在任何给定的时间都属于某个服务器。一旦提供商因某种原因中断网络连接,其指向的内容将无法访问。集中化将增加这种影响,导致单个节点故障并促进审查。因此,在今天的互联网中,存在着普遍的互联网链接故障现象,就像当一个链接断开或永久不可用时,国家级审查和分布式拒绝服务攻击会破坏任何可以访问的文件。

  在理想的分散系统中,运营商的损失不应妨碍用户访问先前存储和提供的内容。通过将责任分配给网络的许多节点,分布式系统自然可以抵抗审查和其他拒绝服务的尝试,因为缺乏集中的目标可以使攻击者获得大量资源。

  集中式存储系统容易受到审查。一个典型的案例是,西班牙17个自治区之一的加泰罗尼亚(Catalonia)举行独立公投时,反对独立计划的西班牙政府在ISP层面屏蔽了带有投票信息的网站。通过切断这些关键环节,政府有效地阻止了许多个人获取这些信息。

  然而,许多网站也是对等存储网络星际文件系统(IPFS)的镜像。运行IPFS节点的任何人都可以从网络上的其他节点下载审查过的信息,并开始自己共享。IPFS的分散性质与西班牙政府阻止访问这些文件的企图背道而驰——只要一个节点被阻止,另一个节点就可以轻松取代它。通常,分布式存储系统使得网络级阻塞更加困难。

  2.效率

  所有的计算系统架构都有其优缺点,没有一个单一的解决方案适合所有可能的用例。不幸的是,现代网络对集中化的重视程度并无不同。如今,世界上几个城市的一些集中式数据中心存储了最多的内容。例如,如果同一个网络上的两个用户想要相互发送消息,这些消息通常会被发送到其中一个数据中心;如果100个用户在一个房间里用他们的设备观看相同的视频,他们每个人将访问一个中央服务器并下载100份拷贝,而不是下载一份拷贝并在本地网络上共享。

  最简单的说法是,分布式存储使共享文件变得更加容易,而无需向互联网上的特定数据中心发送请求。相反,节点通过尽可能少的中间商连接。比如连接到其他国家的节点仍然需要几跳,但是同一个网络上的节点可以直接共享文件。分布式存储的最终目标是建立无数个节点,让每个人都可以通过本地对等节点获取信息。

  分布式存储解决方案可以在此类活动中引入新的基本效率。通过绕过数据中心,分布式系统可以将节点放置得比现代内容分发网络更靠近最终用户,甚至比现代内容交付网络更靠近最终用户,从而大大加快文件检索。本地网络上的点对点文件共享也可以节省带宽,尤其是在那些无法访问更广泛的互联网的地区。

  04分布式存储的理想特性

  尽管灵活性和效率是分布式存储的标志,但理想的存储系统可能具有许多其他特征:

  1.无障碍

  理想的分布式系统应该是可访问的。参与网络应该很容易,允许尽可能多的节点代表网络存储和分发文件。

  如果你在看这篇文章,想知道:我可以做节点吗?答案是:看情况。有了Filecoin,任何相对精通技术的人都应该能够运行客户端节点与网络进行交互。至于运行storageminer节点,不是每个人都能做到的,因为你需要有符合特定规范的硬件。

  对于IPFS来说,节点的硬件要求很低,这意味着更多的用户可以通过运行节点或运行内置的网络浏览器来为网络做出贡献。云服务提供商使廉价可靠的存储比以往任何时候都更易于使用。他们成功的主要方面之一是能够通过应用编程接口通过代码配置和管理存储。任何有竞争力的系统都应该能够提供同样水平的便利。

  2.内容寻址

  如前所述,网址代表了一些固有的设计权衡。它们描述的是数据的位置,而不是数据的内容。为了解释集中式系统如何使数据难以找到,假设你想下载一张毛茸茸的小猫的照片。考虑以下两个网址:

  https://***.com/cat.jpeg.

  https://***.com/cat.jpeg.

  这些网址都指向一个名为cat.jpeg的文件,但不能保证这两个文件是相同的。如果***1.com离线,无法确定***2.com是否满足你的需求——cat.JPEG可能完全不同。其实甚至可能是一张狗的照片!URL和它所指的内容之间没有内在联系。

  所以,你不能问现在的互联网,“有人有这个文档吗?”因为除了文件的位置,你对它一无所知。

  当您使用网址共享文件时,可能会出现问题。服务器可能会从这个URL开始提供不同的文件,或者有人会执行中间人攻击并修改文件(奇怪的是,这种攻击并不少见)。很难确认访问该URL的每个人都收到了他们想要的文件。

  相比之下,内容寻址根据内容标识符(CIDs)查找文件,内容标识符充当文件的数字指纹。以这种方式寻址文件解决了位置寻址的问题。当客户端需要一个文件时,他们会向网络中的节点请求一个具有特定CID的文件,而不是向服务器请求一个网址。客户端下载文件后,会自己指纹。

  回顾我们前面的例子,就好像所有网站都对输入cat.jpeg时要交付的文件有共同的理解。因此,虽然不能保证任何节点都具有特定的cat.jpeg,但这些节点将检查该文件的指纹以尝试找到匹配项。

  尽管像指纹识别这样的步骤需要比普通人要多的技术知识,但Filecoin和IPFS客户可以轻松地使此过程自动化。这样一来,客户就可以保证他们已收到所需的文件-在此系统中,查找数据的备用提供者很简单。

  主要要点:CIDs意味着您可以找到集中式系统中可能丢失的内容,CIDs还可以防止中间人攻击或服务器在特定URL处突然更改文件。

  3.独立性

  无信任系统允许双方进行合作,而不需要了解对方或寻求第三方。她认为,系统的激励促使参与者朝着网络运行所必需的行为前进。

  4.可验证

  理想的存储系统应该能够轻松地持续证明节点正在存储它们所承诺的精确数据。这种类型的可审核性是实现不信任的关键。如果您总是能够确定数据被正确地存储,那么您就不太需要信任提供存储的一方。

  5.开放性

  最后,理想的分布式存储系统是开放的:它的代码是开放源代码的,并且是可审计的。此外,存储系统不应该是单块的。相反,它应该公开一个任何人都可以实现和构建的开放协议,而不是鼓励锁定。

  05Filecoin如何体现这些特征

  Filecoin项目是一个分布式存储系统,旨在满足这些特性。在2014年的描述中,Filecoin协议最初是作为一个激励层开发的星际文件系统(IPFS),一个对等存储网络。与IPFS一样,Filecoin是一种开放协议,它基于其较早版本的属性,利用相同的底层对等和内容寻址功能。

  Filecoin节点网络为文件的检索和存储提供了一个分散的存储市场。这个网络是由一个新的区块链支持的,它记录了网络参与者所做的承诺。用户使用区块链的加密货币FIL在网络上进行交易。

  1.检索市场

  在检索市场上,被称为检索矿工的节点竞争将文件尽快提供给客户端。检索矿工通过少量的FIL费用获得奖励。这使得位于关键位置的节点有了加入网络的动机,并促进了文件的快速分发。它还鼓励建立一个稳健的网络来复制和保存急需的文件。

  2.存储市场

  在Filecoin的存储市场中,被称为存储矿工的节点被授权在各种特性上竞争,比如价格和位置,为客户提供指定时间内的文件托管合同。存储矿工在接受合同前,必须先进行抵押FIL;如果存储矿工未能履行其对客户的义务,则此功能可用于自动向客户偿还费用。

  当存储矿工和他们的客户达成协议时,客户将他们的数据传输给存储矿工。存储矿工将其数据添加到一个扇区,扇区是Filecoin中存储的基本单位。然后矿工执行计算密集型操作(称为封装),以创建该扇区数据的唯一副本。

  如果客户希望存储其数据的多个唯一副本,那么封装过程将确保每个副本都具有惟一的指纹,而获取该指纹所需的计算量将防止节点从基础数据重新生成指纹,从而避免作弊。数据最终用于向Filecoin区块链发布复制证明。

  在存储交易期间,需要定期要求存储矿工向区块链提交时空证明。矿工使用随机性(由区块链本身提供),密封扇区和发布到区块链的复制证明来获得这些证明。这些证据为客户端提供了一个强有力的概率论证,即存储矿工拥有完整,唯一的数据副本。这是一个非常有力的保证-甚至是现代云存储提供商也无法提供其客户。

  客户通过支付FIL作为交易费来奖励Filecoin存储矿工。还为存储矿工提供了为区块链挖掘区块的机会,这既需要FIL奖励,也可以向希望在开采块中包含消息的其他人收取交易费用。Filecoin的证明系统意味着矿工需要一些额外的硬件,但对于技术熟练的个人来说,要求仍然很低。作为客户端参与网络的硬件要求是适当的,Filecoin节点还公开了一个用于与网络进行编程交互的API,允许第三方服务在核心网络功能之上构建。

  06 结 论

  分布式存储提供了一种与传统的集中式存储相对应的强有力的选择。它为开发人员提供了探索设计计算空间的机会,从而强调了内容存储和交付的稳定性和效率。Filecoin表明,通过分布式存储可以不仅可以让数据更加安全;也可以让Web3.0网络为更多人使用。