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

Deal with frequent breaking changes to SP1 #3

Open
S1nus opened this issue Jan 15, 2025 · 0 comments
Open

Deal with frequent breaking changes to SP1 #3

S1nus opened this issue Jan 15, 2025 · 0 comments

Comments

@S1nus
Copy link
Owner

S1nus commented Jan 15, 2025

We want celestia-recursive-sync to upgrade along with SP1 updates, so it can benefit from performance improvements. However, SP1 updates break the recursion capability: you cannot verify an old SP1 stark proof inside of a new SP1 stark proof.

On this line, celestia-recursive-sync performs recursive verification of the previous SP1 STARK.

The fix for verifying an old version in a new version is to use groth16 as an intermediate step when we need to perform recursion of heterogenous versions of SP1.

Create logic in the program to accept a groth16, use this SP1 verifier Rust crate, and patch it with the SP1 bn254 precompile.

Start the migration by verifying this proof in the newest version of SP1, and continue the constant computing of recursive consensus proofs

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

1 participant