EthStorage - Scaling Ethereum Storage via Layer 2 and Data Availability with Qi Zhou
Ethereum Denver·Mon, Oct 9, 2023, 12:00 AM
Reusing Ethereum mainnet security and extending Ethereum scalability are the major goals of Ethereum L2 solutions. Most existing L2 solutions such as optimistic/ZK rollups focus on scaling Ethereum computation power, a.k.a., higher transactions per second. Meanwhile, with the popularity of dApps such as NFT/DeFi/etc, the demand for storing a large amount of data reusing Ethereum mainnet security has grown dramatically. In this talk, we will present EthStorage - an Ethereum L2 to scale the programmable storage to hundreds of Terabytes or even Petabytes with 1/100x to 1/1000x cost. We will explain the components of EthStorage and the storage payment model. Finally, we will present some prototypes of new applications on Ethereum such as vitalik's blog, decentralized dropbox, dynamic NFT, etc. Qi Zhou Founder EthStorage Dr. Qi Zhou is the founder of web3://, EthStorage, and QuarkChain. His interest is in researching and developing the future Web3 infrastructure, including sharding, data availability, and hybrid consensus of PoW/PoS. He authors/co-authors several EIPs including EIP-4804/EIP-4972/EIP-5018/EIP-5027/etc. He is currently working on decentralized access protocol EIP-4804: Web3 URL Standard, and EthStorage.io - large programmable storage on top of data availability and Ethereum layer 2. https://twitter.com/qc_qizhou
Transcript
Hello. Hello everyone. Uh let's start. So it's my great pleasure here to present uh is storage scaling Ethereum storage v layer 2 and data availability. So a quick introduction of myself.
I'm an active blockchain developer and also Ethereum ecosystem contributor. I have um several EIPs including EIP 404 web3 URL standard and also working on Ethereum data availability technologies and also have several grants from Ethereum foundation including data availability sampling research and also is a storage itself. So what is is a storage? So using a single sentence that is we want to develop a layer two system that to inherit Ethereum security properties while we can greatly extend the Ethereum storage capacities. So how to achieve that?
If you are already familiar with Ethereum scaling solutions for example all kinds of robots optimistic and zen robas which aims to verify the offchain computation with validity proof of proof we are building a storage specific roar instead of doing those validity and propro we are building kind of a storage proof on Ethereum lay on contracts so that we can tell that there are some desired unique replicas that is storing in the layer to network. So this is basic idea from rollup but now we extend this idea from computation to storage. So with that feature we are able to reduce the storage cost from Ethereum cost to roughly one to 1,000 versus as a store and we also would like to scale the SC storage capacity from a few terabytes which is limited by single node capacity to pabytes. Everything is will be paid by ether just like arbitron and also optimism and we also be able to use the Ethereum security properties so that we are able to satisfy a lot of growing storage needs of these applications decentralized applications for example MFTts website front ends and decentralized social network there are a couple of them so what is the difference with is a storage as the storage roll up versus the EVM specific robots. So there's a lot of uh comparison here but just I want to highlight one line here is that we are building this proof of storage algorithms that is can be verified on layer one so that there's some desired physical replicas that is stored in the lay network rather than right now there's no such enforcement of EVN specific robots including optimist optimistic robot and CK roll apps.
So this is the one key major difference of the isa storage would like to achieve versus existing scaling solutions. So with e storage we believe we are able to enable a lot of interesting applications. uh for example it can be a long-term storage solutions for existing rollups so that we are able to save all those transaction records forever like optimistic rollout or zk rollups and it can also enable fully decentralized front ends with rich dynamic websites that return from a smart contract rather than a static content of the file. which right now filecoin RV is not able to do that. So we will tell how we are able to do that in the later with our other technologies and another application is that it can be a native storage for NFTTS.
So when the user buy an NFT, he not only own the smart contract and have this ownership of this token ID but also the corresponding data that is also be able to be verified on chain that is stored in the layer 2 network with some replications. So how to achieve that? There are a couple of technologies that we either built on and also developing to solve this problem. First, there's a proof of publication problem that we are able to allow a large amount of data that can be upload on the blockchain with the same minet security. How to achieve that?
And this is the basically the data availability availability problem that Ethereum is solving especially by Dening. The dank sharding will increase the data through to roughly 20 times versus current Ethereum. So which greatestly solved this data availability problem or pro publication problem and which we have a research grant from Ethan foundation in working in this area. Once the data is available on chain the next step is how we are able to storage this data in an offchain network or layer two. And this is the proof of storage on large dynamic data sets on another research that we are working uh with Ethern foundation with the grand support so that we are able to support pedabyte capacity with rich semantics in terms CRUD create reach update and deletes and lastly once we are able to upload a large amount of data and store this data in the network and be able to manage by smart contracts.
We need a way to directly access those data that managed by smart contract underlying storage layer. And that's why we propose the web3 access protocol which is a decentralized access protocol to the dynamic web contents that host by smart contracts. So let me go through some details. So the famous D sharding is proposed to increase Ethereum layer one data upload speeds uh using some KG commitment and resolon codes. The current spec is able to offer 20 times of performance versus core data which all these optimistic project or a roller project are using and with this bandwidth then shrouding will create 1.
5 terabytes of data per week that is roughly 80 terabytes per year. However, in order to relieve the validators, the consensus of Ethereum that in as a upgrade for the Dank routing will expire this data in just one month. Which means that once the data is being uploaded to the network, Ethereum network, it will be deleted in 30 days. And so we used some research so that we are able to optimize for example resolment code reconstruction to three times and you can also find the research result in the Ethereum research program. So now with DA and Dshotting now we are able to upload a large amount of data temporarily just in one months and how we are able to build a layer 2 system to store this data in large scale and much lower cost.
So here is a diagram how there is a storage works with DA. Now with data availability we will have a new object called blobs. So blobs is defined in EIP 4844 or called portal dening and blobs will be have a hash that is into the transaction which is able to be accessed by this contract. However the block itself is only available to the data availability network. So once this transaction is put on chain the contract will has the corresponding data hash the EIP 4844 is at there's op code called datash and then the corresponding data which is available in 30 days will be able to be retrieved from data availability network in the Ethereum.
So the storage contract will notify you got a got a basic this process this transaction we know oh there's a data that is going to be uh story store in the layer 2 network and so those layer 2 network storage providers will be notified that hey there's a new data is updated to the smart contract and the user would like to pay this storage fee with this data And the corresponding data data blobs is available in the data availability network. And this is how Ethereum DA works. And with that the layer to network will retrieve corresponding data and store locally and at the same time why it want why why store this data and that's because the contract will offer the money say hey for those storage providers if you can prove you are have this physical replica of this data and once the proof is successful generate it then I will reward those storage providers with ether that the users paid. So they will compete for this generation and once a success proof is generated and submit to the blockchain that is the uh storage contract and the corresponding ether will be distributed to the storage private and then the key problem is how we are able to build such proof system and also it's onchain verification on large dynamic unique layer 2 data sets with an layer layer one contract. And this is the the Ethereum grant that we just received last month to address this specific problem.
And this is kind of a new problem that facing because like filecoin RV they are solving more kind of like static files static objects. So but if there's a large dynamic ones how we are able to solve this problem and so the key words one is dynamic. So the data suppose I'm a user I upload an article onto the blockchain I may modify it I may delete it this can be frequently changed and further the verification is on top of layer one contract there is no particle upgrade is required just like zk smart zk roll up and the key technology that we are developing is called zk nonql or zk for so that we are able to use Zik and SN technologies so that we are able to basically compute some random sampling offchain but with a very succinct proof submitted on the onchain tells that if a data provider does not provide corresponding replica then it will not be able to pass this proof in a high probability and and and collect corresponding reward and this is basically ideas that we are building uh also key ideas between the isa storage to solve this problem and here is a quick comparison of what is a storage doing versus falcon or RV so is a storage is more kind like a extension of Ethereum current obi codes for storage as store as load with CRUD key value store and different properties including onchain EVM programmability. For example, the contract can tell I want to delete this file. I want to change this state blob.
I want to for example read this part and at the same time file they are more optimized for static files which can be h super large and even much cheaper. Another unique feature is of storage is that it's completely in com uh compatible with Ethereum wallets development stack like hard hats minimize all this. So from developer perspective it just require very minimum knowledge and then it can deploy further applications on top of that to uh utilize the power of it storage and this application can be decentralized social network decentralized uh MFTt or any other kinds of web to application that we can imagine and with the data that is now available in a layer 2 storage network. How we are able to achieve them and that's why we propose web street access protocol is defined in URC 4804 which was finalized yesterday. So very good timing and it's also register AMA.
It's basically idea is similar to HTTP but instead of locating centralized resources is to locate the centralized resources host by smart contract and also it support multi-chain. So the authority here is replaced by name or a contract and there's a corresponding way to tell how to call this contract and return this uh the content and we have a bounted for any developers hackers that is be able to deploy their contract and use and then and then create dynamic web content using web street access protocol. So we do some early experiments on these ideas and we collect a lot of interesting feedbacks from community. For example, we upload Vitalic block which has 40 megabytes of data and on Nova which causes roughly point uh.13 ether and we collect a lot of feedbacks 100 ups and I think 20 or 30 comments saying wow this is interesting idea how to solve this problem how to solve the storage and yeah welcome everybody to to take a look and contribute and comments.
And we are also exploring a more aggressive ideas. For example, one idea is called decentralized git so that we are able to put the div as a blob in the isa storage. At the same time, we maintain the relationship of this commit using Ethereum EVM. So now we are able to build a decentralized git without any centralized component. For example, we can build Ethereum on top Ethereum.
So there are also a couple of projects in terms of decentralized Dropbox, decentralized crack list and decentralized uh uh wallets that with the Valve uh service wallet. And so we believe with all this infrastructure we can build a much much richer web three applications where Ethereum drives the most innovations and we are able to have this scal scalability to serve all the people in the future and it's fully decentralized from front end we have H web3 to the application logic with the layer one and layer two and it's a storage as lai in storage layer to solve this uh storage issue. And so here is couple of timeline of this storage. uh in this year especially in the early this year we are going to launch another test net with almost full features that I just described with like maybe 10 terabytes or 100 terabytes data so that we can experiment all those decentralized git or decentralized Wikipedia all kinds of crazy ideas using EVM and storage and so we welcome community members to join and become either validated node or storage know and develop amazing applications on top that. So thank you very much for attending my uh talk.
So I have I have one minute left. Happy to answer some questions. Any questions? Sure. The data encrypted on the storage.
So the data is encoded in a storage storage node so that we can make some unique proof otherwise we have one copy of data that how we are not able to prove this data has been physically stored uh in multiple locations physical locations for the encryption perspective since this is a public storage. So we rely on user to encrypt its data using it for example maybe a private key derived uh key to perform symmetric encoding. So this is probably more like rely on application and we have a decentralized uh drive private drive that implement that feature. So we're free to use it and have a try. Uh I think I'm uh running out of time.
So many thanks for the uh yeah rental. So we can we can discuss this uh later. Yes, sure. Thank you very much. [Music]
Automatic transcript — names and jargon may be misspelled.