Refactoring and enhancements for SNARK-friendly STM
I maintainer di solito rispondono entro 2 giorni
@leepl37 ci sta già lavorando.
Dal 10/3/2026.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 32/100
- Tipo di issue
- Refactoring
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- rust
- Ambito
- blockchain, cryptography
Direzione di ricerca
Inizia da mithril-stm/src/protocol/participant/signer.rs alle righe di gestione di RNG indicate, quindi esamina la struttura della libreria STM e i relativi test di compatibilità CPU/circuit. L’issue comprende diverse iterazioni, tra cui refactoring delle voci di registrazione, gestione degli errori, opzioni per le chiavi di verifica e le firme e calcolo del target della lottery; è completata quando gli elementi selezionati della checklist sono implementati e coperti dai test pertinenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Why
The STM library has accumulated structural debt as SNARK support was introduced alongside the existing concatenation proof system.
What
Perform targeted refactorings and enhancements across the STM library to improve separation of concerns, test efficiency, API readiness for SNARK signing, and overall code hygiene.
How
Current iteration
- Better RNG support for RNG in STM protocol signer (https://github.com/input-output-hk/mithril/blob/main/mithril-stm/src/protocol/participant/signer.rs#L61-L62)
Following iteration
- Enhance error handling with Midnight zk library (need new version of Midnight zk released)
- Refactor
RegistrationEntryinto struct with fields - Refactoring
ClosedRegistrationEntry(To avoid having double options for vk and stake/lottery target value, use aClosedRegistrationEntryForConcatenationand aOption<ClosedRegistrationEntryForSnark>) - Refactor tests for CPU/circuit compatibility (Create a dedicated module for CPU/non-recursive circuit compatibility tests)
Later
- Get rid of Options for SNARK verification keys and signatures
- Optimize computation of Lottery Target Value with Binomial Series?
(1-phi_f)^w = 1 - w * phi_f + w(w-1) * (phi_f^2) / 2! - w(w-1)(w-2) * (phi_f^3) / 3! + ...
- Lingua principale
- Rust
- Stelle
- 155
- Fork
- 52
- Merge medio
- 2g 17h
- PR unite (30g)
- 37
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di IntersectMBO/mithril
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
IntersectMBO/mithril#1605 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
-
spike :satellite:
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
IntersectMBO/mithril#3701 ·
I maintainer di solito rispondono entro 2 giorni
-
Publish a DNSLink record of the immutable archives IPNS name in the Mithril networks DNS zonesForse già presa @jpraynaud l’ha presa 2 giorni fa. Apertafeature :rocket:
IntersectMBO/mithril#3700 · 1 assegnatario ·
I maintainer di solito rispondono entro 2 giorni
-
feature :rocket:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
IntersectMBO/mithril#3699 ·
I maintainer di solito rispondono entro 2 giorni
-
feature :rocket:
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
IntersectMBO/mithril#3698 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di IntersectMBO/mithril
Issue simili
-
comp-formats
Difficoltà 2/5 Mezza giornata Idoneità per principianti 64/100
ClickHouse/ClickHouse#131694 ·
I maintainer di solito rispondono entro 1 giorno
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Copperpour/Copperpour#500 ·
I maintainer di solito rispondono entro 1 giorno
-
state:triage-needed
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno