7. Il Mining e la Proof of Work ⛏️
Nel livello 6 abbiamo visto come viene assemblato un nuovo blocco, ma chi può proporre un blocco valido da aggiungere alla catena ufficiale? Se tutti potessero aggiungere blocchi a piacimento, regnerebbe il caos e ci sarebbero ben presto centinaia di blockchain diverse tra loro. Anche se, temporaneamente, possono in effetti esistere più versioni concorrenti, è assolutamente basilare che la rete converga il più velocemente possibile verso un unico registro (il ledger) condiviso, che verrà poi replicato identico su tutti gli oltre ventimila nodi di cui si compone la rete.
Il meccanismo di base è il seguente: ogni miner, in modo indipendente, inizia ad assemblare il suo blocco scegliendo innanzitutto le transazioni dalla mempool (ne abbiamo parlato nel livello precedente). Sceglierà sostanzialmente le transazioni che pagano più mance, più commissioni. Al momento (2026) ne raccoglie circa 3000 (il numero esatto può variare molto in base alla congestione della rete e alla pesantezza dei blocchi). Poi mette, all'inizio del blocco, l'hash del blocco precedente...poi inizia la parte difficile.
Per evitare che chiunque possa aggiungere blocchi al registro arbitrariamente, Bitcoin possiede un meccanismo di selezione basato sul lavoro computazionale. Per guadagnarsi il diritto di aggiungere il suo blocco, e quindi ricevere le ricompense in bitcoin, il miner deve risolvere un enigma matematico. Deve trovare un numero speciale, chiamato NONCE, che, unito ai dati del blocco, produca un Hash globale che inizi con un certo numero di zeri.
Bitcoin è programmato per emettere un blocco ogni 10 minuti circa. Ma cosa succede se domani arrivano milioni di nuovi minatori con computer potentissimi?
Ogni 2016 blocchi (circa due settimane), la rete controlla quanto tempo è stato impiegato per minarli: se i blocchi vengono creati troppo rapidamente, il protocollo richiederà che l'hash globale del blocco rientri in un intervallo numerico più ristretto. Questo riduce la probabilità di trovare il nonce corretto rallentando la produzione dei blocchi e riportando il tempo medio verso i dieci minuti per blocco.
Al contrario, se i blocchi vengono prodotti troppo lentamente, la difficoltà viene ridotta, aumentando la probabilità di trovare un nonce valido e accelerando nuovamente il ritmo.
Il meccanismo funziona come un termostato automatico: mantiene il ritmo costante a prescindere dalla potenza di calcolo a disposizione della rete.
Questo processo, appunto la proof of work (prova di lavoro), richiede tantissimi tentativi, quindi tantissima energia. Spesso interpretato come difetto del protocollo, ciò è, al contrario, la caratteristica fondamentale che rende costosissimo, quindi impraticabile, riscrivere a proprio vantaggio la storia della blockchain. Data l'unidirezionalità (vedi Livello 2) dell'algoritmo di hashing, non esiste alcuna strategia per trovare il NONCE se non quella di provare letteralmente tutti i numeri partendo da 0. Esattamente come in una lotteria per essere assolutamente certi di vincere, occorre comprare tutti i biglietti stampati. Cionondimeno, nonostante l'estrema difficoltà nello scovare questo numero, sarà invece immediato per ogni nodo verificarne poi la correttezza.
Prova a minare un blocco!
Hai dovuto provare tanti numeri diversi per trovarne uno che funzionasse. Ma una volta trovato (es. Nonce: 46), per chiunque altro è facilissimo verificare che funziona: basta fare un solo hash.
Difficile da trovare, facile da verificare. Questa è l'asimmetria che protegge Bitcoin.
📘 Riepilogo e verifica (facoltativo)
🗂 Flashcards
🖼 Infografica

🎧 Video / Audio recap
🧠 Verifica di comprensione
Qual è lo scopo principale del meccanismo di Proof of Work in Bitcoin, secondo il testo?
Cosa spinge il protocollo Bitcoin ad AUMENTARE la difficoltà del mining?
Nel processo di mining, qual è la funzione principale del NONCE'?
L'asimmetria che protegge Bitcoin, descritta come 'Difficile da trovare, facile da verificare', a cosa si riferisce?
Secondo il testo, con quale criterio principale un miner sceglie le transazioni da includere nel suo blocco?
Con quale frequenza viene ricalibrata la difficoltà del mining di Bitcoin?