Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#154 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@robertocarlous y travaille déjà.

Depuis le 5/10/2026.

  • #218 par @robertocarlous — ouverte

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
solidity

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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)
Langage dominant
Python
Étoiles
4
Forks
7
Merge moyen
3 j 4 h
PR mergées (30 j)
34

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de InfiniteZeroFoundation/DevNet

Toutes les issues de InfiniteZeroFoundation/DevNet

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.