Come funziona Bitcoin?

Accenni di storia - Bitcoin fu inventato da un uomo (o un gruppo di persone) che utilizzava lo pseudonimo di Satoshi Nakamoto e che ha scelto di rimanere anonimo. Satoshi Nakamoto ha lanciato la prima versione di Bitcoin nel 2008 e ha gradualmente messo in mano il progetto ad altri sviluppatori che hanno contribuito alla sua nascita, in primis Gavin Andresen. Nel Settembre del 2012 fu fondata un’associazione “ufficiale”, che si occupa dello sviluppo della valuta da allora : La Fondazione Bitcoin . Nessuno ha più avuto contatti con Satoshi Nakamoto dalla metà del 2010.

Prerequisiti per la comprensione - Il protocollo di Bitcoin è prevalentemente basato su tecnologie già disponibili ed utilizzate prima della sua creazione, tra cui:

Bitcoin è una forma di valuta virtuale che non possiede alcun tipo di rappresentazione nel mondo reale, allo stesso modo in cui alcune valute usano essere rappresentate dall’oro (come il dollaro stesso prima del 1971). Il valore di Bitcoin è determinato unicamente dal mercato che fa di questa valuta un mezzo di scambio. Di conseguenza, Bitcoin è molto simile all’oro.: Eccezion fatta per alcuni casi(elettronica, estetica…), infatti, il mercato assegna alle varie proprietà un valore in oro che valga da mezzo di scambio : la rarità, la durabilità e la divisibilità sono tutte proprietà in comune con Bitcoin.

Bitcoin non può essere generato da un’entità o da uno stato ed è limitato a 21 milioni di unità chiamate bitcoin (Con la B minuscola – la versione con la B maiuscola si riferisce alla tecnologia in generale). Il numero di bitcoin in circolazione aumenta in modo stabile e prevedibile, così che raggiunga il totale finale di 21 milioni nel 2140(il rallentamento della “produzione” farà sì che il 99% di questi 21 milioni sarà già disponibile nel 2030, mentre il restante 1% sarà messo in circolazione tra il 2030 e il 2140 - vedere Quantità limitata sulla Wiki di Bitcoin). Ogni bitcoin è divisibile in 100 milioni di unità chiamata Satoshi. Ciò determina la presenza di un totale di 21 x 1014 unità indivisibili. Perché questo numero? Forse perché è vicino ai limiti di immagazzinamento di un numero a 64 bit, comunemente usato nelle tecnologie di informazione. Purtroppo non conosciamo molti dettagli al riguardo, ma non è poi così importante, considerata la divisibilità di Bitcoin.



Spiegheremo, passo dopo passo, il funzionamento di Bitcoin, mostrando il problema alla base dell’idea di una valuta decentralizzata e la soluzione fornita da Bitcoin. Questa spiegazione si connota come una semplice introduzione al meccanismo di funzionamento di Bitcoin e non costituisce in alcun modo una guida completa e precisa.

Problema – Com’è possibile identificare in sicurezza chi ha inviato il denaro con una valuta decentralizzata?

Il protocollo utilizza il sistema di crittografia asimmetrica. Poniamo che Bob voglia inviare 1 bitcoin ad Alice. Utilizzerà la sua chiave privata per apporre una firma sul messaggio “Io, Bob, invio 1 bitcoin ad Alice”. Successivamente, usando la sua chiave pubblica, chiunque sarà in grado di verificare che il mittente del messaggio è Bob, e lui non potrà negarlo.

Problema – Com’è possibile evitare che Bob duplichi il messaggio e invii quel bitcoin a un numero illimitato di persone?

Ogni bitcoin ha un numero seriale, es 42001. Il messaggio, quindi, sarà “Io, Bob, invio il bitcoin No. 42001 ad Alice.” Di conseguenza, il bitcoin è palesemente identificabile e il messaggio non può essere duplicato.

Problema – Come è possibile verificare il fatto che Bob possieda davvero il bitcoin No. 42001 e che non l’abbia invece già speso?

Ogni utente ha un “registro” chiamato blockchain, che elenca tutte le transazioni, assieme ad i possessori di bitcoin. Quando Bob invia il seguente messaggio “Io, Bob, invio il bitcoin No.42001 ad Alice”, Alice può usare la sua copia del registro per verificare che quel numero di bitcoin appartenga a Bob. Successivamente, invia il messaggio di Bob a tutti, indicando che accetta il bitcoin, in modo tale che tutti possano aggiornare i propri blockchain di conseguenza.

Problema – Come si può essere certi che Bob non invii contemporaneamente lo stesso messaggio a due persone che non possono aggiornare immediatamente i propri blockchain e non sanno, quindi, che il bitcoin è già stato inviato?

È qui che entrano in gioco i minatori di bitcoin. Alice verifica che Bob possiede il bitcoin No.42001 ma prima di accettarlo invia il messaggio al network di minatori che, dal canto loro, verificano la validità della transazione e diffondono il messaggio “Ok, Bob ha il bitcoin No.42001. Può inviarlo ad Alice”. Una volta che il messaggio sarà stato diffuso da abbastanza minatori, tutti aggiorneranno i propri blockchain e la transazione sarà effettuata.

Problema – Poniamo che Thomas sia un minatore di bitcoin. Come fare per evitare che diffonda migliaia di volte i messaggi “Ok, Bob ha il bitcoin No.42001. Può inviarlo ad Alice” e “Ok, Bob ha il bitcoin No.42001. Può inviarlo a Carol”, manipolando così il sistema?

Per gestire il problema della manipolazione del sistema, Bitcoin usa la “Prova-di-lavoro”. L’operazione della diffusione del messaggio “Ok, Bob ha il bitcoin No.42001. Può inviarlo ad Alice.” è resa artificialmente difficile per un minatore, che sarà costretto ad effettuare calcoli complessi e privi di alcun fine di per se, prima di poter diffondere il messaggio.

Come risultato di ciò, se Thomas vuole che il suo messaggio fasullo venga accettato, deve avere in mano più del 50% dell’intero potere del network. La nostra pagina Cost of a 51% attack è una stima di quanto costerebbe un minore di essere in una situazione del genere in base alla numero di minatori. Il guadagno di un tale attacco è volto ridicolo costo.

Problema – Cosa motiva i minatori a verificare le transazioni?

I minatori sono ricompensati con nuovi bitcoin creati in modo stabile e prevedibile, che raggiungeranno il totale finale di 21 milioni nel 2140. Superata quella data, i minatori saranno ricompensati con piccole commissioni guadagnate per ogni transazione convalidata.

Per saperne di più, puoi leggere l’articolo pubblicato da Satoshi Nakamoto: Bitcoin: A Peer-to-Peer Electronic Cash System.