La vita di una transazione Bitcoin

In questo articolo approfondiamo come funziona una transazione Bitcoin con un focus sul ruolo dei “miner” nel processo.
transazione bitcoin

Eccoci al quinto articolo della rubrica a tema Bitcoin che curo qui su Fintastico. Siamo partiti dalla storia di Bitcoin fino alle guide pratiche su come aprire un wallet Bitcoin e per non perdere i propri fondi. Oggi tratteremo un tema un po' più tecnico del solito ma fondamentale al fine di comprendere il funzionamento di Bitcoin.

Prima di tutto, cos'è una transazione Bitcoin?

Per capire la vita di una transazione Bitcoin dobbiamo ovviamente sapere prima cosa sia una transazione Bitcoin. Per “transazione Bitcoin” si intende una informazione scritta all’interno della Blockchain che indica il cambio di proprietà di una prova crittografica che ci darà diritto di spendere una certa quantità di satoshi, l’unità di misura più piccola di Bitcoin.

Spieghiamolo in parole più semplici: una transazione Bitcoin è come un assegno firmato dal mittente e dal destinatario, invece che utilizzare firme fisiche Bitcoin utilizza firme digitali, la stessa tecnologia utilizzata per esempio per la PEC (Posta Elettronica Certificata).

Le transazioni Bitcoin non possono essere create arbitrariamente, devono rispettare quello che viene chiamato consenso cioè l'insieme di regole scritte all’interno del codice dei nodi Bitcoin che decine di migliaia di persone comuni hanno installato nelle proprie case o in Cloud. Tutti questi nodi comunicano tra di loro e verificano che gli attori della rete (utenti comuni, minatori e altri nodi) rispettino le regole stabilite dal protocollo Bitcoin.

Un esempio di regola del protocollo Bitcoin

Un regola che compone il consenso Bitcoin è per esempio quella riguardante la dimensione dei blocchi che compongono la Blockchain, un limite di 4MB (megabyte) che nel 2017 è stato oggetto di una "guerra" da cui è nata l’hard fork Bitcoin Cash, una versione di Bitcoin con blocchi più grandi.

Come avviene una transazione Bitcoin

Come abbiamo visto nei precedenti articoli, in fase di apertura del tuo wallet Bitcoin ti verrà comunicata una chiave segreta composta da 12 o 24 parole. Grazie a queste parole il tuo wallet riuscirà a generare tutte le chiavi pubbliche e gli indirizzi in cui ricevere satoshi oltre che alle chiavi private per spendere i bitcoin ricevuti.

come-funziona-bitcoin-fintastico

Ecco quindi che abbiamo affrontato il primo passo di una transazione Bitcoin: la ricezione dei satoshi. Partendo dal seed il tuo wallet è riuscito a generare un indirizzo Bitcoin, un IBAN monouso da mostrare al pagatore.

Quello che viene scritto sulla Blockchain non è altro che una condizione di spesa, un contratto digitale crittografico: questo contratto permette la spesa dei bitcoin all’individuo che riuscirà a generare una firma digitale corretta cioè al proprietario della chiave privata che ha generato l’indirizzo pubblico su cui satoshi sono stati depositati.

Ora che il mittente ti ha inviato i satoshi vedrai all’interno del tuo wallet il saldo aumentare, cos’è successo però da quando il tuo pagatore ha premuto “invia” a quando tu hai visto il saldo aumentare? Te lo spiego nei prossimi paragrafi.

La rete P2P di Bitcoin

Abbiamo parlato di nodi Bitcoin, una delle parti più importanti del protocollo.

Non bisogna confondere un nodo Bitcoin con i minatori, due figure molto diverse con compiti diversi. Un nodo Bitcoin applica le regole del protocollo Bitcoin e propaga le transazioni ricevute ai nodi a cui è collegato e non richiede nessun hardware specifico, basta infatti un vecchio PC o un Raspberry (un mini-PC).

Quando sposterai per esempio dei satoshi dal tuo exchange al tuo wallet dopo pochi secondi l’invio della transazione da parte dell’exchange vedrai la transazione in entrata all’interno del tuo wallet che indicherà la transazione come “non confermata”, che cosa vuol dire?

