对话 EthStorage,用 Layer2 思路构建以太坊的存储网络
Guest:Qi Zhou,EthStorage
Host: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 在做什么样的事情,谢谢大家。