Files
neuron-tai/.scratch/alpha-hardening/issues/10-fraud-penalty-calibration-wiring.md
D.Popov 68e057209c Add alpha-hardening ADRs and issue plan from pre-release audit.
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>
2026-07-04 23:12:09 +03:00

1.9 KiB
Raw Blame History

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 (~102134)
  • packages/tracker/meshnet_tracker/server.py_handle_billing_forfeit (~24292464)
  • packages/tracker/meshnet_tracker/billing.pyforfeit_pending (~280292), payout exclusion for banned (~33373344 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

  1. Red: integration from issue 34 — extend with multi-hop blame wallet from issue 07.
  2. Green: node with pending balance → audit fail → pending zero, strike++, banned on 3rd, excluded from next settlement.
  3. Settlement loop skips banned wallets (~33373344).

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× g at p=0.05; pending balance = collateral
  • Integration test: 60-request fraud scenario → ban within threshold

Blocked by

  • 07-fraud-commitment-bisection-blame.md
  • 08-fraud-reputation-model-persistence.md
  • 02-a2-unified-auth-boundary.md