Cos'è il Mining di Bitcoin?

Bitcoin mining process, a pick and Bitcoins

Cos’è il mining?

Esistono tre modi per ottenere Bitcoin: acquistarli su un servizio di exchange, accettarli come metodo di pagamento per beni o servizi, oppure crearne di nuovi attraverso il mining. Quest’ultimo è un processo che permette di aggiungere ulteriori fascicoli al registro pubblico conosciuto con il nome di Blockchain. La Blockchain assicura che ogni transazione possa essere confermata e che ogni utente nella rete possa accedere in qualsiasi momento al libro contabile. Svolge inoltre il compito di distinguere le transazioni legittime da quelle illecite, impedendo che le medesime unità di Bitcoin vengano utilizzate più volte dallo stesso utente.

Mining — Il processo di archiviazione dei registri, portato a termine grazie alla potenza di calcolo dei computer.

Blockchain — Un registro pubblico e distribuito, nel quale vengono conservati i fascicoli contenenti tutte le transazioni in Bitcoin.

La Blockchain è composta da una catena (chain) di blocchi (block); un blocco è un fascicolo contenente tutte le transazioni effettuate in un certo arco di tempo. I nuovi blocchi vengono elaborati e generati dai miner che, applicando complesse formule matematiche alle informazioni del fascicolo, trasformano enormi quantità di dati in una sequenza apparentemente casuale di lettere e cifre denominata ‘hash.’

Hash — Una sequenza di lettere e cifre di lunghezza costante, che può essere generata partendo da ogni genere di dato.

Tuttavia le hash del Bitcoin non vengono generate utilizzando solamente le informazioni contenute nel blocco corrente: includono anche altri dati, come ad esempio la hash del blocco calcolato in precedenza.

Di conseguenza, nonostante qualsiasi dispositivo elettronico moderno non abbia alcuna difficoltà a generare una hash partendo da un vasto insieme di informazioni, è praticamente impossibile riuscire ad estrapolare dati da una hash semplicemente studiandola. Inoltre ogni hash è unica, e modificando anche un solo carattere di un blocco della Blockchain si da vita ad una sequenza di lettere e cifre totalmente diversa.

Hash MD5, un grafico contenente esempi di input e output.

Come è possibile osservare nell’esempio riportato qui in alto, non importa quali dati vengono utilizzati con input: una hash ha sempre la stessa lunghezza.

Questi attributi fanno sì che una hash possa essere considerata una sorta di sigillo in ceralacca digitale. Se qualcuno dovesse manomettere anche un solo blocco di transazioni, la sua hash cambierebbe radicalmente, e di conseguenza anche tutte le hash successive nella Blockchain. Qualsiasi tentativo di frode nella rete del Bitcoin e delle altre criptovalute può quindi essere facilmente individuato e neutralizzato.

Una hash MD5 è una sorta di sigillo in ceralacca digitale.

Ricompense

Sostanzialmente, i miner contribuiscono alla comunità del Bitcoin confermando ogni transazione e assicurando la loro legittimità. Competono costantemente l’uno con l’altro utilizzando dei programmi progettati appositamente per il mining. Al completamente di un nuovo blocco da parte dei miner, vale a dire quando riescono a generare la sequenza di hash corretta, questi ricevono una ricompensa dalla rete.

Al momento il premio è di 12,5 unità di Bitcoin, e questo valore si dimezza ogni 210.000 blocchi completati. Il numero massimo di Bitcoin è limitato: più monete vengono create e più preziosa diventa ognuna di esse. Di conseguenza, nonostante il numero di Bitcoin guadagnati al completamento di un blocco diminuisca sempre di più, il valore della ricompensa rimane costante o aumenta.

Per un computer moderno, riuscire a produrre una hash partendo da un insieme di dati è un’operazione abbastanza semplice. Ecco perché, per impedire che gli utenti generino migliaia di blocchi al secondo ed il mining di Bitcoin termini in pochi minuti, la rete incrementa costantemente la difficoltà del processo.

Complicazioni

Questo processo genera una ‘Proof of Work’. Questo sistema esige infatti il compimento da parte del richiedente del servizio di un certo ‘lavoro’, solitamente offerto sotto forma di potenza di calcolo. Produrre una Proof of Work è un processo casuale con scarse probabilità di successo, e sono necessari parecchi tentativi prima che ne venga generata una valida. Nel caso specifico del Bitcoin, è la hash stessa a fare da Proof of Work.

Proof of Work — Parametro utilizzato in economia per combattere attività fraudolente esigendo il compimento di un lavoro da parte del richiedente del servizio, solitamente offerto sotto forma di potenza di calcolo.

A questo processo va anche aggiunto il concetto di Bitcoin Difficulty. Si tratta di un valore che si occupa di misurare quanto sia complesso calcolare un nuovo blocco rispetto alla difficoltà minima offerta dalla rete.

Bitcoin Difficulty — Un valore che misura la complessità del calcolo di una hash.

Questo valore viene ricalcolato ogni 2016 blocchi esatti. È stato progettato in modo che la durata del mining di un blocco ammonti sempre a circa dieci minuti. Se più miner si aggiungono alla rete, la velocità di generazione di nuovi blocchi ovviamente aumenta: il livello di difficoltà viene allora ricalcolato, incrementando le ricompense e rallentando la velocità di creazione dei blocchi. I blocchi rilasciati da miner fraudolenti, che non rispettano quindi il livello di difficoltà richiesto dalla rete, vengono categoricamente rifiutati.

Si tratta quindi di un processo che richiede un certo impegno, attraverso il quale si genera lentamente nuova valuta. La velocità di creazione di nuove monete è simile a quella di estrazione di beni di lusso come l’oro: ecco perché il termine ‘mining’.

Schema sul funzionamento della tecnologia Blockchain.