EthStorage:用Layer2思路构建以太坊的存储网络

23-03-14 11:24
阅读本文需 24 分钟
总结 AI 总结
看总结 收起
原文标题:《 BinaryTalks|对话 EthStorage,用 Layer2 思路构建以太坊的存储网络 》
受访者:Qi Zhou,EthStorage
主持人:Jenny,BinaryDAO


非常感谢 BinaryDAO 的邀请,今天有幸来跟大家探讨我们围绕在以太坊构建的基础设施—EthStorage 项目。


我自己多年来一直活跃在以太坊生态的区块链领域,经常参与以太坊社区的一些线上线下活动,也有写一些关于 Ethereum 开发改进的 EIP,所以我一直在思考未来的 Web3 基础设施是什么样子,我们应该做哪些改进才能让以太坊更好,如何做才能让这个行业更好?


去年我花费了较多时间和以太坊基金会的成员在 Data Availability 等方面进行了深入探讨,也做了很多这方面的研究。有幸在去年的时候拿到他们一个 Grant 的支持,主要是在做一些 Danksharding 方面的数据恢复、纠错等工作,这部分内容现在基本已经完成。而且就在两个星期之前,我们 EthStorage 项目也拿到了来自 ETH 基金会的 Grant。



那什么是 EthStorage?


简单来说,它的目标有两个:


第一是利用以太坊的安全属性,利用以太坊已经建立开放生态系统。随着接下来的 Layer2 扩容,我们看到许多不同方向的扩容策略,包括 Optimistic Rollup 和 ZK Rollup 等,他们都是在解决以太坊的计算、交易、TPS 等性能问题上做扩容改进,并且获得以太坊的安全。另一个重要目标是,利用以太坊的 Rollup 技术和 Layer2 技术降低以太坊的存储成本。如果你对以太坊的存储模型比较熟悉,就会知道它的存储成本是非常昂贵的。通过使用 EthStorage,我们希望把以太坊的存储成本降低到现在的千分之一,并提高现有的存储能力到 PB 级别以上。



那如何实现这个目标呢?


这里可能需要更多的技术细节,但是我们正在做的 Rollup 与其他以太坊 Rollup 有着本质区别,其他 Rollup 都是在解决以太坊的计算和交易问题,在 TPS 性能上做扩容,属于对 ETH 计算层的扩容,而 EthStorage 是对 ETH 存储层的扩容。


我们的核心要求是怎么能够在以太坊 Layer1 的合约上去证明我们的 Layer2 上存储有这么多副本数据,而且副本数据的数量可以达到上 TB 或者是上百 TB 或者上 PB 级别,这样的一个量级非常重要。就现在的 Rollup 来说,存储量级还是相对比较低的,包括比如像存储开销比较多的 Arbitrum,Arbitrum Nova 这些,它们存储量级还是一个 TB 级别的,还是远远没达到一个 PB 级别的量级。



如果能够在以太坊 Layer1 的合约上证明我们的 Layer2 上存储的副本数据数量可以达到非常高的量级,那我们就可以基于这个扩容方案创建更多有趣的应用。所以这个是我们想要做的一个设计目标,基于这样的一个扩容方案就可以在以太坊上做一些有意思的应用。


另一方面,对专注计算层的 Rollup 来说,如果他们需要有一个长期的存储机制,那么 EthStorage 不仅可以作为一个去中心化的长期存储的解决方案,而且可以高度跟以太坊以及以太坊所有生态进行绑定,大家就可以通过智能合约验证所有的存储数据,这是一个非常直接的应用场景。


另外,我们也发现在静态网站的设计中,一些去中心化的存储应用,如 Filecoin 或 Arweave 等都已经存在了,像 Uniswap 把自己前端托管进行了一个备份,但因为 IPFS 还有 Filecoin 及 Arweave 本身的存储系统设计的一些约束,使得他们只能去处理静态网站的数据。一旦当我们需要有非常丰富的、由多个用户进行交互的动态网页的前端,就会发现 Filecoin 或者 Arweave 也很难做到完整地支持。


有了存储扩容以及接下来要推广的计算扩容,如果我们把两个资源合并在一起,就可以把大量 Web2 的丰富动态应用以 Web3 的形式去跑出来,这里有非常大的应用前景。如果是 NFT 的话,那应用起来就更顺畅了,除了图片之外,视频和音乐都可以使用 EthStorage 作为其 ETH 链上的原生存储。


对用户来说,就不用担心数据存储突然丢了,或存在某一个服务器而那个服务器宕机这些问题了,这样的话 EthStorage 可以更好地去支持以太坊现在所有的应用,为了支持这些应用,我们也开发了一个 Web3 的访问协议。



Web3 的访问协议是我们定义在 ERC-4804 的一个提案,这个协议是一个什么版本?你可以认为是一个去中心化的 HTTP 版本,或者是一个更加灵活的 IPFS 版本。首先这个 Scheme 是 Web3,它的样式其实跟 HTTP 非常像,但是其中关于资源的定位方式是一个智能合约,而不是一个中心化的服务器。


为什么我们需要有这样的访问协议?


很重要的一个原因是当我们有大量数据存储到以太坊,并且能够被智能合约直接 Reference,我们需要有一个去中心化的方式去访问它,而不需要依赖于比如像是 MetaMask 或者是 Infura 这种中心化或偏中心化的服务,通过一个链接就能直接访问。比如我想要访问 Vitailk 的网站,它就是托管在智能合约上的,或者说我想访问一个去中心化的社交网络,它也是托管在一个智能合约上面,同时这些内容数据都保存在 EthStorage 上。


最后给到一个更直观的一个例子,我们在做 EthStorage 一些早期的社区实验,比如说我们把 Vitalik 的 blog 去上传到了一个智能合约,然后花了大概 0.13 的以太坊,差不多两三百美金,其实价格也还是挺昂贵的,但相对于以太坊主网来说已经很便宜了,我们是在 Arbitrum Nova 去实现的,总共有 40 兆数据,这些网站都可以通过我们的 Gateway 去访问。


当你要执行访问时,Gateway 就是去访问 Vitalikblog.eth 这个合约,最后到 ENS 找到对应的合约上面的网站,所以这个网站是永远的托管在了 Arbitrum Nova 网络里面,包括上面的所有文字、所有子文章、所有图片都是由智能合约去解析和返回,而且在未来当 EthStorage 主网上线后,存储成本能够进一步降低 10 倍甚至是 100 倍的一个量级。



我们这次在 ETHDenver 上也有一些项目,包括去中心化的 Github 和 Dropbox,包括去中心化各方面的一些特殊疯狂的 idea 已经开始在我们上面搭建,ETHDevner 的现场这些项目都有机会与我们的 builder 去展示怎么用 EthStorage 去搭建更丰富的智能化应用。以上这是从整个应用层的角度,去描述我们 EthStorage 在做什么样的事情,谢谢大家。  


原文链接


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交