You can also read the English version of this article.
Il mining di Bitcoin è uno degli aspetti più conosciuti, ma anche più controversi, di Bitcoin. Ciò che per alcuni rappresenta un’innovazione rivoluzionaria nella sicurezza delle reti, per altri non è altro che uno spreco di energia e risorse. Ma come funziona davvero il "mining di Bitcoin"?
Poiché Bitcoin è una rete decentralizzata, aperta a tutti, non esistono autorità centrali che controllano la creazione di nuovi blocchi contenenti le transazioni, e quindi nessuno che regoli l'emissione di nuove monete.
Risolvere enigmi matematici complessi
Per spiegare concetti tecnici complessi in modo più semplice, spesso si ricorre a un’analogia. La più comune è già inclusa nel nome stesso: mining, ovvero un processo costoso e faticoso per estrarre elementi rari, come l’oro. Considerando che l’oro sulla Terra è una risorsa limitata e sempre più difficile da trovare, la sua estrazione diventa progressivamente più complessa e costosa man mano che più persone vi si dedicano. Ma come può lo stesso principio applicarsi a Bitcoin, che, in fin dei conti, non è altro che una serie di numeri invisibili su migliaia di computer?
Quasi tutti gli articoli di giornale o documentari televisivi su Bitcoin tentano di spiegare il mining paragonandolo alla risoluzione di "enigmi matematici complessi" da parte di computer potenti. Questa definizione, oltre ad essere tecnicamente fuorviante, suona quasi misteriosa e probabilmente solleva più domande di quante ne risolva. Che cosa viene effettivamente risolto? E perché dovrebbe essere così difficile?
Per rispondere a queste domande, lasciamo da parte le analogie comuni e le spiegazioni tecniche già sentite. Il mining di Bitcoin, in realtà, non è così complesso come sembra: il meccanismo di base è piuttosto semplice da comprendere.
Lanciare i dadi
Hai presente quella sensazione di essere bloccato in prigione durante una partita a Monopoly, aspettando di ottenere un doppio per poter uscire? Ecco, questa è essenzialmente la stessa sfida che affrontano i miner di Bitcoin. Devono continuare a lanciare i dadi sperando di ottenere un risultato valido, il che è una questione di probabilità, perché i risultati dei dadi sono, di fatto, casuali e imprevedibili. Tenendo a mente questo principio di base, vediamo più da vicino come funziona.
Ovviamente, il mining di Bitcoin è un po' diverso dal tirare un doppio a Monopoly. L’obiettivo effettivo è ottenere un numero inferiore a un valore target prestabilito. Immagina di usare un dado classico con facce numerate da uno a sei: potresti impostare il valore target a tre, il che significa che chiunque ottenga un uno o un due per primo vince il round.
La parte interessante di questo valore target è che possiamo regolare la difficoltà del gioco semplicemente modificandolo. Ad esempio, se il valore target fosse sei, vincere sarebbe molto più facile, perché qualsiasi tiro che restituisca uno, due, tre, quattro o cinque sarebbe sufficiente per ottenere la vittoria.
Immagina ora di giocare a questo gioco con altre persone, tutti lanciando i dadi il più velocemente possibile per essere i primi a ottenere un risultato valido. Nell’esempio precedente, i turni sarebbero piuttosto brevi, dato che ci sono solo sei possibili risultati. Ma ovviamente possiamo rendere il gioco più difficile aggiungendo più dadi!
Se usassimo quattro dadi invece di uno, mantenendo il valore target a sei, sarebbe molto più difficile ottenere un quattro o un cinque, perché ora i risultati possibili spaziano fino a 30.
Se hai capito questo – per quanto possa sembrare un gioco di dadi piuttosto strano – allora sei pronto per comprendere come funziona il mining di Bitcoin. Ora applicheremo questa analogia alla realtà tecnica della rete Bitcoin.
La realtà tecnica
Come prevedibile, se hai mai visto un ASIC miner (l'hardware specializzato utilizzato per il mining), avrai notato che non ci sono veri dadi in gioco. Nella rete Bitcoin, infatti, al posto dei dadi utilizziamo le funzioni di hash.
Funzioni di hash
Le funzioni di hash crittografiche possono prendere qualsiasi tipo di dato (ad esempio, un blocco Bitcoin) e comprimerlo in una stringa di lunghezza fissa che appare come una sequenza di dati casuali. Proprio come con i dadi, non puoi prevedere il risultato di una funzione di hash prima di calcolarlo effettivamente. È come un'impronta digitale dei dati inseriti.
Se un amico ti dicesse al telefono di aver ottenuto un uno lanciando un dado, verificare la sua affermazione sarebbe complicato. Anche se fossi con lui, il dado potrebbe essere truccato. Tuttavia, verificare i risultati delle funzioni di hash è molto semplice, perché lo stesso input genererà sempre lo stesso valore di hash, rendendo il risultato verificabile.
Poiché chiunque può calcolare i valori di hash sul proprio computer, eventuali affermazioni riguardo a un valore di hash possono essere verificate semplicemente ricalcolandolo in modo indipendente, usando lo stesso input. Puoi provare tu stesso qui e verificare se l'hash corrispondente a "BitBox" è corretto!

In sostanza, la funzione di hash SHA-256 utilizzata nel mining di Bitcoin è una sorta di rappresentazione tecnica di un dado, ma con alcuni vantaggi e proprietà aggiuntive. Ha un numero incredibilmente grande di facce (non solo sei), i risultati non possono essere previsti (proprio come accade con i dadi usati nei casinò) e, a differenza dei dadi tradizionali, possiamo verificare i risultati a posteriori. Inoltre, non è possibile "invertire" una funzione di hash. Se non conosci l'input originale, non puoi risalire ad esso semplicemente osservando il valore di hash. In termini semplici, significa che non puoi barare nel gioco, manipolando il risultato come faresti girando un dado a tuo favore.

Hashing, hashing, hashing…
...è tutto ciò che fanno i miner, continuano a lanciare i dadi il più spesso e in modo più economico possibile, con hardware moderno che supera trilioni di tentativi al secondo. Lavorando in parallelo, intere fattorie di mining possono raggiungere tassi ancora più alti, con costi operativi, ovviamente, altrettanto più elevati. Più alta è la hash rate, maggiore sarà la probabilità di vincere un round del gioco. Restando nell'analogia, se lanci i dadi due volte più velocemente del tuo avversario, aumentano le tue possibilità di ottenere un numero abbastanza basso prima che lo faccia lui.
I valori target nella rete Bitcoin sono molto più difficili da battere rispetto all'esempio precedente. Poiché i valori di hash sono incredibilmente grandi, c'è molta libertà per regolare la difficoltà del gioco e mantenerlo sfidante anche nel lungo periodo. La rete regola la difficoltà ogni due settimane per mantenere il tempo medio tra i nuovi blocchi di Bitcoin intorno ai dieci minuti, permettendo alla rete di sincronizzarsi e crescere in modo controllato, emettendo costantemente nuove monete.
“Per compensare l'aumento della velocità dell'hardware e l'interesse variabile nel mantenere i nodi nel tempo, [...] la difficoltà è determinata da una media mobile che punta a un numero medio di blocchi all'ora. Se i blocchi vengono generati troppo velocemente, la difficoltà aumenta.”
— Satoshi Nakamoto nel whitepaper di Bitcoin
Costruire i blocchi
Naturalmente, i miner non lanciano i dadi a caso. L'input che entra nella funzione di hash è attentamente preparato e rappresenta il blocco di Bitcoin che sta per essere minato; comprende nuove transazioni, un riferimento al blocco precedente e altro ancora! A proposito, è proprio da questo che deriva il termine “blockchain”: il valore di hash di un blocco rappresenta tutte le sue transazioni e anche quelle del blocco precedente, collegandoli tra loro in una catena.
Ora, il miner modifica continuamente l'input per “lanciare i dadi di nuovo”, cioè per creare un nuovo valore di hash. Se ha molta fortuna, questo valore di hash sarà inferiore al target della rete attuale, e il miner avrà appena creato un nuovo blocco di Bitcoin – ricevendo come ricompensa le monete appena emesse e le commissioni delle transazioni incluse nel blocco.
Tutti gli altri nella rete possono verificare il nuovo blocco calcolando il valore dell'hash, per vedere se è effettivamente abbastanza piccolo, e verificare anche la validità delle transazioni incluse. Se lo è, il gioco ricomincia da capo, con i miner che costruiscono il blocco successivo e calcolano quanti più valori di hash possibili – ora dovresti aver capito!
Proof of work
L'intero processo che abbiamo appena descritto richiede molto lavoro. I miner devono affittare proprietà, comprare un hardware costoso e pagare le bollette dell'elettricità, solo per continuare a fare hashing a un livello redditizio, mentre competono con altri miner che cercano di essere ancora più efficienti. Per questo motivo, le persone spesso si riferiscono a un hash di blocco valido come una prova di lavoro, perché trovare il valore di input giusto richiede proprio questo: tempo e energia – oppure una quantità folle di fortuna.
Il mining basato sulla proof of work (prova di lavoro) è la migliore possibilità che abbiamo per assicurarci che nessuno imbrogli il sistema e, di conseguenza, per proteggere la rete Bitcoin. Senza di essa, Bitcoin non sarebbe altro che un noioso e inefficiente database.
Conclusione
Combinando il mining basato su proof of work con firme digitali e un'architettura di rete decentralizzata, Satoshi Nakamoto ha risolto un problema fondamentale nell'informatica: creare denaro digitale senza un'autorità centrale. Il meccanismo semplice ma elegante dietro il mining di Bitcoin stabilizza la rete con intervalli costanti tra i blocchi, dando tempo ai nuovi blocchi di propagarsi nella rete, e incentiva la partecipazione con un sistema di ricompense equo. Mentre un BitBox hardware wallet protegge le tue monete, il mining basato su proof of work protegge le monete di tutti, rendendolo probabilmente l'innovazione più importante della rete Bitcoin.
Non possiedi ancora un BitBox?
Il BitBox02 è disponibile in due edizioni: l'edizione Multi, che supporta diverse criptovalute e può essere utilizzata come dispositivo per l'autenticazione a due fattori (2FA). L'edizione Bitcoin-only invece offre un firmware focalizzato: meno codice significa una superficie di attacco ridotta, che migliora ulteriormente la sicurezza quando custodisci solo bitcoin.
Acquista BitBox02 nel nostro shop online!
Shift Cypto è un'azienda privata con sede a Zurigo, in Svizzera. Il nostro team di contributori di Bitcoin, esperti di criptovalute e ingegneri della sicurezza crea prodotti che consentono ai clienti di godere di un percorso senza stress dal livello principiante a quello di padronanza nella gestione delle criptovalute. La BitBox02, il nostro portafoglio hardware di seconda generazione, consente agli utenti di memorizzare, proteggere e effettuare transazioni in Bitcoin e altre criptovalute con facilità - insieme al suo compagno software, la BitBoxApp.