P3-6.2: Adversarial, collusion, and Sybil test suite
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- solidity
- Lĩnh vực
- blockchain, security, testing
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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)
- Ngôn ngữ chính
- Python
- Star
- 4
- Fork
- 7
- Merge trung bình
- 3 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 34
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của InfiniteZeroFoundation/DevNet
-
ROADMAP.md: refresh "What is still open for P3" (several items were fixed in October)Có thể đã có người làm @umermjd11 đã nhận 3 ngày trước. Đang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
InfiniteZeroFoundation/DevNet#285 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Update the 25 translated organisation READMEs to match the English versionCó thể đã có người làm @mrCabez đã nhận 1 ngày trước. Đang mởgood first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
InfiniteZeroFoundation/DevNet#277 · 2 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Update the client-service guide to explain training and uploading separatelyCó thể đã có người làm @Santiagocetran đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
InfiniteZeroFoundation/DevNet#266 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
InfiniteZeroFoundation/DevNet#299 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Long run
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
InfiniteZeroFoundation/DevNet#298 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của InfiniteZeroFoundation/DevNet
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
pytest-dev/pytest-html#1085 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 90/100
pollen-robotics/reachy_mini#1527 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Variadic arguments that aren't objects are passed as objects (stringWithFormat_ with %d / %f)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
A seed and its negative give the same run, so realizations of a negative seed repeat each otherĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 1 ngày