In un articolo precedente abbiamo presentato brevemente le criptovalute; ora parliamo del mining vero e proprio.
Il mining è uno dei termini più mistici del mondo crypto, o meglio mistificati, perché dietro non c’è nulla di particolarmente complicato. In molti sanno che con il mining si possono guadagnare soldi, ed è soprattutto per questo che sempre più persone provano a entrare nel mondo del mining di criptovalute.
All’inizio bisogna prendere confidenza con termini piuttosto ostici, ma dopo un po’ si vede che l’utente comune, oltre a scaricare e configurare un programma, non deve fare molto altro. Qui di seguito provo a spiegare il mining di criptovalute in modo comprensibile.
Le criptovalute sono in sostanza mezzi di pagamento dotati di valore, paragonabili al denaro che usiamo tutti i giorni (ad esempio euro, dollaro o sterlina). Due partecipanti del mondo crypto vogliono quindi inviarsi e ricevere criptovaluta a vicenda.

Le transazioni in criptovaluta devono essere registrate, altrimenti non si saprebbe chi possiede quanto in un dato momento. Inoltre la rete non è centralizzata ma peer-to-peer: non esiste quindi un’entità centrale, come la banca emittente della carta, che tenga i conti. Servono perciò partecipanti che confermino le transazioni. Nelle reti crypto si chiamano miner.
Se dunque un utente vuole inviare criptovaluta a un altro, la transazione va confermata. La conferma consiste soprattutto nel fatto che i miner verificano il saldo del mittente e in base a questo decidono se sia autorizzato a inviare la criptovaluta.
Se chiunque potesse confermare transazioni in qualsiasi momento, ci sarebbe il rischio che miner malintenzionati inondino la rete rendendola del tutto inaffidabile. È un pericolo reale, perché molti truffatori all’interno della rete potrebbero attaccare il sistema e causare danni irreversibili. A questo si collega anche l’attacco del 51%, di cui però qui non mi occupo.

Il punto centrale è quindi che la conferma delle transazioni deve essere resa relativamente difficile. Serve perché un truffatore non possa modificare le transazioni passate. Il risultato si ottiene regolando la difficoltà di mining: per confermare ogni blocco di transazioni i miner devono risolvere un problema di calcolo complesso.
Nel caso di Bitcoin questo significa calcolare il valore di una funzione di hash. Si prendono i dati delle transazioni contenute nel blocco, li si mescola con un valore casuale e da questo input si calcola un valore di hash.
Il valore calcolato è del tutto casuale, ma deve soddisfare una condizione; se non la soddisfa, bisogna ricalcolare con un valore casuale diverso. Poiché l’output è imprevedibile, occorre provare moltissime volte. Quante, lo stabilisce la difficoltà di mining. Proprio perché bisogna calcolare così tante volte, un miner ha bisogno di un’enorme capacità di calcolo.
Un utente malintenzionato potrebbe provare a ricalcolare a ritroso i dati delle transazioni e a costruire una nuova catena, ma dovrebbe riconfermare ogni blocco e superare la blockchain costruita dagli utenti onesti. La probabilità che ci riesca è molto bassa e diminuisce al crescere del numero di miner onesti.
È esattamente questo il problema dei mining pool, che concentrano grandi capacità di calcolo in un unico punto, o dei produttori cinesi dell’hardware specializzato.
I mining pool sono stati pensati per gli utenti che non hanno capacità di calcolo sufficiente a confermare un blocco di transazioni in tempi ragionevoli. Possono collegarsi a un server di questo tipo, e la potenza di calcolo aggregata di molti piccoli contributi può competere con le enormi crypto farm che, nel caso di Bitcoin, gestiscono farm di ASIC.
Così però le reti crypto, pensate proprio per la decentralizzazione, finiscono per centralizzarsi, e il rischio di attacchi del 51% aumenta.
Con le farm di ASIC i problemi sono numerosi. Con l’arrivo di Bitcoin la produzione di ASIC (circuiti integrati a funzione specifica) ha ricevuto un impulso enorme, soprattutto in Cina. Sono computer del tutto diversi da quelli davanti a cui ci sediamo. Si possono usare solo ed esclusivamente per il mining di Bitcoin, grazie alla loro capacità di calcolare rapidamente la funzione di hash di cui sopra. È un problema soprattutto perché non tutti possono accedere a questi miner ASIC alle stesse condizioni.
I miner ASIC si possono ordinare in vari negozi online presso i produttori cinesi. Non c’è alcuna garanzia che, quando finalmente il tuo dispositivo ASIC arriva alla porta, tu possa minare alle stesse condizioni di prima. Questo può diventare particolarmente problematico quando la rete Bitcoin dimezza la quantità distribuita ai miner (halving), perché a quel punto il dispositivo lavora con un tasso di rendimento completamente diverso.
Per questo il predominio dei miner ASIC andava scardinato. Ethereum, la criptovaluta più apprezzata dopo Bitcoin, richiede un algoritmo di mining un po’ diverso.
Nel mining di Ethereum bisogna tenere in memoria grafi aciclici diretti (DAG, Directed Acyclic Graph) di diversi gigabyte, il che al momento rende impossibile il mining basato su ASIC. Restano quindi il mining con scheda video e con CPU.
Il mining di Ethereum richiede un’enorme potenza di calcolo, motivo per cui oggi si può partecipare solo con schede video professionali. Questo ha apparentemente risolto il problema degli ASIC di Bitcoin, perché in teoria chiunque può avere una scheda video. La distribuzione delle schede video nel mondo è molto più uniforme di quella dei miner ASIC, e ciò ha ridotto con successo la probabilità di attacchi del 51%.
Domande frequenti
A che cosa servono i miner nelle reti crypto?
I miner confermano le transazioni, dato che il sistema è decentralizzato e non esiste una banca centrale che se ne occupi: verificano se il mittente sia autorizzato a inviare l’importo.
Perché per il mining servono dispositivi ASIC o schede video?
Perché la conferma delle transazioni è un problema matematico difficile e oneroso sul piano computazionale (il calcolo di una funzione di hash), che si può affrontare in modo sensato solo con hardware specializzato potente o con schede video.
Contenuti collegati
Sei d’accordo oppure la vedi diversamente? Dillo nei commenti!