devgrants
devgrants copied to clipboard
Configurable Data Availability Layer using FVM
Open Grant Proposal: Configurable Data Availability Layer using FVM
Project Name: Configurable Data Availability Layer using FVM
Proposal Category: Applications
Individual or Entity Name: Emergent Reputation
Proposer: ckartik
Filecoin ecosystem affiliations: None. Have completed a milestone based grant before.
Technical Sponsor: None Yet. Would love to have one!
Do you agree to open source all work you do on behalf of this RFP under the MIT/Apache-2 dual-license?:Yes
Project Summary
Overview
This project is meant to use the features provided by the FVM to serve as a ephemeral data availability layer for optimistic rollups and other applications with a need for short-duration data availability, such as ZK applications and chains.
Problem Summary
To scale Ethereum and other EVM based applications, the development community, especially in ethereum, has coalesced around Rollups as the solution. However, this approach incurs significant cost to settle on the L1. The yearly cost across prominent L2s on Ethereum currently sums to over $200,000,000 USD! The Ethereum foundation has recognized this and proposed the addition of blob-carrying transactions
in EIP-4844. To understand the solution EIP-4844 is trying to provide, it's worth understanding the current approach to Data Availability (DA). Essentially, batchers on L2s like Optimism post noop transactions, where the only purpose is to post searlized representations of the L2 data inside of calldata. The cost for these transactions is ~0.05 Eth, however given the frequency with which they're posting (every 5 minutes), this cost adds up to nearly $50 Million per rollup. Here's the Optimism batcher for example. The approach EIP-4844 is taking to solve this, is augmenting the consensus layer to add the storage of binary data for ~90 days. This is a significant lift, as it alters the hardware requirements needed for many consensus clients, changing to IO profile of consensus infrastructure, and negatively impacting client diversity, as smaller clients may not be able to adapt as quickly.
Solution
The solution I propose here is to leverage Filecoin for the storage of ephemeral rollup data. Since the typically quantity of data that is stored by these L2s is significantly below 4gb, we leverage a deal aggregation contract to aggregate across a variety of rollups. Once a deal is made, the CID and dealID is posted to L1. Users can leverage Zk-Snarks of the merklelized data as needed for state verification (beyond scope of this project). Retrieval deals will also allow us to optimize for efficient IO bandwith per user (IO requirements may differ based on DA usecase).
The end implementation of this project, will be a plug-and-play implementation that can be attached to a batcher in a Rollup architecture as a simple replacement for storing the data to an L1. The desire is to abstract any filecoin specific concepts (such as deals. If needed, implementations of precompiles for EVM based rollups can be implemented to automatically do deal construction and retrieval form L2 rollups (though this requires some benchmarking on performance). The non-determinism could also be an issue.
Impact
Pain Points
- Cost of Rollup settlement to L1. Currently sitting at over $200,000,000+ and expected to grow significantly with usage and ETH price volatility..
- Along with these, EIP-4844 doesn't differentiate between IO Bandwith needs, causing significant inefficiency in resource utilization of the consensus layer of Ethereum.
Benefits
Given the importance of Rollups as a strategy for L1 scaling, optimized usage of resources for Data availability will unlock both cheap transactions and the usefulness of ZK solutions that currently lack a mechanism to programatically store and access control the DA layer.
Market Impact
The hope is to introduce into the discourse, the usefulness of Filecoin as a Data Availability solution across the blockchain space.
Outcomes
The Ideal outcome is an example implementation of a Rollup that is posting batched L2 data to filecoin and aggregating it across multiple rollups, with optimized bandwith utilization.
Adoption, Reach, and Growth Strategies
Adoption
if the UX for integration of traditional L2s like Optimism is sufficiently simple, adoption would be strong, given a lack of effective alternatives and brand awareness. Along with a clear and significant cost savings. If Ethereums approach to EIP-4844 is successful, it puts the adoption of this data availability at risk, however, it's worth recognizing the there is significant challenges facing the alterations needed to the beacon chain, not to mention it can take many years for sharding to be implemented.
Target Audience
L2's and any other applications that are currently forced to use L1's as a data availability layer. Protocols like Mina Foundation may also have a use for short-term DA to manage iterative updates to Merkle Tree representations of data for ZK alterations and verification of information and implementation of complex ZK protocols. Engagement would be through word of mouth.
Onboarding
L2s and other L1 chains that have a need for Data Availability will be provided with high quality documentation and a dockerized version of the software for running version of the software.
Development Roadmap
Total Budget Requested
Note: I will be completing the work over weekends, so have set the completion date accordingly (2 full days per week)
Milestone # | Description | Deliverables | Completion Date | Funding |
---|---|---|---|---|
Initial Research and Architecture | The initial calculations of cost for L2s and other users for storing data via storage deals, architectural diagrams of points of integration across L2 Bather software, and mechanism for commitment of data to L1 for finality and value exchange related to bridging | An Architecture Diagram, research writeup and code stubbing | 40 hours (3-4 weeks) | $10,000 |
Limited POC | A working proof of concept where a batcher can post data to filecoin | A video demo along with github repo | 80 hours (8 weeks) | $15,000 |
Maintenance and Upgrade Plans
- Will strive to keep this an open source project, where contributions and maintenance can be a community driven approach. I will provide contribution guidelines.
- I plan to also work on a Beta Release, to extend the work outlined in this grant proposal. Would love if Filecoin can provide continued support to that end.
Team
Team Members
Kartik Chopra
Team Member LinkedIn Profiles
Team Website
Relevant Experience
Kartik possesses a computer science degree from the University of Waterloo, and was previously a Cyber Security Engineer at the Department of National Defence in Canada and a Security engineer at ISARA. He currently works on MEV Infrastructure as a founding engineer. His experience is in Smart Contract Development, Cryptography research, Protocol Engineering, and has a deep understanding of Geth. He's also graduated from business school with a Finance and Entrepreneurship focus. He also has extensive experience in the ZK blockchain community, having contributed extensively in the Mina ecosystem, which would help significantly in understanding the use cases for ephemeral and programable data availability on Filecoin for chains like Mina and Optimism.
Team code repositories
Github Page - Emergent Reputation Personal Github
Additional Information
- Learned about it Open Grants after competing in an EthGlobal Hackathon and winning a Filecoin award.
- [email protected] or over slack are the best places to communicate