Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

P3-6.2: Adversarial, collusion, and Sybil test suite

Abierto
#154 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@robertocarlous ya está trabajando en esto.

Desde el 5/10/2026.

  • #218 de @robertocarlous — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
solidity

Línea de trabajo

The issue specifies a Forge test file, P3Adversarial.t.sol, and names PRs #146 and #149 as prerequisites. Read those contracts after they are merged, then map each listed collusion, Sybil, liveness, and dispute scenario to its relevant contract behavior. Done means every listed scenario has an attack narrative comment and the full test suite passes.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Context

Raised as a blocker in discussion #150. Roadmap ref: P3-6.2.

The adversarial test suite has not been started. It cannot be written meaningfully until PRs #146 (S1/S2/S5/S6 slashing) and #149 (S4 dispute second phase) are reviewed and merged — those contracts are what the tests exercise. Once they land, estimated one week to produce the full scenario suite.

Scope

The test suite should cover at minimum:

Collusion scenarios

  • Model owner + aggregator collude to suppress a dispute: owner steers the recomputation subgroup (tests the BL-11 commit-reveal fix from issue #151)
  • Auditor colluding with aggregator to pass a bad T2 model: S1 slash path

Sybil scenarios

  • Single operator spinning up multiple validators under different keys to capture a subgroup
  • Sybil validators all voting the same way in an audit to pass a bad model

Liveness attack scenarios

  • Aggregator consistently missing T1/T2 submission deadlines (S2 slash)
  • Auditor consistently missing vote deadlines (S1 slash)
  • Recidivism escalation to full slash + jail (S5)
  • No-participation counter threshold (S6)

Dispute lifecycle edge cases

  • Dispute raised, recomputation confirms original result (settleRecomputation(confirmed=true)) — disputer bond forfeited
  • Dispute raised, recomputation overturns result (settleRecomputation(confirmed=false)) — aggregator slashed, disputer bond returned
  • Resolution window expires before settleRecomputation is called (expireDispute) — disputer bond partially refunded
  • Frivolous dispute (disputer forfeits bond)

Acceptance criteria

  • Forge test file P3Adversarial.t.sol (or equivalent) covering all scenarios above
  • All tests pass with PRs #146 and #149 merged
  • Scenarios are documented with attack narrative comments so future readers understand what is being tested

Blocked on

PRs #146 and #149 must be reviewed and merged before this work can begin.

Related

  • Discussion #150
  • PR #146 (S1/S2/S5/S6 slashing)
  • PR #149 (S4 dispute second phase)
  • Issue #151 (BL-11 commit-reveal)
Lenguaje dominante
Python
Estrellas
4
Forks
7
Merge medio
3 d 5 h
PR fusionados (30 d)
34

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de InfiniteZeroFoundation/DevNet

Todos los issues de InfiniteZeroFoundation/DevNet

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.