P3-6.2: Adversarial, collusion, and Sybil test suite
Les mainteneurs répondent en général sous 1 jour
É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
- Domaine
- blockchain, security, testing
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
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
settleRecomputationis 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Peut-être pris @umermjd11 l’a pris il y a 3 jours. Ouvertedocumentation good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
InfiniteZeroFoundation/DevNet#285 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Update the 25 translated organisation READMEs to match the English versionPeut-être pris @mrCabez l’a pris il y a 1 jour. Ouvertegood first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
InfiniteZeroFoundation/DevNet#277 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Update the client-service guide to explain training and uploading separatelyPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
InfiniteZeroFoundation/DevNet#266 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
InfiniteZeroFoundation/DevNet#299 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Long run
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
InfiniteZeroFoundation/DevNet#298 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de InfiniteZeroFoundation/DevNet
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
aws-samples/sample-per-model-bedrock#639 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 86/100
awslabs/visual-asset-management-system#937 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
project-codeflare/codeflare-sdk#1195 ·
Les mainteneurs répondent en général sous 1 jour
-
Bump numpy dependencyOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
pandas-dev/pandas-stubs#2051 ·
Les mainteneurs répondent en général sous 1 jour