Una transazione non confermata è una transazione che non è ancora stata minata dai minatori Bitcoin e che quindi risiede solamente all’interno dei nodi Bitcoin, sparsi in tutto il mondo, ma dove risiede fisicamente questa transazione? All’interno di quella che viene chiamata mempool (memory pool), la “sala d’attesa delle transazioni Bitcoin” in attesa che qualche minatore la includa all’interno di un nuovo blocco della Blockchain Bitcoin.

I miners

asic

La tua transazione è attualmente in mempool, in attesa di essere minata. In ogni momento milioni di ASIC, questo il nome dei chip ottimizzati per minare bitcoin, cercano un numero che possa essere ritenuto valido dai nodi Bitcoin per accettare un nuovo blocco di transazioni in cambio di una ricompensa economica che consiste nelle commissioni pagate da chi ha spostato bitcoin in quel blocco e dal reward dell’halving corrente, come abbiamo spiegato in questo articolo.

Grazie ad un meccanismo chiamato aggiornamento della difficoltà la rete Bitcoin tende a portare la produzione dei blocchi ad un intervallo di 10 minuti e prima di consegnare per esempio della merce venduta in cambio di bitcoin ti consiglio di aspettare 1 conferma!

Come e quando la tua transazione verrà inclusa nel prossimo blocco?

Il mining è una attività molto complessa che si è evoluta nel tempo come spiegavo prima, tuttavia si può applicare una regola generale: più commissioni di rete pagherai prima verrà scelta la tua transazione.

Una volta che un minatore avrà minato la tua transazione vedrai il tuo saldo aumentare e la tua transazione confermata con il numero di conferme, per esempio “1 conferma” o “2 conferme”. Il numero di conferme risponde alla domanda “da quanti blocchi (della Blockchain) è stata inserita la mia transazione?” ed è un indicatore di sicurezza della transazione, più conferme avrà una transazione e più potrai essere sicuro che nessuno rimuova quella transazione dalla Blockchain, grazie alla tecnologia chiamata Proof of Work.

Un eventuale attaccante che volesse provare a cancellare la tua transazione dalla Blockchain (per tenersi la merce comprata e riprendersi i suoi bitcoin) dovrà utilizzare una potenza di calcolo molto alta, più blocchi passeranno e più sarà difficile eliminare la sua transazione.

Qualche considerazione

Tra le caratteristiche che rendono Bitcoin uno strumento unico nella storia dell’umanità troviamo proprio le sue transazioni. Una transazione Bitcoin rispetta uno standard che non è stato imposto da un’autorità centrale né da un governo, bensì dai singoli individui che hanno deciso di aderire al consenso creato e proposto da Satoshi Nakamoto.

Il protocollo Bitcoin è nato per garantire un elevato grado di irreversibilità dopo un determinato numero di conferme (variabili in base alla potenza di calcolo della rete, i primi anni si consigliavano 6 conferme, ad oggi accettare transazioni con 2 è considerata una pratica sicura) e questa è una caratteristica unica in quanto qualsiasi altro circuito di pagamenti permette a qualche attore (l'intermediario finanziario, uno stato o un ente di regolamentazione, un tribunale) di bloccare e annullare una transazione.

Quando sposti bitcoin non sai chi minerà la tua transazione, non conoscerai i nodi che si occuperanno della propagazione della transazione nel mondo e loro non conosceranno te. Bitcoin è trustless cioè ad assenza di fiducia, è stato costruito con degli incentivi che portano i membri della rete a cooperare.

Ci sono tantissime altre caratteristiche che rendono le transazioni Bitcoin speciali, dalla possibilità di renderle programmabili (tramite linguaggio Script) oppure la possibilità di creare indirizzi multifirma tramite PSBT (Partially Signed Bitcoin Transaction) fino ad arrivare a Lightning Network, tuttavia sono argomenti avanzati che affronteremo nei prossimi articoli.

Simone Da Re avatar
Simone Da Re

Bitcoin Consultant & Software Developer