P3-6.2: Adversarial, collusion, and Sybil test suite
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- solidity
- Bereich
- blockchain, security, testing
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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)
- Vorherrschende Sprache
- Python
- Sterne
- 4
- Forks
- 7
- Ø Merge
- 3 T. 5 Std.
- Gemergte PRs (30 T.)
- 34
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Evtl. vergeben @umermjd11 hat das vor 4 Tagen übernommen. Offendocumentation good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
InfiniteZeroFoundation/DevNet#285 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Update the 25 translated organisation READMEs to match the English versionEvtl. vergeben @mrCabez hat das vor 1 Tag übernommen. Offengood first issue help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
InfiniteZeroFoundation/DevNet#277 · 2 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Update the client-service guide to explain training and uploading separatelyEvtl. vergeben @Santiagocetran hat das vor 1 Tag übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
InfiniteZeroFoundation/DevNet#266 · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
Few questions related to GI2 aggregatorEvtl. vergeben @Abidoyesimze hat das vor 1 Tag übernommen. Offen
InfiniteZeroFoundation/DevNet#307 · 1 Reaktion · 4 zugewiesene Personen ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug python
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
InfiniteZeroFoundation/DevNet#306 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in InfiniteZeroFoundation/DevNet
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
BCDA-APS/polar-bits#93 ·
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejectedEvtl. vergeben @Steve-20-ai hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] - ssh_config `Match tagged` statement always appliesEvtl. vergeben @AtharvRG hat das heute übernommen. OffenBug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
paramiko/paramiko#2715 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 9 Tagen
-
auto-rejected intake mcp-intake needs-salvage priority:high type:feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Ikalus1988/MisakaNet#4221 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag