1定义
去中心化存储系统在许多独立的运营商之间共享存储职责,形成一个单一的存储网络。
现代计算是高度集中的。在过去的十年里,一些大型云计算公司通过将传统的计算机系统分割成基于云计算的产品,赚取了巨额财富。现代网络反映了这种集中化——当其中一个供应商宕机时,这是一个重大的互联网事件。(如果你不相信我们,我们想提醒你,2017年的亚马逊网络存储中断,2020年6月的Github延长中断,以及2020年10月的微软云服务多周问题。)
我们托管在这些服务上的内容也好不到哪里去,它们被隐藏在经常断开的脆弱链接后面。这对我们所建立的计算机系统以及日益依赖它们的社会都有深远的影响。
集中式架构之所以成功,部分原因在于它们更容易构建。
为了阻止合并,开发人员需要同样容易组合的基本的新构建块。去中心化式存储就是这样一个基石,它是实现更分布式web的先决条件。
设计去中心化式存储系统有许多不同的方法。通常,它们对弹性和效率有着共同的重视。
弹性
现代互联网非常脆弱。今天的 Web 内容位于 url 之后,每个 url 在任何给定时刻都属于单个权威服务器。如果该提供商出于任何原因退出网络,它所指向的内容将无法访问。集中化增加了这种效果,产生了单点故障,并为审查提供了方便的机会。
因此,在今天的互联网上,链接(当一个链接被破坏或永久不可用时,听起来就是这样)是普遍存在的,国家级别的审查是直接的,分布式拒绝服务攻击可以中断对几乎任何文件的访问。
在一个理想的去中心化系统中,操作者的损失不应该阻止对先前存储和服务的内容的访问。通过将责任分散到网络的许多节点上,去中心化式系统对审查和其他拒绝服务的尝试也有天然的抵抗力,因为没有集中式的目标可以让攻击者大量获取资源。
然而,许多网站也使用星际文件系统(IPFS)进行镜像,这是一种对等的存储网络。任何运行 IPFS 节点的人都可以从网络上的其他节点下载经过审查的信息,并开始自己分享。
效率
所有的计算系统架构都有一些优点和一些缺点,并且没有单一的解决方案适合所有可能的用例。不幸的是,现代 web 对集中化的强调也没有什么不同。
如今,世界上少数几个城市的几个集中数据中心存储了大部分的内容。例如,如果同一网络上的两个用户希望彼此发送消息,这些消息通常会首先到达其中一个数据中心。如果 100 个用户在一个房间里用他们的设备观看同一段视频,他们每个人都会访问一个中央服务器,同时下载 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 的人是否都收到了他们想要的文件。
相比之下,内容寻址基于内容标识符(CID)查找文件,CID 作为文件的数字指纹。用这种方式寻址文件解决了许多关于位置寻址的问题。当客户机需要一个文件时,它们不是向一台服务器请求 URL,而是向网络中的节点请求具有特定 CID 的文件。客户端下载文件后,他们自己对其进行指纹识别。
回顾我们前面的例子,就好像所有的网站都对 cat.jpeg 文件有一个共同的理解。因此,虽然不能保证任何节点都具有特定的 cat.jpeg,但节点将检查该文件的指纹以尝试找到匹配。
虽然像指纹这样的步骤需要比一般人更精通技术,但 Filecoin 和IPFS客户端可以轻松地实现这个过程的自动化。这让客户端保证他们收到了他们想要的文件——在这个系统中,找到一个数据片段的替代提供者是很简单的。
主要要点:CID 意味着您可以找到集中式系统中可能丢失的内容,CID 还可以防止中间人攻击或服务器在特定 URL 处突然更改文件。
无信任系统允许双方进行合作,而不需要了解对方或寻求第三方。相反,系统的动机推动参与者走向网络运行所必需的行为。
可验证
理想的存储系统应该能够轻松地持续证明节点正在存储它们所承诺的精确数据。这种类型的可审核性是实现不信任的关键。如果您总是能够确定数据被正确地存储,那么您就不太需要信任提供存储的一方。
开放
最后,理想的分布式存储系统是开放的:它的代码是开放源代码的,并且是可审计的。此外,存储系统不应该是单块的。相反,它应该公开一个任何人都可以实现和构建的开放协议,而不是鼓励锁定。
Filecoin 项目是一个去中心化存储系统,旨在满足这些特性。Filecoin 协议于 2014 年首次被描述,最初是作为星际文件系统(IPFS)的激励层开发的,IPFS 是一种对等存储网络。与 IPFS 一样,Filecoin 是一种开放协议,它基于其较早版本的属性,利用相同的底层对等和内容寻址功能。
Filecoin 节点的网络催生了去中心化的存储市场,用于文件的检索和存储。该网络由新颖的区块链支持,该区块链记录了网络参与者的承诺。用户使用区块链的本地加密货币 FIL(⨎)在网络上进行交易。
检索市场
在检索市场上,被称为检索矿工的节点竞争以最快的速度为客户端提供文件。回收矿工通过少量的费获得奖励。这使得位于关键位置的节点有了加入网络的动机,并促进了文件的快速分发。它还鼓励建立一个健壮的网络来复制和保存急需的文件。
存储市场
在 Filecoin 的存储市场中,被称为存储矿工的节点被授权在各种特性上竞争,比如价格和位置,为客户提供指定时间内的文件托管合同。存储矿工在接受合同前,必须提供担保;这用于在存储挖掘器未能履行其对客户端的义务时自动补偿客户端。
当存储矿工和他们的客户达成协议时,客户将他们的数据传输给存储矿工。存储挖掘程序将数据添加到扇区,扇区是Filecoin中的基本存储单位。然后矿工会执行一项称为密封的计算密集型操作,以创建该扇区数据的唯一副本。
如果客户机希望存储其数据的多个惟一副本,那么密封过程将确保每个副本都具有惟一的指纹,而获取该指纹所需的计算量将防止节点从基础数据重新生成指纹,从而避免作弊。密封的数据最终用于向 Filecoin 区块链发布复制证明。
在存储协议期间,存储挖掘程序定期被要求向区块链提交所谓的时空证明。矿工使用随机性(由区块链本身提供)、密封扇区和发布到区块链的复制证明来派生这些证明。这些证据为客户端提供了一个强有力的概率论证,即存储采集器拥有数据的完整、唯一副本。这是一个非常有力的保证,即使是现代云存储提供商也不提供给他们的客户端。
客户向 Filecoin 存储矿工支付保证金作为交易费用。存储矿工还可以获得开采区块链块的机会,这既需要 FIL 奖励,也可以向希望在开采块中包含消息的其他人收取交易费用。
Filecoin 的证明系统意味着矿工需要一些额外的硬件,但对于技术熟练的个人来说,要求仍然很低。作为客户端参与网络的硬件要求是适当的。Filecoin 节点还公开了一个用于与网络进行编程交互的 API,允许第三方服务在核心网络功能之上构建。
去中心化式存储提供了一种与传统的集中式存储相对应的强有力的选择。它为开发人员提供了探索设计折衷空间的全新领域的机会,强调内容存储和交付的健壮性和效率。
Filecoin 表明,这些系统能够提供具有几项非常受欢迎的特性的有竞争力的存储产品,为比以往任何时候都更多的人提供作为我们的数字遗产保管人的机会,同时使万维网对世界各地的人们更具弹性和可访问性。
End
非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。
FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用公众号:filcloud