Bitcoin mining: Come funziona il mining?

Abbiamo parlato in altri articoli del blog delle similitudini tra l’oro e Bitcoin. La figura dei minatori di bitcoin è un’ulteriore conferma di questa parallelismo voluto da Satoshi.

Come i minatori dell’oro estraggono l’oro dalla terra, i minatori di bitcoin investono risorse e energia per estrarre un bene prezioso usato come denaro. Anziché esserci una zecca che conia il denaro, l’estrazione di nuovi bitcoin è affidata all’iniziativa di chi, volontariamente, intraprende l’attività di mining. Trovare ed estrarre oro è un’attività dispendiosa e faticosa, intrapresa solitamente da privati. Anche il mining di bitcoin è un processo di creazione di denaro frutto dell’iniziativa di agenti di mercato. Ed anche nel mining bisogna utilizzare energia, oltre ad avere una sana vena imprenditoriale.

Chi sono i miner? 

La rete bitcoin è formata da nodi, ovvero, computer in comunicazione tra loro grazie al software open source di Bitcoin.

I nodi possono avere diverse funzioni: ci sono nodi che validano solo la regolarità delle transazioni, ci sono nodi che propagano soltanto le transazioni verso altri nodi. I nodi di interesse in questo articolo sono detti “miners” e hanno il compito di creare la catena di blocchi, detta blockchain, dove sono registrate per sempre tutte le transazioni del network di Bitcoin.

Ma cosa fanno i minatori nello specifico? 

Cosa fanno i miner?

I nodi minatori sono privati cittadini o aziende che investono ingenti risorse per risolvere un problema matematico che è risolvibile solo andando per tentativi.

Chiunque può fare mining di denaro bitcoin, tuttavia bisogna capire che per avere successo con questa attività, bisogna trattarlo come una vera e propria attività d’impresa. Non lo si può considerare un gioco o un passatempo. Vediamo cosa è necessario avere:

  • Devi acquistare una strumentazione specifica per il mining, di solito schede video per videogame possono bastare. Ma per aumentare le probabilità di vincere bitcoin ora esistono macchine molto potenti (ASICS) progettate appositamente per calcolare l’equazione SHA256 di Bitcoin. Queste macchine hanno prezzi di migliaia di dollari.
  • Il secondo requisito è produrre o acquistare molta elettricità per alimentare i calcolatori e i relativi sistemi di raffreddamento. Il mining di queste macchine riscalda gli ambienti in cui sono installate e bisogna mantenere una temperatura ideale per salvaguardare l’integrità e la longevità delle macchine.
  • L’ultimo step è organizzare ore uomo per gestire la mining farm. Le miniere di bitcoin hanno anche personale impegnato nella manutenzione e sostituzione delle macchine, che, portate sempre al massimo della loro capacità di calcolo, deperiscono velocemente.

Tutto questo in concorrenza con tutti gli altri miner.

Una volta partite le operazioni, i tuoi calcolatori non fanno altro che calcolare in continuazione la stessa equazione (SHA-256), usando le transazioni dalla rete Bitcoin come dati e provano ad aggiungere un numero diverso all’equazione per verificare se il risultato è quello richiesto dal protocollo.

il risultato deve essere un numero esadecimale di questo tipo:

000000000000000000041a4e1c92831e9291407e6d79072f0d140c3ff44d11e0


Per esempio al primo tentativo la macchina che mina inserisce nell’equazione SHA-256 il numero 1 e guarda il risultato per verificare quanti zero ci sono davanti al numero. Al secondo tentativo ricalcola SHA-256, con lo stesso set di transazioni e  aggiunge il numero 2, al terzo tentativo aggiungere al set di transazioni il numero 3 e così via finché non ottiene un numero che inizia con gli zero davanti. Il risultato è puramente casuale. Questi sono numeri grandissimi, infatti, solo, circa, ogni 10 minuti uno dei calcolatori in giro per il mondo trova il numero con la quantità di zeri davanti richiesti dal protocollo in quel preciso momento.

Quando un minatore ha trovato una soluzione valida espone a tutta la rete di computer la soluzione al blocco di transazioni. Tutti i minatori verificano immediatamente e facilmente perchè il risultato è replicabile e provabile matematicamente. Le transazioni all’interno del blocco minato sono sicuramente valide e possono essere aggiunte alla catena di blocchi.

Cerchiamo di andare con ordine e definire meglio le loro funzioni.

Il minatore è un nodo, un utente che installa bitcoin sul suo computer ma oltre a validare una transazione e propagarla, si prende anche l’onere di spendere energia che permette di risolvere il puzzle matematico alla base del permesso di scrivere in blockchain.

Questi particolari nodi mettono a disposizione delle risorse energetiche per vincere la ricompensa e simultaneamente garantiscono il sistema contro la doppia spesa senza un coordinatore centralizzato.

Le funzioni dei nodi

Aggregare le transazioni valide e creare un nuovo blocco candidato 

Dopo l’invio della tua transazione i nodi più vicini verificano immediatamente se hai effettivamente i fondi che vuoi spendere. Se questa verifica viene passata, la transazione è messa in coda per essere processata dai minatori. Un minatore raccoglie la nostra transazione e la unisce ad altre transazioni che viaggiano nell’etere, crea un blocco di transazioni candidato ad aggiungersi alla blockchain. A questo punto il ruolo del minatore è calcolare il numero che inizia con gli 0.

