Guida ai Bitcoin parte II: panoramica generale

Il secondo capitolo della nostra guida passo passo per capire ed utilizzare al meglio la tecnologia più discussa dell'ultimo decennio: i Bitcoin

Guida ai Bitcoin parte II: panoramica generale
Articolo a cura di

Nell'articolo precedente abbiamo visto cosa sono i bitcoin e quale funzione assolvono, ora cerchiamo di fare una panoramica generale sul loro funzionamento, al cui cuore c'è il concetto di transazione, ossia il trasferimento di valore tra due o più recipienti detti indirizzi (address). Una transazione è caratterizzata da uno o più indirizzi di input da cui la moneta è prelevata e da uno o più indirizzi di output in cui la moneta è depositata. Un punto importante è che la transazione coinvolge sempre l'intero contenuto degli indirizzi di input. Il capitale totale a disposizione di una persona è pari alla somma degli output non spesi verso indirizzi di cui è il proprietario (UTXO, Unspent Transaction Output).

Entrata e uscita

Supponiamo che ad esempio Alice sia la proprietaria di due indirizzi, un indirizzo contente 5 mBTC ed un altro contente 1.1 BTC e voglia effettuare una donazione a Bob di 10 mBTC. Il primo indirizzo non contiene abbastanza denaro, Alice sarà allora costretta ad utilizzare il secondo. La transazione avrà allora come input 1.1 BTC dal secondo indirizzo, un output di 10 mBTC destinato ad un indirizzo controllato da Bob ed un output di 1 BTC destinato ad un indirizzo controllato da Alice. Quest'ultimo non è altro che il resto che spetta ad Alice. La situazione è analoga a quelle che si incontrano quotidianamente. Se ad esempio al supermercato abbiamo un totale di 2€ da pagare ma nel portafogli abbiamo solo una banconota da 10€ e una moneta da 1€ dovremo dare al cassiere la banconota. L'analogia non è perfetta perché il cassiere ci darà un resto di 8€ tenendo per sè la banconota da 10€, mentre nel caso dei bitcoin l'input viene distrutto e vengono creati due output la cui somma dei valori è pari al valore dell'input (come se il cassiere potesse dividere magicamente la banconota da 10€ in una moneta da 2€ ed una banconota da 8€).

La blockchain

Una volta che una transazione è stata creata, essa viene trasmessa in maniera quasi istantanea al resto della rete attraverso il protocollo P2P. Questo non significa che la transazione sia valida, ma solo che il resto della rete è a conoscenza della sua esistenza. Il processo di validazione avviene attraverso un processo competitivo chiamato mining. Un miner è un nodo della rete che ha il compito di collezionare le transazioni e includerle in un blocco. Una volta che il blocco viene validato esso è aggiunto ad una catena di blocchi detta blockchain che rappresenta, sostanzialmente, il libro mastro di tutte le transazioni avvenute nella storia della moneta. Una volta che un blocco è validato tutte le transazioni in esso contenute hanno una conferma. Ogni blocco che viene estratto successivamente aggiunge un'ulteriore conferma. Transazioni con sei o più conferme sono oramai certe e non più reversibili. In una transazione reale la somma degli output non è esattamente uguale a quella degli input, ma è un valore leggermente inferiore. La differenza costituisce una commissione (fee) che viene raccolta dal miner che valida il blocco. Le fees non sono fisse ma possono essere scelte dal creatore della transazione, con l'ovvia limitazione che una più alta incentiva il miner a dare priorità alla transazione.

La creazione di bitcoin

Oltre alle fees un miner viene ricompensato per la sua attività, vitale per il funzionamento della rete, con la possibilità di inserire in ciascun blocco che è il primo a validare una transazione speciale detta coinbase. Questa transazione ha la caratteristica di non avere alcun input e un output fisso, generando dunque nuovi bitcoin che vengono assegnati al miner. È questo il procedimento con cui viene coniata nuova valuta. Ogni 210,000 blocchi la quantità di bitcoin assegnata dalla coinbase è dimezzata, fino ad azzerarsi. Ciò implica che la quantità totale di bitcoin è fissata ed ha un massimo di 21 milioni di bitcoin. Un nuovo blocco è estratto ed aggiunto alla blockchain ogni 10 minuti circa, la difficoltà di validazione di un blocco è aggiustata ogni 2016 blocchi in maniera che questo tempo si mantenga costante. Questo crea un regime di offerta controllata, in cui la quantità totale di moneta in circolazione è nota in ogni momento a tutte le parti coinvolte.

Con questo abbiamo terminato i concetti di base, ciascuno dei quali torneremo ad approfondire in futuro. Nel prossimo articolo vedremo come acquistare il nostro primo bitcoin, qui invece trovate la parte I della nostra guida.