-
-
Notifications
You must be signed in to change notification settings - Fork 186
Open
Labels
Description
Anti-Double-Mining Fix (2026-03-16)
Problem
A single machine could run two miner instances with different wallet names and earn double rewards. The hardware binding check catches different hardware_ids, but if the old and new miners compute slightly different hardware hashes (different field names in device payload), both pass binding and enroll in the same epoch.
Root Cause
Found on the Mac Pro trashcan — an old v2.5 miner (auto-generated wallet x86_64_c03ce...RTC) and a new v3 miner (wallet trashcan-d500-scott) were both attesting and enrolling simultaneously on the same hardware.
Fix
Added MAC address overlap detection at enrollment time in submit_attestation():
- When a wallet enrolls in an epoch, compute its MAC hashes
- Query
miner_macs+epoch_enrollfor any OTHER wallet sharing MACs in the same epoch - If overlap found: set enrollment weight to 0.0 — one machine, one reward
- Log the duplicate for auditing:
[DOUBLE-MINE] wallet shares MACs with [other_wallet]
The first wallet to enroll keeps its weight. The duplicate gets zero.
Deployed
All 3 attestation nodes updated and restarted.
Reactions are currently unavailable