Review the fairness of the single signature selection algorithm for the non-recursive SNARK
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- blockchain, cryptography
Línea de trabajo
Lea primero proof_system/halo2_snark/clerk.rs y las pruebas existentes para select_valid_signatures_for_k_indices. Modele y simule las probabilidades de selección en función del stake y de las loterías ganadas, y después evalúe la influencia de los signer. El trabajo estará terminado cuando haya un informe de fairness, un ajuste si se detecta sesgo y pruebas de propiedades que cubran el resultado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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?
- Lenguaje dominante
- Rust
- Estrellas
- 155
- Forks
- 52
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 37
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de IntersectMBO/mithril
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
IntersectMBO/mithril#1605 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
-
spike :satellite:
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
IntersectMBO/mithril#3701 ·
Los mantenedores suelen responder en 2 días
-
Publish a DNSLink record of the immutable archives IPNS name in the Mithril networks DNS zonesPosiblemente ocupada @jpraynaud la tomó hace 2 días. Abiertofeature :rocket:
IntersectMBO/mithril#3700 · 1 asignado ·
Los mantenedores suelen responder en 2 días
-
feature :rocket:
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
IntersectMBO/mithril#3699 ·
Los mantenedores suelen responder en 2 días
-
feature :rocket:
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
IntersectMBO/mithril#3698 ·
Los mantenedores suelen responder en 2 días
Todos los issues de IntersectMBO/mithril
Issues similares
-
[Bug]: opencode_go chat route drops reasoning_effort (even 'none'), while the same endpoint honors it via custom_llm_provider=openaiPosiblemente ocupada @arvindkumar-ship-it la tomó hoy. Abiertollm translation
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
BerriAI/litellm#51871 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
comp-formats
Dificultad 2/5 Medio día Aptitud para principiantes 64/100
ClickHouse/ClickHouse#131694 ·
Los mantenedores suelen responder en 1 día
-
cli: `execCargoMetadata` decodes stdout per chunk, corrupting non-ASCII paths across pipe boundariesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
C-Bug S-Needs-Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
bevyengine/bevy#26558 ·
Los mantenedores suelen responder en 2 días