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

Research Area: Validity Proofs to Improve Interop Scalability #79

Open
tynes opened this issue Mar 4, 2024 · 2 comments
Open

Research Area: Validity Proofs to Improve Interop Scalability #79

tynes opened this issue Mar 4, 2024 · 2 comments

Comments

@tynes
Copy link
Contributor

tynes commented Mar 4, 2024

Can validity proofs be utilized to improve the scalability of the interop protocol? It isn't immediately clear if they can without first shipping the devnet and then seeing how much throughput the system can handle safely. After that, it should be more clear where the bottlenecks are and then we can benchmark various ways of integrating zkps into the protocol if necessary.

Right now it is assumed that there will be heavy load in unsafe to safe progression described in the derivation pipeline - the problem can be modeled using a graph. There will also be heavy load for the sequencer when accepting incoming transactions to build blocks.

These are two different problems and zkps can be applied for both.

For unsafe to safe progression, the sequencer could send proofs via the p2p network so that the derivation pipeline doesn't need to query for as much remote data. This idea has been explored in by adding a commitment to the L2 blocks themselves and sending the proofs via p2p. This solution doesn't require zkps but there could be a way to improve our current thinking with them.

For the sequencer accepting transactions, the a zkp could be given to the sequencer along with the user's transaction that removes the need for the sequencer to verify the existence of the initiating message before including in a block. This seems like a more promising application, although it isn't immediately clear if this would be a huge gain given the state of zkp proof generation times. Given slight spec changes, it may be possible to make the proof generation times fast enough for this to work. Instead of using an absolute log index, a tx index + relative log index can be used in the identifier and it will greatly speed up zkp proof generation time.

An example of using sp1 for the sort of proof that is required for these solutions can be found here: https://github.com/puma314/verified-logs/

We also need to be very mindful of the downsides if people are able to create fraudulent proofs. No user funds can ever be at risk if a fraudulent proof can be generated.

@GrapeBaBa
Copy link

@tynes
Copy link
Contributor Author

tynes commented Aug 27, 2024

@tynes This link https://github.com/ethereum-optimism/specs/blob/main/specs/interop/execution.md is invalid.

That has been deprecated by #259

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants