撰文:0xPhillan、Fundamentallabs
翻译:Tia,ForesightNews
如果我们想在去中心化互联网更进一步,最终将需要这三大支柱:共识、存储以及计算。如果人类成功将这三个领域去中心化,我们将踏向互联网的下一征程:Web3。
图1:每个Web3支柱的项目示例
存储,作为第二大支柱,正迅速成熟,各种存储解决方案已经应用到使用场景中。本文,将进一步探讨去中心化存储这一支柱。
此篇文章是完整篇幅的一个总结,完整篇幅可从去中心化存储Arweave和CrustNetwork下载。
去中心化存储的需求
区块链的视角
从区块链的视角来看,我们需要去中心化存储是因为区块链的设计就不是用来存储大体量数据的。获得区块共识的机制依赖被放置于在区块中的数据,这些数据会迅速分享至网络供节点验证。
首先,在区块中存储数据非常昂贵。在撰文时,在layer1上存储一个完整的BAYC#3368需要花费超过18000美元。
图2:具有活跃主网的项目。选择200年的存储期限来符合Arweave对永久性的定义。来源:网络文档、Arweave存储计算器
其次,如果我们想要在这些区块中存储大量套利数据,网络拥堵将会变得严重,这会在使用网络时引起gas战从而导致价格上涨。这就是区块的隐含时间价值的后果,如果用户需要在某一特定时间向网络提交交易,他们会需要付额外的gas费来使得他们的交易被优先处理。
因此,建议将NFT的元数据以及图像数据、dApp的前端进行链下存储。
中心化网络的视角
如果链上存储数据如此昂贵,为什么不直接在中心化网络链下存储数据呢?
中心化网络容易受到审查并且具有可变性。这要求用户信任数据提供方能维护数据的安全。谁都不能确保中心化网络的运营方真的不会辜负用户对他们的信任:数据可能会因为有意或出于意外被抹除。例如可能会遇到数据提供商改变政策、硬件故障或被第三方攻击。
NFTs
随着NFT藏品的地板价超过10万美元,一些NFT每kb图像数据价值更是高达7万,仅仅通过承诺不足以确保数据每时每刻的可获得性。还是需要有更强的保证来确保底层NFT数据的不变性和持久性。
图3:基于上次销售的CryptoPunk底价;CryptoPunk图像大小基于CryptoPunksV2链上字节字符串的字节长度。数据截至2022年5月10日。来源:OpenSea、链上数据、IPFS元数据
Celsius前CEO曾试图为新项目Celsius Web Services筹集10亿美元:金色财经报道,Celsius前首席执行官Alex Mashinsky试图为一个名为Celsius Web Services的项目筹集10亿美元。CWS将提供Celsius产品的通用版本,包括那些专注于收益和托管的产品。投标文件显示,Celsius分别在5月和6月与华尔街银行高盛和阿布扎比支持的基金ADQ就一个名为Celsius Web Services的项目进行了接触。
Mashinsky试图推出一系列新产品,并将Celsius从其核心业务加密借贷中剥离出来,但其速度不足以避免借贷业务使整个公司沉没。Celsius在去年6月12日冻结了提款,并在一个月后申请了破产保护,对10多万名用户的欠款超过47亿美元。[2023/5/12 15:00:14]
NFT并没有包含任何图像数据,相反,它们有一个指向链下存储元数据和图像数据的指针。但需要保护的正是这些元数据和图像数据,如果这些数据消失,NFT就只是一个空荡荡的容器。
图4:区块链、区块、NFT和链下元数据的简化图示
可以说,NFT的价值并不主要由它们所指的元数据和图像数据驱动,而是由藏品社区推动,这些社区会围绕藏品创建相关活动。虽然这么做可能是正确的,但如果没有基础数据,NFT就无意义,无意义的社区是没有办法形成的。
除了头像图片和艺术收藏品,NFT还可以代表现实世界资产的所有权,例如房地产或金融工具。此类数据是有外在的现实世界价值的,由于是通过NFT代表其价值,因此保存NFT每一个字节数据的价值可不会低于链上NFT的价值。
dApps
如果NFT是存在于区块链上的商品,那么dApp可以被认为是存在于区块链上并促进与区块链交互的服务。dApp是存在于链下的前端用户界面和存在于网络上并与区块链交互的智能合约的组合。有时它们还有一个简单的后端,可以将某些计算转移到链下以减少所需的gas,从而减少最终用户对某些交易产生的成本。
图5:dApp与区块链交互的简化图示
尽管dApp的价值应当根据dApp的背景来考虑,dApps带来的价值是惊人的。在撰文时的过去30天内,DappRadar上排名前10位的dApp共同促成了超过1500亿美元的转账。
图6:截至2022年5月11日,DappRadar报告的按美元数量计算的最受欢迎的dApp
尽管dApp的核心机制由智能合约执行,终端用户可通过前端确保用户可访问性。因此,在某种意义上,确保dApp前端的可访问性在于确保底层服务的可用性。
币安CTO:正在考虑投资几家印度Web3初创公司:金色财经报道,币安首席技术官Rohit Wad在接受Businessline采访时透露,币安一直在密切关注印度区块链生态系统,计划在不久的将来投资几家印度Web3初创公司,但没有透露可能投资的潜在对象。此外,Rohit Wad透露币安将从印度顶尖大学和科技机构招聘技术专业人员。[2022/12/24 22:04:40]
图7:Aave创始人StaniKulechov在推特上表示,AavedApp前端于2022年1月20日下线,但仍可通过IPFS托管的网站副本访问
去中心化存储减少了服务器故障、DNS黑客、以及中心化实体删除对dApp前端的访问。即使停止dApp的开发,也可以通过前端继续访问智能合约。
去中心化存储图景
如比特币以太坊这样的区块链的存在主要是为了促进价值转移。当涉及到去中心化存储网络时,一些网络也采用了这种方法:它们使用原生区块链来记录和跟踪存储订单,这代表了价值转移以换取存储服务。然而,这只是众多潜在方法中的一种——存储领域广阔,多年来出现了具有不同权衡和用例的不同解决方案。
图8:一些任意选择的去中心化存储协议概述
尽管存在许多差异,但上述所有项目都有一个共同点:这些网络都没有在所有节点上复制所有数据,比特币和以太坊区块链就是这种情况。在去中心化存储网络中,存储数据的不变性和可用性不是借由大多数网络存储并验证相继链接的数据实现的,比特币和以太坊就是这种情况。尽管如前所述,许多网络选择使用区块链来跟踪存储订单。
去中心化存储网络上的所有节点都存储所有数据是不可持续的,因为运行网络的间接成本会使用户的存储成本迅速提高,并最终推动网络的中心化,转向少数能够负担得起硬件费用的节点运营商。
因此,去中心化存储网络需要克服非同寻常的挑战。
去中心化存储的挑战
回顾前面提到的关于链上数据存储的限制,很明显去中心化存储网络必须以不影响网络价值转移机制的方式存储数据,同时确保数据保持持久性、不可变性和可访问性。从本质上讲,去中心化存储网络必须能够存储数据、检索数据和维护数据,同时确保网络中的所有参与者都受到他们所做的存储和检索工作的激励,同时还要维护去中心化系统的去信任性。
这些挑战可被总结为如下问题:
数据存储格式:存储完整文件还是文件碎片?
数据复制:跨多少个节点存储数据?
存储跟踪:网络如何知道从哪里检索文件?
存储数据的证明:节点是否存储了他们被要求存储的数据?
随时间推移的数据可用性:数据是否仍随时间推移而存储?
好莱坞经纪公司UTA与Investcorp合作推出Web3投资机构UTA.VC:10月13日消息,好莱坞经纪公司UTA宣布与另类资产管理公司Investcorp达成合作推出Web3投资机构UTA.VC,该机构将增加对创作者经济和Web3初创公司的投资,此前已投资数据分析公司Antenna、以太坊基础设施开发公司ConsenSys、“网红”标记平台Bounty、健身应用FitOn以及NFT公司Percs和Danvas等。
此外,Investcorp的Anand Radhakrishnan和UTA的Caroline Jacobs、Clinton Foy和Sam Wick将担任董事总经理和高级领导人,监督UTA.VC的投资。(The Hollywood Reporter)[2022/10/13 10:33:12]
存储价格发现:存储成本如何确定?
持久数据冗余:如果节点离开网络,网络如何确保数据仍然可用?
数据传输:网络带宽是有代价的——如何确保节点在被询问时检索数据?
网络代币经济学:除了确保数据在网络上可用之外,网络如何确保网络长期存在?
本研究的一部分探索了各网络的广泛机制,以及这些机制实现去中心化的某些权衡。
图9:审计的存储网络的技术设计决策摘要
有关上述网络对于每个挑战的深入比较,以及每个网络的详细配置文件,可于Arweave或CrustNetwork阅读完整研究文章。
数据存储格式
图10:数据复制和擦除编码
在这些网络中,有两种主要的方法可用于在网络上进行存储数据:存储完整文件和使用纠删码:Arweave和CrustNetwork存储完整文件,而Filecoin、Sia、Storj和Swarm都使用纠删码。在擦除编码中,数据被分解成固定大小的片段,每个片段都被扩展并用冗余数据编码。保存到每个片段中的冗余数据使得只需要片段的一个子集来重建原始文件。
数据复制
在Filecoin、Sia、Storj和Swarm中,网络确定擦除编码片段的数量以及要存储在每个片段中的冗余数据的范围。然而,Filecoin还允许用户确定复制因子,该因子决定了作为与单个存储矿工的存储交易的一部分,应该在多少个单独的物理设备上复制擦除编码片段。如果用户想用不同的存储矿工存储文件,那么用户必须进行单独的存储交易。Crust和Arweave让网络决定复制,而在Crust上手动设置复制因子是可能的。在Arweave上,存储证明机制激励节点存储尽可能多的数据。因此,Arweave的复制上限是网络上存储节点的总数。
Computecoin创始人:Web3行业缺失去中心化基础设施:据官方消息,美国中部时间6月11日,由 Computecoin(CCN)主办的题为“Web3存储的未来”的圆桌会议在德克萨斯州奥斯汀开展。会议上,Computecoin创始人和CEO Max Li指出了Web3行业的发展痛点——缺失去中心化基础设施,Web3应用依然搭建在AWS和Google Cloud的Web2服务上。这就像4G的手机运行在3G的网络上,很多4G的性能无法实现。CCN对此给出的解决方法是:以用户为本位,打造一个完整的、零学习负担的Web3生态系统,使用户和开发者能在Computecoin上轻松接入去中心化计算和存储服务。[2022/6/15 4:28:42]
图11:数据存储格式将影响检索和重建
用于存储和复制数据的方法将影响网络检索数据的方式。
存储跟踪
在数据以网络存储它的任何形式分布在网络中的节点之后,网络需要能够跟踪存储的数据。Filecoin、Crust和Sia都使用本地区块链来跟踪存储订单,而存储节点还维护本地网络位置列表。Arweave使用类似区块链的结构。与比特币和以太坊等区块链不同,在Arweave上,节点可以自行决定是否存储来自区块的数据。因此,如果比较Arweave上多个节点的链,它们将不完全相同——相反,某些节点上的某些块会丢失,而在其他节点上可以找到。
图12:blockweave中三个节点的图示
最后,Storj和Swarm使用了两种完全不同的方法。在Storj中,称为卫星节点的第二种节点类型充当一组存储节点的协调器,用于管理和跟踪数据的存储位置。在Swarm中,数据的地址直接嵌入到数据块中。检索数据时,网络基于数据本身知道在哪里查找。
存储数据证明
在证明数据的存储方式时,每个网络都采用自己独特的方法。Filecoin使用复制证明——一种专有的存储证明机制,它首先将数据存储在存储节点上,然后将数据密封在一个扇区中。密封过程使得相同数据的两个复制片段可以证明彼此是唯一的,从而确保正确数量的副本存储在网络上。
Crust将一段数据分解成许多小块,这些小块被散列到Merkle树中。通过将存储在物理存储设备上的单个数据的散列结果与预期的Merkle树散列值进行比较,Crust可以验证文件是否已正确存储。这类似于Sia的方法,不同之处在于Crust将整个文件存储在每个节点上,而Sia存储擦除编码的片段。Crust可以将整个文件存储在单个节点上,并且仍然可以通过使用节点可信执行环境(TEE)来实现隐私,这是一个即使硬件所有者也无法访问的密封硬件组件。
Crust将这种存储证明算法称为「有意义的工作证明」,而有意义表示仅在对存储的数据进行更改时才计算新的哈希值,从而减少了无意义的操作。Crust和Sia都将Merkle树根哈希存储在区块链上,作为验证数据完整性的真实来源。
美国德克萨斯州奥斯汀将出台支持区块链和 Web 3.0 技术发展的相关政策:金色财经报道,根据一份官方的政府文件,美国德克萨斯州奥斯汀市长已经指示城市经理帮助创造一个有利的政府和社区环境,支持区块链和Web 3.0等新技术的创建。通过采取这一举措,奥斯汀市政府希望将自己置于世界数字金融版图上,就像纽约市和迈阿密一样,在过去的几个月里,他们积极参与了加密行业。因此,市长已下令市经理就该市如何采用比特币进行“实况调查研究”。此外,该市对参与区块链和 Web 3.0 相关技术、协议和应用程序的程度没有任何限制。(coingape)[2022/3/15 13:56:51]
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使用IFPSBitswap机制,而Swarm使用名为SWAP的专有协议。在Swarm的SWAP协议上,网络允许节点用邮票来偿还他们的债务,这可以用来兑换他们的实用代币。
图13:群记帐协议(SWAP),资料来源:Swarm白皮书
这种对节点慷慨性的跟踪也是Arweave确保数据在请求时传输的方式。在Arweave中,这种机制称为野火,节点将优先考虑排名更好的对等节点,并相应地合理化带宽使用。最后,在Filecoin、Storj和Sia上,用户最终会为带宽付费,从而激励节点在请求时交付数据。
代币经济
代币经济设计确保了网络的稳定性,也确保了网络将长期存在,因为最终数据会与网络一样永久。在下表中,我们可以找到代币经济学设计决策的简要总结,以及嵌入在相应设计中的通货膨胀和通货紧缩机制。
图14:已审计的存储网络的代币经济设计决策。
哪一个是最佳网络?
并不会有一个网络在客观上比另一个网络更好。在设计去中心化存储网络时,存在无数的权衡。虽然Arweave非常适合永久存储数据,但Arweave不一定适合将Web2.0行业参与者迁移到Web3.0-并非所有数据都需要永久保存。但是,一个强大的数据子领域的确需要永久性:NFT和dApp。
最终,设计决策会基于该网络的目的。
以下是各种存储网络的总结概况,它们在下面定义的一组尺度上相互比较。使用的尺度反映了这些网络的比较维度,但是应该注意的是,克服去中心化存储挑战的方法在许多情况下并没有好坏之分,这只是设计决策的反映。
存储参数灵活性:用户控制文件存储参数的程度
存储持久性:文件存储在多大程度上可以通过网络实现理论上的持久性
冗余持久性:网络通过补充或修复来保持数据冗余的能力
数据传输激励:网络确保节点慷慨传输数据的程度
存储跟踪的普遍性:节点之间对数据存储位置的共识程度
有保证的数据可访问性:网络确保存储过程中的单个参与者无法删除对网络上文件的访问的能力
分数越高表明上述各项的能力越强。
Filecoin的代币经济学支持增加整个网络的存储空间,用于以不可变的方式存储大量数据。此外,他们的存储算法更适用于不太可能随时间发生很大变化的数据。
图15:Filecoin总结概况
Crust的代币经济学确保超冗余和快速检索,使其适用于高流量dApp并适用于快速检索流行NFT的数据。
Crust在存储持久性方面的得分较低,因为没有持久冗余,它提供永久存储的能力会受到严重影响。尽管如此,仍然可以通过手动设置极高的复制因子来实现持久性。
图16:Crust总结概况
Sia是关于隐私的。之所以需要用户手动恢复健康,是因为节点不知道自己存储了哪些数据片段,以及这些片段属于哪些数据。只有数据所有者才能从网络中的分片中重建原始数据。
图17:Sia总结概况
相比之下,Arweave是关于持久性的。这反映在了它们的设计中,使得存储成本更高,但也使它们成为存储NFT极具吸引力的选择。
图18:Arweave的总结概况
Storj的商业模式似乎在很大程度上影响了他们的计费和支付方式:亚马逊AWSS3用户更熟悉按月计费。通过移除基于区块链的系统中常见的复杂支付和激励系统,StorjLabs牺牲了一些去中心化,但显着降低了AWS用户关键目标群体的进入门槛。
图19:Storj总结概况
Swarm的联合曲线模型确保随着更多数据存储在网络上,存储成本保持相对较低,并且它与以太坊区块链的接近使其成为更复杂的基于以太坊的dApp的主要存储的有力竞争者。
图20:Swarm总结概况
对于去中心化存储网络面临的各种挑战,没有单一的最佳方法。根据网络的目的和它试图解决的问题,它必须在网络设计的技术和代币经济学方面进行权衡。
图21:已审查存储网络的强大用例总结
最后,网络的目的和它试图优化的特定用例将决定各种设计决策。
下一个篇章
回到Web3基础设施支柱,我们看到去中心化存储空间拥有一小部分强大的参与者,并且他们已针对特定用例将自己定位在市场中。这并不意味着将优化现有解决方案或开辟新市场的新兴网络排除在外,但这确实提出了一个问题:接下来是什么呢?
答案是:计算。实现真正去中心化互联网的下一个前沿是去中心化计算。目前,只有少数解决方案能够将去信任、去中心化计算的解决方案推向市场,这些解决方案可以为复杂的dApp提供支持,这些解决方案能够以远低于在区块链上执行智能合约的成本进行更复杂的计算。
互联网计算机和Holochain是在撰写本文时在去中心化计算市场中占据强势地位的网络。尽管如此,计算空间并不像共识和存储空间那样拥挤。因此,强大的竞争对手迟早会进入市场并相应地定位自己。Stratos就是这样的竞争对手之一。Stratos通过其分散式数据网格技术提供独特的网络设计。
我们将去中心化计算,尤其将Stratos网络的网络设计视为未来研究的领域。
结尾
感谢您阅读这篇关于去中心化存储研究的文章。如果您喜欢旨在发掘构建我们共同的Web3未来的基本模块的研究,可以考虑在Twitter上关注@FundamentalLabs。
如果我遗漏了任何有价值的概念或其他信息?请在Twitter@0xPhillan上与我联系,以便我们共同巩固此项研究。
完整作品可在Arweave、CrustNetwork上获得。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。