Lock alpha scope, tracker auth, TOPLOC fraud verification, and deferred multi-tracker money-path work; supersede legacy fraud issues with ADR-0018. Co-authored-by: Cursor <cursoragent@cursor.com>
1.9 KiB
1.9 KiB
Status: ready-for-agent
10 — FRAUD: Penalty calibration wiring (forfeit + strike + ban)
What to build
End-to-end wiring: confirmed audit failure → atomic pending forfeiture + strike + reputation decay + audit-rate snap to max. Ensure payout cannot race penalty (ADR-0015). Document 19× deterrence math in validator README.
Code refs:
packages/validator/meshnet_validator/__init__.py—_slash_route(~102–134)packages/tracker/meshnet_tracker/server.py—_handle_billing_forfeit(~2429–2464)packages/tracker/meshnet_tracker/billing.py—forfeit_pending(~280–292), payout exclusion for banned (~3337–3344 in settlement loop)packages/validator/README.md— update 20× → 19× at p=0.05
Per ADR-0018: full pending forfeiture is primary penalty; ×0.8 is routing decay per strike, not partial forfeit.
Test-first
- Red: integration from issue 34 — extend with multi-hop blame wallet from issue 07.
- Green: node with pending balance → audit fail → pending zero, strike++, banned on 3rd, excluded from next settlement.
- Settlement loop skips banned wallets (~3337–3344).
Acceptance criteria
- Audit failure triggers forfeiture + strike in one tracker transaction
- Banned nodes excluded from
payables/ settlement - Validator uses authenticated forfeit endpoint (issue 02)
- README:
L > 19× gat p=0.05; pending balance = collateral - Integration test: 60-request fraud scenario → ban within threshold
ADR links
- ADR-0018
- ADR-0015
- Research: research-verifiable-inference.md §1.1
Blocked by
07-fraud-commitment-bisection-blame.md08-fraud-reputation-model-persistence.md02-a2-unified-auth-boundary.md