作者简介:Mitch Wagner是一名全职软件开发者,兼职自由撰稿人。他热衷于传播Web3知识。Mitch对去中心化储存系统的看法是,它能让我们的文件资料更安全。
*本文不构成任何投资建议,本文仅代表作者本人观点,并不代表CMC的看法。
去中心化存储的定义
去中心化存储系统由许多独立的运营者组成,他们形成一个储存网络,共同承担文件储存的职责。
去中心化存储简介
这是一个计算资源高度中心化的时代。过去十年,云计算巨头涌现,他们将传统的计算系统划分为云计算产品,攫取了巨额财富。高度中心化的代价在现代化网络上的直接体现是——一个供应商发生故障,便会酿成重大互联网事件。(如果您不信,想想2017年Amazon的宕机事件,Github在今年6月的长期罢工以及Microsoft在本月发生的已持续多周的云服务问题。)
我们在这些服务上托管的文件都藏在一个个脆弱的链接后面,传输过程中经常自动断开。这对我们建立的计算机系统甚至整个社会都造成了深远影响,尽管如此,我们依然越发依赖这些服务。
中心化架构之所以成功,一部分原因在于它们创建起来更容易。
为了防止整合兼并的发生,开发人员需要创建出易于组合的基础架构。去中心化存储就是基础,它是分布式网络的前提。
设计去中心化式存储系统的方法有很多种。一般来说,这些方法都注重弹性和效率。
现代互联网非常脆弱。如今,Web内容位于URL的后方,每个URL在任意特定时刻都属于一台确定的服务器。如果该提供商出于任何原因中断了网络连接,则它指向的内容将不可访问。中心化会加重这种影响,造成单点故障,并为审查提供便利。
因此,在当下的互联网环境中,链路腐烂(当链接断开或永久失效时,就像腐烂了一样)普遍存在,中心化审查变得更容易,分布式拒绝服务攻击(DDoS)会对任何文件进行破坏。
在一个理想的去中心化系统中,失去一个运营者不应该阻断用户访问之前存储和提供的内容。
通过将责任分散到网络的众多节点上,去中心化式系统对审查和其他DoS攻击具有天然抵抗力,因为没有集中的目标可以让攻击者大量获取资源。
不过,
许多网站也使用星际文件系统(IPFS)进行镜像,这是一种点对点的储存网络。
运行IPFS节点,任何人都可以从该网络的其他节点下载通过审查的信息,并进行共享。由于IPFS的去中心化的特性,即使一个节点被封锁,另一个节点可以轻易取代它。一般来说,去中心化存储系统使网络级阻塞变得更加困难。
所有计算系统结构都有其优缺点,没有适合所有可能用例的万灵药。不幸的是,现代网络对集中化的强调也不例外。
如今,大量内容都存放在中心化数据中心之中,而这些数据中心分布在全球为数不多的几个城市。举个例子,如果身处同一网络的两个用户彼此发送消息,这些消息通常会先发送到某个数据中心。如果有一百个用户在同一个房间里,在他们的设备上观看相同的视频,
这意味着他们每个人都会访问中央服务器,并同时下载100个副本,而不是下载一个副本在本地网络共享。
简单来说,去中心化存储使文件共享变得更容易,用户无需向互联网上的几个特定数据中心发送请求,相反,利用节点之间进行连接可以尽可能地减少中间商。例如,连接到其他国家/地区的节点仍需进行多次跳节点,但是同一网络上的节点可以直接共享文件。
去中心化存储系统的最终目标将是拥有数量庞大的节点,从而让每个人都可以找到相应的本地节点来获取信息。
去中心化存储解决方案可以为这些活动带来新的基本效能。通过绕过为数不多的几个的数据中心,分布式系统可以将节点放置在比当下的内容分发网络更接近终端用户的地方,从而大大加快了文件检索速度。通过本地网络进行点对点文件共享还可以节省宝贵的带宽,尤其是在那些存在网络访问受限的地区。
尽管弹性和效率是去中心化存储的标志,但理想状态的存储系统还具有许多其他功能特性:
理想状态的分布式系统应该是可访问的。参与网络是很容易的,它会允许尽可能多的节点作为网络代表来存储和分发文件。
如果正在阅读此文的您想知道自己能否成为节点,答案是:视情况而定。
使用Filecoin,任何相对精通技术的人都应该能够运行一个客户端节点来与网络进行交互。至于运行存储矿工节点(请参阅下面的更多信息),这并不是所有人都能做的——您需要具有满足特定规格的硬件设施。
对于IPFS,其节点对硬件的要求较低,这意味着许多用户可以通过运行节点(也许通过运行内置的Web浏览器)对网络做出贡献。
云服务提供商使得廉价、可靠的存储服务比以往任何时候都更容易使用了。它们成功的一个最主要原因是:拥有通过API以及代码来对储存进行配置和管理的能力。任何能够与之竞争的系统都应该能够提供同等程度的便利。
如上所述,URL体现了一些固有的设计权衡。
它们描述的是数据的位置,而不是内容。
为什么中心化系统让数据查找变得困难了?假设你要下载一张可爱小猫的图片。参考以下两个URL:
https://example1.com/cat.jpeg
https://example2.com/cat.jpeg
每个URL都引用了一个名为cat.jpeg的文件,但不能保证这两个文件是相同的。如果example1.com离线,则无法确定example2.com是否可以满足您的要求——这张cat.jpeg可能完全不同。实际上,它甚至可能是狗的照片!URL和它引用的内容之间没有内在关系。
所以,你不能在网上问:“有人有这个文件吗?” 因为除了文件位置信息,你对它一无所知。
当你使用URL共享文件时,可能会出错。
服务器可能会用该URL提供不同的文件,或者有人可以进行中间人攻击(奇怪的是,这种攻击并不罕见)并更改文件。
很难验证每个访问URL的人都收到他们想要的文件。
相比之下,
内容寻址是根据内容标识符(CIDs)来查找文件,CIDs将作文件的数字指纹。
以这种方式进行文件寻址解决了位置寻址存在的诸多问题。当客户端需要一个文件时,它们会向网络中的节点请求具有特定CID的文件,而不是向一个服务器请求URL。客户端下载文件后,便会自行对其进行指纹识别。
回顾下之前的例子,似乎所有的网站在收到cat.jpeg请求时,都对要传送的文件有着共同的理解。因此,虽然我们不能保证每个节点都具有特定那张cat.jpeg,但节点将通过检查文件指纹来尝试找到匹配项。
尽管实现像指纹识别这样的操作需要拥有比普通人要多的技术知识,但Filecoin和IPFS客户端可以轻松实现此过程的自动化。这样一来,便可以确保客户端收到他们要找的文件——在这个系统中,找到数据的备用提供者是很简单的。
要点:CID可以让你找到在中心化系统中丢失的内容,它还可防止中间人攻击或者服务器对特定URL上的文件进行篡改。
去信任的系统可以促成任意双方的合作,他们不必相互了解,也无需寻求第三方的帮助。系统激励将推动参与者的行动,这些行动将推进网络的正常运转。
理想的存储系统应该可以持续证明节点正在存储它们所承诺的确切数据。这种可审计性是实现去信任化的关键。如果你始终确定数据已经被正确存储,那么就无需信任存储服务的提供方。
最后,理想的分布式存储系统是开放的:其代码是开源的且可审计的。此外,存储系统不应是单一的。相反,它应该公开开放协议,让任何人都可以实现和构建,而不是鼓励封锁。
Filecoin项目是一个能够满足以上特性的去中心化存储系统。Filecoin协议于2014年首次公开描述,最初是作为点对点存储网络——星际文件系统(IPFS)的激励层而开发的。与IPFS一样,Filecoin是一个开放协议,基于其较早版本的属性,并采用相同的底层对等网络和内容寻址功能。
Filecoin节点网络催生了去中心化存储市场,用于文件的检索和存储。
该网络由一个新的区块链提供支持,网络参与者的承诺都记录在了链上。用户使用该链的本地加密货币FIL进行交易(您可以在https://coinmarketcap.com/currencies/filecoin/查看FIL的相关信息)。
在检索市场中,节点(也被称为检索矿工)通过竞争将文件以最快速度提供给客户端。检索矿工获得少量的FIL作为奖励。这使得处于关键位置的节点有了加入网络的动力,并促进了文件的快速分发。它还鼓励建立一个强大的网络,该网络可以复制和保留高需求的文件。
在Filecoin的存储市场中,节点(也被称为储存矿工)的竞争是全方面的(例如价格和位置),它们将在指定的时间段内为客户提供文件托管服务。在此之前,
存储矿工必须先抵押FIL;若存储矿工未能履行其义务,费用将自动补偿给客户。
当存储矿工和客户达成协议时,客户将数据传给存储矿工。存储矿工会将数据添加到一个扇区(Filecoin中存储的基本单位)。然后,矿工执行计算密集型操作(称为密封),以创建该扇区数据的唯一副本。
如果客户希望存储其数据的多个唯一副本,那么密封过程将确保每个副本都具有唯一的指纹,而获取该指纹所需的计算量将防止节点从基础数据重新生成指纹,从而避免作弊。密封的数据最终用于将复制证明(Proof of Replication)发布到Filecoin区块链。
在存储交易期间,存储矿工需要定期向区块链提交所谓的时空证明(Proof of Spacetime)。矿工使用随机性(由区块链本身提供),密封扇区和发布到区块链的复制证明来获得这些证明。这些证据为客户提供了一个强有力的概率论据,
即存储矿工拥有完整,唯一的数据副本。
这是一个非常有力的保证——甚至当下的云存储供应商也无法提供给客户。
客户通过支付FIL作为交易费用来奖励Filecoin存储矿工。存储矿工还可以获得挖块的机会,这既包含了FIL奖励,又可以向那些想要在区块中打包信息的人收取交易费用。
Filecoin的证明系统意味着,如果你想成为一名矿工,需要一些额外的硬件。但要求依然是很低的,精通技术的人员都可以加入。如果是作为客户端参与网络的话,对硬件要求并不高。
Filecoin节点还公开了用于与网络进行编程交互的API,允许在核心网络功能之上构建第三方服务。
去中心化存储是传统的中心化存储的替代方案。它强调内容存储交付的稳定性和效率。Filecoin的例子表明,去中心化系统能够打造具备竞争力的储存类产品,这些产品的特性极具吸引力。去中心化储存在让更多的人成为我们数字遗产保管人的同时,让网络更具弹性并可供全世界的人们使用。
作者:Mitch Wagner,来源:CMCOfficial
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。