Review the fairness of the single signature selection algorithm for the non-recursive SNARK
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 38/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- rust
- Ambito
- blockchain, cryptography
Direzione di ricerca
Leggere innanzitutto proof_system/halo2_snark/clerk.rs e i test esistenti per select_valid_signatures_for_k_indices. Modellare e simulare le probabilità di selezione in base allo stake e alle lotterie vinte, quindi valutare l’influenza dei signer. Il lavoro è completato quando sono disponibili un report di fairness, un adeguamento se viene rilevato un bias e property test che coprano il risultato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Why
select_valid_signatures_for_k_indices picks the signatures that enter the proof by hash priority, then deduplicates by keeping the smallest hash per index. The algorithm is deterministic and tested, but its fairness across signers over many epochs has not been analyzed.
What
Analyze the selection algorithm for fairness and for manipulability, and adjust it if the analysis calls for it.
How
- Model the selection probability per signer as a function of the stake and of the number of won lotteries
- Check whether a signer can influence its own selection odds
- Simulate the selection over many epochs and report the distribution
- Propose an adjustment if a bias is found, and cover it with property tests (
proof_system/halo2_snark/clerk.rs)
Later
- Could we extend this work to the concatenation proof?
- Impact on https://github.com/IntersectMBO/mithril/issues/2913?
- 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