Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configurable Data Availability Layer using FVM #1677

Closed
ckartik opened this issue Nov 28, 2023 · 3 comments
Closed

Configurable Data Availability Layer using FVM #1677

ckartik opened this issue Nov 28, 2023 · 3 comments
Assignees

Comments

@ckartik
Copy link

ckartik commented Nov 28, 2023

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

Kartik's Linkedin

Team Website

Github Page

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.
  • ckrish@live.com or over slack are the best places to communicate
@ErinOCon
Copy link
Collaborator

Hi @ckartik, thank you for your proposal and for your interest in our grant program. This proposal is still under consideration and has progressed to our final review round.

Please note that a final update may not be available until next year due to the holiday.

@ErinOCon
Copy link
Collaborator

Hi @ckartik, I hope you are doing well! Will you be submitting a new proposal based on recent discussions with community members?

@ckartik
Copy link
Author

ckartik commented Mar 29, 2024

Yes, will be making a new one @ErinOCon

@ErinOCon ErinOCon closed this as completed May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants