-
Notifications
You must be signed in to change notification settings - Fork 173
Open
Labels
Description
Description
The goal of this workstream is to implement a circuit for proof aggregation.
The work will be divided into two parts:
- Implement proof aggregation as a standalone circuit.
- Integrate it into the prover-service workflow.
Checklist
1. Implement proof aggregation as a standalone circuit
To develop the aggregated circuit, we will first generate a set of per-block proofs, store them in files, and then use those proofs as inputs for aggregation (only for the development phase).
- Examine
ProverClient::builder().mock()usage in SP1 adapter (I think this should be controlled by a separate flag) - Updated the
SP1HostandSP1Verifierimplementations to support SP1 v6. - Update
test_proof_generationto work with SP1 - Update
test_proof_generationto save generated proofs to files along with relevant metadata - Migrate
crates/full-node/sov-aggregated-proofto SP1 - Update
sov-aggregated-proofto aggregate the proofs saved bytest_proof_generation - Port the following algorithm to SP1:
https://github.com/Sovereign-Labs/sovereign-ibc-types/blob/main/src/aggregated_proof_verifier.rs - Extract the generic part of the circuit to rollup-interface
- Implement the above algorithm in
sov-aggregated-proof.
2. Integrate proof aggregation into the prover-service workflow
Once the standalone proof aggregation is working in sov-aggregated-proof, integrate the circuit in prover-service
- The proving service currently runs as an internal process within the full node. Consider separating it into its own node. In that setup, the proving service would act as an HTTP client communicating with an external proving server.
- TODO Create subissues for the above.
- Resolve the following issue:
https://github.com/Sovereign-Labs/sovereign-sdk-wip/issues/316
Relevant code from the old repository
Reactions are currently unavailable