IntersectMBO / IntersectMBO/mithril

Report progress events from STM during long proving sequences

Open
#3,426 0 comments 0 reactions 0 assignees View on GitHub
cryptography :closed_lock_with_key: to-groom :thinking:
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.