Tecnico › Rete

Mining e RandomX

Proof-of-Work progettato per le normali CPU

In breve

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

  1. 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.
  2. Programma casuale. Dall'intestazione del blocco viene generato un programma per la macchina virtuale RandomX: aritmetica intera, virgola mobile, salti condizionali, letture dal dataset.
  3. 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àMemoriaPer chi
Fast mode~2080 MBminer
Light mode256 MBnodi 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.