如果我们要为互联网的去中心化铺平道路,我们最终会关注三大支柱:共识、存储和计算。如果人类成功地去中心化这三者,我们将完全实现互联网的下一个迭代:Web3。
(Web3基础篇:共识、存储、计算)
存储是第二个支柱,它正在迅速成熟,针对特定用例出现了各种存储解决方案。在这篇文章中,我们将仔细研究去中心化存储支柱。
分散存储的需求
从区块链的角度来看,我们需要去中心化存储,因为区块链本身并不是为存储大量数据而设计的。用于实现区块链共识的机制依赖于少量数据以块的形式排列并在网络中快速共享以供节点验证。
首先,在这些块中存储数据非常昂贵。在撰写本文时,将 BAYC#3368 的整个图像数据直接存储在第 1 层网络上的成本可能超过 18,000 美元。
(具有活跃主网的项目。选择 200 年存储期以符合 Arweave 对永久性的定义。来源:Web 文档,Arweave 存储计算器)
其次,如果我们在这些区块中存储大量任意数据,网络拥塞将严重增加,导致用户通过 gas 竞价使用网络的价格上涨。这是区块隐含时间价值的结果——如果用户需要在某个时间向网络提交交易,他们将支付更多的 gas 以使他们的交易成为优先事项。
因此,建议将 NFT 的底层元数据和图像数据以及 dApp 前端存储在链下。
集中式网络调查
如果将数据存储在区块链上是如此昂贵,为什么不将其存储在中心化网络上的链下呢?
原因:中心化网络易于审查且易变。他们要求用户信任存储提供商以确保他们的数据安全。无法保证中心化网络的运营商能够不辜负信任:因为数据可能会被有意或无意地删除(例如由于存储提供商的政策变更、硬件故障或第三方攻击)派对)。
NFT
由于一些 NFT 收藏品的底价超过 100,000 美元,而一些收藏品每 kb 图像数据价值高达 70,000 美元,因此承诺不足以确保数据始终可用。需要更强有力的保证来确保底层 NFT 数据的不变性和持久性。
(珍贵 NFT 的价值,截至 2022 年 5 月 10 日的数据)
NFT 本身实际上并不包含任何图像数据,而是指向存储在链下的元数据和图像数据的指针。需要保护的正是这些元数据和图像数据,如果它消失了,NFT 将只是一个空的容器。
(区块链、区块、NFT 和链下元数据)
NFT 的价值主要不是由它们所指的元数据和图像数据驱动,而是由围绕其收藏价值和生态系统的社区驱动。虽然这可能是真的,但如果没有基础数据,NFT 就毫无意义,社区也无法形成。
除了头像和艺术品收藏,NFT 还可以代表现实世界资产(如房地产或金融工具)的所有权。此类数据具有外在的现实世界价值,并且由于它所代表的意义,保存 NFT 基础的每个数据字节至少与链上 NFT 一样有价值。
dApp
如果 NFT 是存在于区块链上的商品,那么 dApps 可以被认为是存在于区块链上并促进与区块链交互的服务。dApp 是链下前端用户界面和网络上并与区块链交互的智能合约的组合。有时他们也有一个简单的后端,可以将某些计算转移到链下以减少所需的气体,从而降低最终用户在某些交易中的成本。
(dApp 与区块链交互)
虽然 dApp 的价值应该在 dApp 的目的(例如,DeFi、GameFi、Social、Metaverse、Name Services 等)的背景下考虑,但 dApp 促成的价值量是惊人的。在过去 30 天内,DappRadar 上的前 10 名 dApp 共促成了超过 1500 亿美元的转账。
(数据来源:DappRadar,截至 2022 年 5 月 11 日)
虽然 dApp 的核心机制是通过智能合约执行的,但最终用户的可访问性是通过其前端来确保的。所以,从某种意义上说,保证dApp前端的可用性,就是保证底层服务的可用性。
去中心化存储降低了服务器故障、DNS 黑客攻击或中心化实体移除对 dApp 前端的访问权限的可能性。即使 dApp 的开发停止,前端和通过该前端访问智能合约也可以继续存在。
(Aave 创始人 Stani Kulechov 在推特上表示,Aave dApp 前端于 2022 年 1 月 20 日下线,但仍可通过 IPFS 托管的网站副本访问。)
去中心化存储环境
比特币和以太坊等区块链的存在主要是为了促进价值转移。当涉及到去中心化存储网络时,一些网络也采用这种方法:它们使用本地区块链来记录和跟踪存储订单,这代表了价值转移以换取存储服务。然而,这只是众多潜在方法中的一种——存储领域非常广阔,多年来出现了具有不同权衡和用例的不同解决方案。
(部分协议涉及去中心化存储)
尽管存在许多差异,但上述所有项目都有一个共同点:这些网络都没有在所有节点上复制所有数据。在去中心化存储网络中,存储数据的不变性和可用性不是通过大多数网络存储所有数据和验证连续链接数据来实现的。尽管如前所述,许多网络选择使用区块链来跟踪存储订单。
让去中心化存储网络上的所有节点存储所有数据是不可持续的,因为运行网络的间接成本会迅速提高用户的存储成本,并最终推动网络对少数能够负担得起硬件更改的节点运营商更加中心化. 因此,去中心化存储网络需要克服非常不同的挑战。
数据去中心化的挑战
回顾上述对链上数据存储的限制,很明显,去中心化存储网络必须以不影响网络价值转移机制的方式存储数据,同时确保数据保持持久、不可变和可访问。从本质上讲,去中心化存储网络必须能够存储数据、检索数据和维护数据,同时确保网络中的所有参与者都受到他们所做的存储和检索工作的激励,同时还要保持去中心化系统的去信任。
这些挑战可以概括为以下问题:
数据存储格式:存储完整文件还是文件碎片?
数据复制:跨多少个节点存储数据(完整文件或片段)?
存储跟踪:网络如何知道从哪里检索文件?
数据存储证明:节点是否存储要求存储的数据?
随时间推移的数据可用性:数据是否仍随时间推移而存储?
存储价格发现:存储成本如何确定?
持久数据冗余:如果节点离开网络,网络如何确保数据仍然可用?
数据传输:网络带宽是有代价的——你如何确保节点在被询问时检索数据?
网络通证经济学:除了确保网络上的数据可用之外,网络如何确保网络的寿命?
作为这项研究的一部分,已探索的各种网络采用了广泛的机制,并通过某些权衡实现了去中心化。
(对比去中心化存储网络的技术设计)
数据存储格式
在这些网络中,在网络上存储数据主要有两种方法:存储完整文件和使用纠删码:Arweave 和 Crust Network 存储完整文件,而 Filecoin、Sia、Storj 和 Swarm 都使用纠删码。在纠删码中,数据被分解成固定大小的段,每个段都被扩展并用冗余数据编码。保存到每个段中的冗余数据使得只需要段的一个子集来重建原始文件成为可能。
(数据的数据复制和擦除编码)
数据复制
在 Filecoin、Sia、Storj 和 Swarm 中,网络确定纠删码片段的数量以及要存储在每个片段中的冗余数据的范围。然而,Filecoin 还允许用户确定复制因子,这决定了一个纠删码片段应该复制多少个单独的物理设备,作为与单个存储矿工的存储事务的一部分。如果用户想用不同的存储矿工存储文件,那么用户必须进行单独的存储事务。Crust 和 Arweave 让网络决定复制,同时可以在 Crust 上手动设置复制因子。在 Arweave 上,存储证明机制激励节点存储尽可能多的数据。因此,Arweave 的复制上限是网络上存储节点的总数。
(数据存储格式会影响检索和重构)
用于存储和复制数据的方法将影响网络检索数据的方式。
存储跟踪
在数据以网络存储它的任何形式分布在网络中的节点之间之后,网络需要能够跟踪存储的数据。Filecoin、Crust 和 Sia 都使用本地区块链来跟踪存储订单,而存储节点还维护本地网络位置列表。Arweave 使用类似区块链的结构。与比特币和以太坊等区块链不同,在 Arweave 上,节点可以自行决定是否将数据存储在块中。因此,如果您在 Arweave 上比较多个节点的链,它们将不会完全相同——相反,某些块会在某些节点上丢失而在其他节点上找到。
(Arweave 网络——blockweave 中三个节点的图示)
最后,Storj 和 Swarm 使用了两种完全不同的方法。在 Storj 中,称为卫星节点的第二种类型的节点充当一组存储节点的协调器,这些节点管理和跟踪数据的存储位置。在 Swarm 中,数据的地址直接嵌入到数据块中。检索数据时,网络根据数据本身知道在哪里查找。
存储数据的证明
在证明数据的存储方式时,每个网络都采用自己独特的方法。Filecoin 使用复制证明——一种专有的存储证明机制,它首先将数据存储在存储节点上,然后将数据密封在一个扇区中。密封过程使得相同数据的两个复制片段可以证明彼此是唯一的,从而确保正确数量的副本存储在网络上(因此,“复制证明”)。
Crust 将一段数据分解成许多小块,这些小块被散列到 Merkle 树中。通过将存储在物理存储设备上的单个数据的哈希结果与预期的 Merkle 树哈希进行比较,Crust 可以验证文件是否已正确存储。这类似于 Sia 的方法,不同之处在于 Crust 将整个文件存储在每个节点上,而 Sia 存储纠删码片段。Crust 可以将整个文件存储在单个节点上,并且仍然通过使用节点可信执行环境 (TEE) 来实现隐私,这是一个即使硬件所有者也无法访问的密封硬件组件。Crust 将这种存储证明算法称为“有意义的工作证明”,有意义的表示仅在对存储的数据进行更改时计算新的哈希值,从而减少了无意义的操作。
Storj 通过数据审计检查数据是否已正确存储。数据审计类似于 Crust 和 Sia 如何使用 Merkle 树来验证数据片段。在 Storj 上,一旦有足够多的节点返回其审计结果,网络就可以根据多数响应确定哪些节点已关闭,而不是与区块链的真实来源进行比较。Storj 中的这种机制是有意的,因为开发人员认为,通过区块链减少网络范围内的协调可以提高速度(无需等待共识)和带宽使用(无需整个网络定期与区块链交互)。
Arweave 使用加密工作证明难题来确定文件是否已存储。在这种机制中,为了让节点能够挖掘下一个区块,它们需要证明他们可以访问前一个区块以及来自网络区块历史的另一个随机区块。因为在 Arweave 中,上传的数据直接存储在块中,证明访问上一个块就证明了存储提供者确实正确保存了文件。
最后,Swarm 上也使用了 Merkle 树,不同之处在于 Merkle 树不用于确定文件位置,而是将数据块直接存储在 Merkle 树中。在 swarm 上存储数据时,树的根哈希(也是存储数据的地址)证明文件已正确分块和存储。
随时间推移的数据可用性
同样,每个网络在确定数据是否存储在特定时间段内时都使用独特的方法。在 Filecoin 中,为了减少网络带宽,存储矿工需要在要存储数据的时间段内不断运行复制证明算法。每个时间段的结果哈希证明在特定时间段内存储空间已被正确的数据占用,因此是“时空证明”。
Crust、Sia 和 Storj 定期验证随机数据片段并将结果报告给它们的协调机制——Crust 和 Sia 的区块链,以及 Storj 的卫星节点。Arweave 通过其访问证明机制确保数据的一致可用性,该机制要求矿工不仅要证明他们可以访问最后一个区块,还要证明他们可以访问随机历史区块。存储较旧和稀有的区块是一种激励措施,因为它增加了矿工赢得工作证明难题的可能性,这是访问特定区块的先决条件。
另一方面,Swarm 定期运行抽奖活动,奖励节点在一段时间内持有不太受欢迎的数据,同时还为节点承诺存储更长时间的数据运行所有权证明算法。
Filecoin、Sia 和 Crust 需要节点存入抵押品才能成为存储节点,而 Swarm 只需要用于长期存储请求。Storj 不需要前期抵押品,但 Storj 将扣留部分矿工的存储收入。最后,所有网络都会定期向节点支付节点可以证明存储数据的时间段。
存储价格发现
为了确定存储价格,Filecoin 和 Sia 使用存储市场,存储供应商设置他们的要价,存储用户设置他们愿意支付的价格,以及其他一些设置。然后,存储市场将用户与满足其要求的存储提供商联系起来。Storj 采用了类似的方法,主要区别在于没有一个单一的网络市场可以连接网络上的所有节点。相反,每颗卫星都有自己的一组与之交互的存储节点。
最后,Crust、Arweave 和 Swarm 都让协议决定了存储的价格。Crust 和 Swarm 允许根据用户的文件存储要求进行某些设置,而在 Arweave 上,文件始终是永久存储的。
持久数据冗余
随着时间的推移,节点将离开这些开放的公共网络,当节点消失时,它们存储的数据也会消失。因此,网络必须在系统中主动保持一定程度的冗余。Sia 和 Storj 通过收集片段子集、重建基础数据、然后重新编码文件以重新创建丢失的片段来补充丢失的纠删码片段来做到这一点。在 Sia 中,用户必须定期登录 Sia 客户端进行分片补货,因为只有客户端才能区分哪些数据分片属于哪些数据和用户。在 Storj 上,Satellite 负责始终在线并定期运行数据审计以补充数据片段。
Arweave 的访问证明算法确保数据始终在网络中定期复制,而在 Swarm 上,数据被复制到彼此靠近的节点。在 Filecoin 上,如果数据随着时间的推移而消失并且剩余的文件碎片下降到某个阈值以下,则将存储订单重新引入存储市场,允许另一个存储矿工接管该存储订单。最后,Crust 的补货机制目前正在开发中。
激励数据传输
随着时间的推移,在数据被安全存储后,用户会想要检索数据。由于带宽是有代价的,因此必须激励存储节点在需要时提供数据。Crust 和 Swarm 使用债务和信用机制,其中每个节点跟踪其入站和出站流量如何与其交互的其他节点进行交互。如果一个节点只接受入站流量,不接受出站流量,它将被取消优先级以供将来通信,这可能会影响其接受新存储订单的能力。Crust 使用 IFPS Bitswap 机制,而 Swarm 使用一种称为 SWAP 的专有协议。在 Swarm 的 SWAP 协议上,网络允许节点用邮票来偿还债务(只接受没有足够出站流量的入站流量),可以交换他们的实用代币。
(组计费协议 (SWAP)
这种对节点的慷慨跟踪也是 Arweave 确保数据在请求时传输的方式。在 Arweave 中,这种机制被称为野火,节点将优先考虑排名更高的节点,并相应地合理化带宽使用。最后,在 Filecoin、Storj 和 Sia 上,用户最终为带宽付费,激励节点在请求时交付数据。
代币经济学
通证经济的设计保证了网络的稳定性,也保证了网络的长久存在,因为最终的数据只和网络一样永久存在。在下表中,我们可以找到代币经济学设计决策的简要总结,以及嵌入在相应设计中的通货膨胀和通货紧缩机制。
(部分存储网络的通证经济学)
哪个网络最好?
不可能说一个网络在客观上比另一个网络更好。在设计去中心化存储网络时,必须考虑无数的权衡。虽然 Arweave 非常适合永久存储数据,但 Arweave 不一定适合将 Web 2.0 行业参与者迁移到 Web 3.0 - 并非所有数据都需要永久存储。但是,有一个强大的数据子领域确实需要持久性:NFT 和 dApp。
最终,设计决策是根据网络的目的做出的。
下面是各种存储网络的概要概述,它们在下面定义的一组尺度上进行了比较。使用的尺度反映了这些网络的比较维度,但应该注意的是,克服分散存储挑战的方法在许多情况下没有好坏之分,而只是反映了设计决策。
存储参数灵活性:用户控制文件存储参数的程度
存储持久性:理论上文件存储在网络上可以持久的程度(即无需干预)
冗余持久性:网络通过补充或修复来保持数据冗余的能力
数据传输激励:网络确保节点慷慨传输数据的程度
存储跟踪的普遍性:节点之间对数据存储位置的共识程度
保证数据可访问性:网络确保存储过程中的单个参与者无法删除对网络上文件的访问的能力
分数越高,以上各项的能力越强。
Filecoin 的代币经济支持增加整个网络的存储空间,以便以不可变的方式存储大量数据。此外,他们的存储算法更适合不太可能随时间发生太大变化的数据(冷存储)。
(Filecoin 总结概述)
Crust 的通证组学确保了超冗余和快速的检索速度,使其适用于高流量的 dApp 和流行的 NFT 数据的快速检索。
Crust 在存储持久性方面的得分较低,因为如果没有持久冗余,它提供永久存储的能力就会受到严重影响。尽管如此,可以通过手动设置极高的复制因子来实现持久性。
(地壳总结概述)
Sia 是关于隐私的。之所以需要用户手动恢复健康,是因为节点不知道自己存储了哪些数据分片,这些分片属于哪些数据。只有数据所有者才能从网络中的分片中重建原始数据。
(Sia 摘要概述)
相比之下,Arweave 就是坚持不懈。这也体现在它们的禀赋设计上,这使得存储更加昂贵,但也使它们成为 NFT 存储极具吸引力的选择。
(Arweave 概要概述)
Storj 的商业模式似乎在很大程度上影响了他们的计费和支付方式:亚马逊 AWS S3 用户更熟悉按月计费。通过移除基于区块链的系统中常见的复杂支付和激励系统,Storj Labs 牺牲了一些去中心化,但显着降低了 AWS 用户关键目标群体的进入门槛。
(Storj 摘要概述)
Swarm 的联合曲线模型确保随着更多数据存储在网络上,存储成本保持相对较低,并且它与以太坊区块链的接近性使其成为更复杂的基于以太坊的 dApps 竞争对手的强大主要存储来源。
(Swarm 总结概述)
对于去中心化存储网络所面临的各种挑战,没有单一的最佳方法。根据网络的目的和它试图解决的问题,它必须在网络设计的技术和代币经济学之间进行权衡。网络的目的和它试图优化的特定用例将决定各种设计决策。
下一个字段
回到 Web3 基础设施支柱(共识、存储、计算),我们看到去中心化存储空间有少数强大的参与者已经将自己定位在特定用例的市场中。这并不妨碍新网络优化现有解决方案或捕捉新的利基市场,但它确实提出了一个问题:下一步是什么?
答案是:计算。真正去中心化互联网的下一个前沿是去中心化计算。目前,只有少数解决方案可以将去信任、去中心化的计算解决方案推向市场,这些解决方案以在区块链上执行智能合约的一小部分成本为复杂的 dApp 提供动力。成本计算起来更复杂。
互联网计算机 (ICP) 和 Holochain (HOLO) 是在撰写本文时在去中心化计算市场中具有强大地位的网络。尽管如此,计算空间并不像共识和存储空间那样拥挤。因此,强大的竞争对手迟早会进入市场并相应地定位自己。Stratos (STOS) 就是这样的竞争对手之一。Stratos 通过其分散的数据网格技术提供独特的网络设计。我们将去中心化计算,尤其是 Stratos 网络的网络设计,视为未来研究的一个领域。
本文为作者独立观点,本内容仅供广大加密爱好者科普学习和交流,不构成投资意见或建议,请理性看待,树立正确的理念,提高风险意识。
来源:金色财经 |