IntersectMBO / IntersectMBO/mithril
Report progress events from STM during long proving sequences
- Dominant language
- Rust
- Stars
- 154
- Forks
- 51
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 38
Description
## Why
`mithril-stm` is silent. An aggregation that loads the SRS, loads or computes two sets of circuit keys and produces a certificate proof followed by a recursive proof can run for a long time with no visible progress, which makes an operator unable to tell a slow run from a stuck one.
## What
Expose progress events from the long running operations, so a caller can log them or surface them as metrics.
## How
- [ ] Define the event set covering the SRS load, the key load or computation, and the proving steps
- [ ] Expose the events through a channel or a callback, with a no-op default
- [ ] Emit them from `aggregate_signatures_with_type` (`protocol/aggregate_signature/clerk.rs`) and from the IVC prover (`proof_system/ivc_halo2_snark/proof.rs`)
- [ ] Consume them in the aggregator logs
Contributor guide
Research direction
Start by reading aggregate_signatures_with_type in protocol/aggregate_signature/clerk.rs and the IVC prover in proof_system/ivc_halo2_snark/proof.rs. Trace the SRS load, circuit-key load or computation, certificate proof, and recursive proof steps to define the progress events and their delivery path. Done means callers can receive or ignore the events and aggregator logs consume them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography, observability
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100