背景及动机
以太坊二层解决方案(L2)的主要目标有两个:一是复用以太坊主网安全,二是增强以太坊的可扩展性。大多数现有的二层解决方案(例如 rollups)都专注于扩展以太坊的计算能力,即提升 TPS(每秒交易数)。但同时,随着 NFT/DeFi 等 dApp 的普及,存储大量数据并且复用以太坊主网安全的需求急剧增长。
例如,一个强烈的存储需求来自于链上 NFTs(https://hackmd.io/@snakajima/HJva6n-Jj),其目的不仅 NFT 合约的代币归用户所有,而且 NFT 的链上图片也归用户所有。相比之下,将 NFT 图片存储在第三方(例如 ipfs 或中心化服务器)需要引入额外的信任。而这种信任很容易且经常被破坏(例如,许多使用 ipfs 的老 NFT 项目的图片现在已经不可用了)。
目标
将网络的存储容量增加到 PB 或更多(假设每个节点有几 TB 硬盘空间)
与 SSTORE 相比,将存储成本降低到它的 1/100 甚至是 1/1000
与 SSTORE 类似的 KV CRUD 语义(这里将有一些限制,详见下文)
在区块重组、存储支付结算和抗审查方面复用以太坊主网安全
具体要怎么做呢?当前,以太坊主网上存储大量数据的成本分为两部分:
上传成本(calldata)
存储成本(SSTORE)
对于存储成本,我们的解决方案是构建一个无需许可的二层数据保存网络。这个二层网络包含以下组件:
配置保存那部分的 BLOB 数据(即分片)
通过加入二层数据网络来同步感兴趣的 BLOB 到本地
如果存储合约中的相应承诺被更新 / 添加,则从以太坊主网数据可用(DA)网络下载 BLOB 到本地
生成存储证明,提交到以太坊主网,收取相应的存储费
在 JSON-RPC eth_call() 方法中服务 storage_contract.put()
注意,运行数据节点是完全无需许可的——只要数据提供者有足够的硬盘空间,它就可以运行一个节点,并且从二层网络同步 BLOB。如果 L1 上的承诺发生变化,则从数据可用(DA)复制 BLOB,并证明保留到主网。
相比现有解决方案优势
除了复用以太坊主网安全之外,EthStorage 还拥有以下优势:
丰富的存储语义(KV CRUD)。FILECOIN/AR 主要适用于静态文件,缺乏高效的更新 / 删除操作——即,用户必须支付两次费用才能更新现有数据。而得益于数据可用(DA)和智能合约,EthStorage 可以提供类似于 SSTORE 的完整 KV CRUD 语义。
可编程性。存储可以通过智能合约进行编程,这便可以很容易的启用新功能,例如多用户访问控制或数据可组合性。
实现应用逻辑和存储逻辑的原子性。目前使用 ENS 的去中心化网站(dweb)通常需要两个步骤:1、将数据上传到外部存储网络;2、将内容哈希(contenthash)存储到 ENS 上。借助数据可用(DA)和 EVM,EthStoage 可以在一次交易中同时完成应用逻辑和存储逻辑,对用户更加友好(这也广泛存在于 Web2 应用中,例如 Twitter/FB/ 等)。
零学习成本。EthStorage 建立在以太坊之上,存储成本也由 ETH 支付,因此,存储操作可以通过 Metamask 这类 ETH 钱包完成——用户无需学习新的代币 / 钱包 / 地址。
针对大型动态数据集,生产数据有足够的冗余的存储证明:以去中心化的方式保证数据冗余是一个关键挑战,尤其是在数据集不断变化的情况下。
高效的定期的存储支付:提交有效的链上存储证明需要奖励证明者(或数据提供者)存储费(以 ETH 计)。我们需要一个高效的存储租用 / 支付模型来计算,并且保证网络有足够数据冗余,以确保永久的存储数据。
稀有数据发现和通过代币激励以鼓励稀缺数据自动重新复制:当部分数据节点关闭时,我们需要鼓励其他节点加入数据保存网络并复制稀缺数据
高效的链上验证:我们将探索一些技术,特别是零知识证明(zk)来降低验证成本。
其他问题
Q:EthStorage 跟数据可用(DA)有什么区别?
Q:读取存储在 EthStorage 的数据的访问协议是什么(类似于 ipfs://)?
A:数据可以通过在数据节点上调用 eth_call 来获得。数据节点将在二层网络中搜索和检索相应的 BLOB。此外,从终端用户的角度来看,我们将使用 web3:// URL(https://eips.ethereum.org/EIPS/eip-4804)访问协议来浏览智能合约托管的动态 BLOB 数据。
Web3 行研会分享合集 / 渠道:
Twitter:https://twitter.com/Web3BuidlGroup
B 站:https://space.bilibili.com/1203944704
YouTube:https://www.youtube.com/channel/UCW1B_fh0FHf33T1HEtZEYOQ
Twitter:https://twitter.com/Web3BuidlGroup
关注我们:
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。