Mining e RandomX
Proof-of-Work progettato per le normali CPU
Monero usa il Proof-of-Work come Bitcoin, ma con l'algoritmo RandomX (da novembre 2019). RandomX genera ed esegue programmi casuali su una macchina virtuale simile a una normale CPU, usando ~2 GB di memoria. Il risultato è che una normale CPU è efficiente quasi quanto un chip specializzato, e questo mantiene il mining decentralizzato.
Il Proof-of-Work in due frasi
Un miner assembla un blocco di transazioni e prova valori di un nonce finché l'hash del blocco non scende sotto un obiettivo. Trovare un hash del genere è difficile, verificarlo è facile. La difficoltà viene ricalcolata a ogni blocco così che un blocco compaia in media ogni 2 minuti.
Perché non SHA-256
Per SHA-256 esistono da tempo gli ASIC: chip che fanno solo questo e sono migliaia di volte più efficienti di una CPU. Il mining di Bitcoin è concentrato tra chi può comprare ASIC ed elettricità a basso costo. Monero ha puntato fin dall'inizio al mining su computer normali: prima CryptoNight (modificato più volte con hard fork per neutralizzare gli ASIC emergenti), poi RandomX.
Come funziona RandomX
- Chiave di epoca. Ogni 2048 blocchi viene scelta una chiave (l'hash di un blocco più vecchio). Da essa si costruiscono una cache da 256 MB e un dataset da ~2 GB.
- Programma casuale. Dall'intestazione del blocco viene generato un programma per la macchina virtuale RandomX: aritmetica intera, virgola mobile, salti condizionali, letture dal dataset.
- JIT. Il programma viene compilato nel codice macchina della CPU ed eseguito. Il risultato è l'hash.
Costruire un ASIC per RandomX significa in sostanza costruire un processore generico con una grande cache e memoria veloce, cioè una normale CPU. Il vantaggio dell'hardware specializzato è piccolo.
| Modalità | Memoria | Per chi |
|---|---|---|
| Fast mode | ~2080 MB | miner |
| Light mode | 256 MB | nodi che verificano i blocchi (più lenta, ma sufficiente) |
Pro e contro
+
- Chiunque abbia un computer normale può minare: l'hashrate è distribuito più ampiamente.
- P2Pool per Monero permette il mining in pool senza un operatore centrale.
- Anni di audit e praticamente nessun ASIC.
−
- Botnet: anche i computer infetti sono "normali CPU", e il mining di Monero è un obiettivo diffuso dei malware.
- La verifica dei blocchi è più lenta che con SHA-256.
- I grandi pool restano possibili: nel 2025 il pool Qubic ha controllato per breve tempo una grande quota dell'hashrate e ha causato riorganizzazioni, spingendo a discutere difese aggiuntive.