Report progress events from STM during long proving sequences

Open
#3,426 3 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust

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.

Description

cryptography :closed_lock_with_key: to-groom :thinking:

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
Dominant language
Rust
Stars
155
Forks
52
Avg merge
2d 17h
Merged PRs (30d)
37

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from IntersectMBO/mithril

All issues in IntersectMBO/mithril

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.