Complete the alpha-hardening Ralph task set, including tracker billing/accounting guards, validator fraud-audit primitives, wallet binding proof support, documentation runbooks, and updated tests. Verification: .venv/bin/python -m compileall -q packages tests; .venv/bin/python -m pytest -q --tb=short (313 passed, 3 skipped, 1 failed: tests/test_mining_cli.py::test_legacy_start_without_port_uses_next_available_port because meshnet-node pid 1263451 is already listening on port 7000).
1.8 KiB
1.8 KiB
Status: done
09 — FRAUD: Reputation-weighted routing + adaptive audit rate
What to build
Wire reputation into route selection and audit sampling. Default network audit budget ≈5% — not a cap. New/low-reputation nodes: 20–30% audit rate; veterans: 2–3% floor ≥2%. Tripwires escalate rate without direct punishment.
Code refs:
packages/tracker/meshnet_tracker/server.py— route selection_select_route,_effective_throughput(~1747, routing helpers)packages/validator/meshnet_validator/__init__.py—sample_rate=0.05- Research:
.scratch/alpha-hardening/research-verifiable-inference.md§1.1, §6, §8 layers 2–4
Audit selection must be unpredictable at request time (tracker RNG after commitment window opens).
Test-first
- Red: uniform 5% sample regardless of reputation — test expects higher rate for low-reputation wallet.
- Green: budget balancer keeps fleet-wide average ≈ configured target.
- Routing prefers higher reputation among equal throughput candidates.
Acceptance criteria
- Per-wallet audit probability function of reputation (newcomer high, veteran low, floor ≥2%)
- Fleet-wide audit budget configurable (~5% default target); over ≥1000 requests with fixed seed, measured fleet audit rate within ±1.0 percentage point of configured target (e.g. 4.0–6.0% at 5% default)
- Route scoring includes reputation multiplier (earnings scale with tenure)
- Passive tripwire flags (perplexity/repetition) bump audit rate only
- Tests: deterministic seed for sampling distribution checks
ADR links
Blocked by
08-fraud-reputation-model-persistence.md