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>
5.5 KiB
ADR-0018: Fraud detection, verification, and reputation
Status: Accepted
Context
ADR-0003 established optimistic sampling with stake slashing; ADR-0015 replaced stake with pending-balance forfeiture as collateral. Pre-alpha audits identified two distinct fraud types:
- Correctness fraud — wrong model, layer-skipping, garbage outputs.
- Accounting fraud — inflated token counts or shard-span work units reported by nodes.
The validator today compares final text only and always blames the last hop (_final_text_node in packages/validator/meshnet_validator/__init__.py ~137–140) — wrong for multi-hop pipelines.
Research (.scratch/alpha-hardening/research-verifiable-inference.md, 2026-07-04) grounds the alpha design in deployed patterns (Prime Intellect TOPLOC, Hyperbolic PoSP, Gensyn Verde blame patterns). This ADR is the flagship decision record for alpha hardening.
Decisions
1. Anchor technique: optimistic accept + teacher-forced audit
- Default audit probability p ≈ 5% — a budget target, not a hard cap. Anomalies, low reputation, and disputes escalate rate; veterans floor at ≥ 2% (research §6, §8).
- Deterrence condition: at p = 0.05, penalty L must exceed L > g·(1−p)/p ≈ 19× per-job gain g (research §1.1). Full pending forfeiture is the primary penalty; three strikes → ban. The ×0.8-per-strike multiplier applies to routing/payout weight (reputation decay), not to the forfeiture amount.
- Single-tracker alpha: the tracker (or a designated reference node) is the auditor — no verifier market, no verifier's dilemma (research §1.1).
2. Detection primitive: ADOPT TOPLOC
pip install toploc(MIT, PrimeIntellect-ai/toploc) for activation fingerprint commit + verify (research build-vs-adopt table).- Teacher-forced prefill re-verification — compare in logit/activation space with tolerances, never free-running token equality (research §2).
- Pin one canonical precision/quantization per served model; TOPLOC detects precision drift by design.
- Per-hop boundary fingerprints extend TOPLOC's final-hidden-state encoding for multi-hop blame (research §1.2, §8 layer 1).
3. Commit layer: on-demand activation commitments
- Nodes commit compact TOPLOC-style fingerprints of output boundary activations per hop when selected for audit (on-demand, not every request — lower serving latency; brief retention window for recent activations).
- Commitments are audit pins, not proofs — correctness requires independent recomputation (research §4).
4. Blame layer: hop-boundary bisection (adapt Verde pattern)
On audit failure:
- Referee (tracker) teacher-forces claimed token sequence through reference model.
- Compare committed hop-boundary fingerprints to reference at each cut-point.
- First divergent hop is the culprit — fixes
_final_text_nodelast-hop-only bug. - Full interactive Truebit/Verde on-chain game and bitwise RepOps kernels: roadmap-only (research §1.2, §9).
5. Accounting fraud: tracker-authoritative metering
- Token counts come from the tracker's proxied stream/non-stream response parsing (
server.py~1890–1943), not node self-reports. - Work units derive from tracker-assigned shard span at route construction (
server.py~1776–1782), not node-declared ranges at billing time. - See issue H2.
6. Reputation model (graduated, persisted)
Reputation derives only from tracker-verified audit outcomes + uptime/latency — never peer ratings (research §6, collusion surface).
| Signal | Effect |
|---|---|
| Clean audits | Slow reputation build; higher routing weight |
| Strike | ×0.8 routing multiplier per strike (graduated decay) |
| Failed audit | Full pending forfeiture + strike; audit rate → maximum |
| Ban (3 strikes) | Registration rejected; excluded from routes; pending never paid |
| New/low reputation | Elevated audit rate (20–30% target for newcomers) |
| Inactivity | Reputation decay |
Persist strike/ban/reputation in SQLite alongside billing (issue A1/A5). Probation (first N jobs unpaid) retained as re-entry cost.
7. Passive tripwires
Perplexity/repetition/truncation heuristics on all traffic raise audit rate without direct punishment (research §8 layer 5).
8. Roadmap-only (explicitly NOT alpha)
- zkML proofs of LLM inference (research §1.3)
- GPU TEE attestation on consumer cards (research §1.4)
- Fully trustless Verde interactive games + RepOps bitwise kernels (research §9)
- Decentralized verifier markets
- Peer-rating reputation (EigenTrust)
- PoW as correctness proof — registration-time hardware attestation only, optional (research §4)
Consequences
- Validator must be rewired: TOPLOC verify, hop blame, tracker-authoritative events — not string compare on final text alone.
- Threshold calibration requires an honest-noise corpus across the volunteer fleet before production thresholds (research §8).
- ADR-0003 remains historical; penalty mechanics follow ADR-0015 + this ADR.
- Implementation order: auth + persistence → accounting → TOPLOC → bisection → reputation routing (
.scratch/alpha-hardening/README.md).
Related
- Research:
.scratch/alpha-hardening/research-verifiable-inference.md(§8 recommended scheme, §9 roadmap, build-vs-adopt table) - ADR-0015 (forfeiture collateral)
- ADR-0016 (alpha scope)
- ADR-0017 (validator/forfeit auth)
- Issues:
06-fraud-toploc-integration.mdthrough10-fraud-penalty-calibration-wiring.md