Muro difensivo di potenza di calcolo (Hash Rate)

Anche i minatori che non vincono i bitcoin dell’ultimo blocco hanno contribuito alla sicurezza di Bitcoin perché la quantità di hash power (potenza di calcolo) immessa nel sistema è completamente dedicata a controllare che non ci siano transazioni fasulle. Questo muro difensivo riesce a proteggere contro il double spending e contro malintenzionati che vogliono corrompere le verità scritte in blockchain.

In via teorica ogni minatore può avere un set di transazioni diverso, il primo minatore che riesce a trovare la soluzione con le transazioni da lui scelte ha il diritto di aggiungere il suo blocco candidato alla blockchain. Quando la rete si è accordata su quale sia l’ultimo blocco valido riparte la gara per trovare il prossimo blocco

Il sistema si auto-regola quando la potenza di calcolo immessa dal sistema è tanto alta che vengono trovati blocchi validi in meno di 10 minuti, la difficoltà del puzzle matematico viene alzata aumentando il numero di zeri davanti alla soluzione da trovare. Mentre nel caso in cui la potenza di calcolo nel sistema è troppo poca e vengono trovati nuovi blocchi solo ogni 15 minuti il sistema facilita la soluzione richiedendo ai minatori di trovare un numero con meno zeri davanti. Questo meccanismo aggiusta la difficoltà in base a quanta potenza di calcolo è nel sistema. Come a dire se la potenza di calcolo cala, trovare bitcoin diventa più facile, ci saranno più individui incentivati a minare, mantenendo così in piedi il sistema. Al contrario quando minare bitcoin diventa troppo complicato rimangono sul mercato del mining solo quelli più efficienti. Questo fa pensare che l’hash power ha tendenza ad aumentare man mano che aumenta il prezzo del bitcoin, più valore, più potenza di calcolo, più sicurezza.

Creazione di nuovi bitcoin

Bitcoin è una moneta e contribuire alla sua generazione e manutenzione permette di ottenere una remunerazione in bitcoin.  

La remunerazione per i blocchi dimezza ogni 4 anni. Nei primi 4 anni ogni 10 minuti venivano emessi 50 btc, ora, dopo 10 anni di attività ininterrotta siamo a 6,25 btc ogni 10 minuti. Oltre alla ricompensa in bitcoin il minatore vincitore guadagna anche tutte le commissioni allegate alle singole transazioni.

Bitcoin totali mining

Come si vede l’offerta di nuovi bitcoin continua a calare, al momento della stesura siamo arrivati a circa 18 milioni di bitcoin emessi dal 2009 ad oggi. Proseguendo la serie matematica che tende a zero nuovi bitcoin emessi, si ottiene che intorno al 2140 saranno stati minati 21 milioni di bitcoin. 

Il concetto di decentralizzazione

Si può quindi dire che i miner sono elementi, nodi della rete con il ruolo specifico di creare i blocchi della blockchain ed emettere nuovi bitcoin, così facendo garantiscono la sicurezza contro tentativi di doppia spesa.

Uno degli aspetti più innovativi di Bitcoin è sicuramente il concetto di decentralizzazione, o detto altrimenti, il fatto che non serva un coordinatore centrale per garantire il comportamento corretto di tutte le parti.

Come fa bitcoin a coordinarsi in maniera decentralizzata? La risposta sta nell’innovativa tecnica utilizzata per raggiungere un consenso sullo stato dei saldi chiamato “proof of work” (prova di lavoro). Il lavoro sono le attività descritte sopra di raccolta transazioni, creazione blocco candidato e calcola dell’Hash con zeri davanti. La prova di lavoro non è altro che uno stratagemma molto intelligente per costringere il sistema a coordinarsi sullo stato dei saldi bitcoin ogni 10 minuti.

È grazie al lavoro dei minatori che la rete si coordina in maniera decentralizzata.

Il sistema di incentivi attrae in continuazione nuovi minatori disposti a spendere risorse per trovare bitcoin e nessuno degli attori in gioco ha interesse a tenere comportamenti contro gli interessi della rete Bitcoin.

I minatori fanno ingenti investimenti per poter vincere i bitcoin, non proveranno mai a compromettere la solidità del protocollo perché significherebbe perdere immediatamente il valore totale dei bitcoin in loro possesso. Tendenzialmente i minatori non vendono i bitcoin guadagnati se non al costo di produzione. Questo significa che bitcoin ha un prezzo minimo dato dal costo per riuscire a minare un singolo bitcoin.

I minatori sono onesti perché cercare di ingannare il sistema costa molti soldi in prima battuta, si calcola che oggi costerebbe 5 miliardi di dollari riuscire ad attaccare il sistema riorganizzando lo storico della blockchain. In secondo luogo tutta l’attività di hackeraggio risulterebbe vana perchè ogni nodo è libero di accettare o meno gli aggiornamenti alla propria copia della blockchain. I nodi onesti non accetteranno mai dei blocchi che contengono una doppia spesa. Di fatto il malintenzionato si troverebbe su una catena di blocchi diversa da quella principale, su una blockchain senza valore perché contiene informazioni false.