Informazione
Approfondimenti
Cultura Bitcoin
Gruppo ufficiale

Una transazione, passo per passo

Cosa accade quando invii bitcoin: firma digitale, trasmissione alla rete, verifica dei nodi, inclusione in un blocco e conferme.

Il capitolo in breve

Capitolo
3 di 4
Livello
Base
Lettura
7 min
Domande
5

Nel capitolo precedente abbiamo visto che un wallet non contiene bitcoin come un portafoglio contiene banconote. Gestisce chiavi, genera indirizzi e firma transazioni. Ora possiamo seguire cosa accade quando una persona usa quel wallet per inviare bitcoin ad un'altra persona.

Nel momento in cui si invia una transazione (TX) il wallet costruisce un messaggio, lo firma con le chiavi dell'utente e lo invia ad una rete di nodi indipendenti. Da quel momento la transazione deve superare una serie di controlli pubblici.

Il wallet prepara la transazione

Quando vuoi inviare bitcoin, il wallet parte dai fondi che controlli e prepara una transazione. Questi fondi non sono conservati fisicamente dentro il wallet, ma possiamo immaginarli come monete di tagli diversi. Il nome tecnico è UTXO, da Unspent Transaction Output, cioè output di transazione non speso. Per ora basta trattarlo come una piccola etichetta utile: un UTXO è una quantità di bitcoin registrata nella blockchain che il tuo wallet può usare perché controlli le chiavi necessarie per spenderla.

Quando paghi, il wallet sceglie quali di queste "monete" usare. Se l'UTXO scelto vale più dell'importo da inviare, la transazione crea anche un resto, che torna ad un indirizzo controllato dal tuo wallet. Di solito questa scelta avviene in automatico. Alcuni wallet, però, permettono il coin-control, cioè la scelta manuale degli UTXO da spendere: è una funzione più avanzata, utile per gestire meglio privacy, ordine dei fondi e commissioni, che può essere approfondita in un secondo momento.

In modo semplificato, la transazione dice alla rete quali fondi vuoi spendere, a quale indirizzo vuoi assegnare il valore e quale parte resta come commissione. Questa commissione non è una tariffa fissa decisa dal protocollo: è la parte che non viene inviata al destinatario né restituita come resto. Serve a incentivare i miner a includere la transazione in un blocco, soprattutto quando molte persone stanno usando la rete. Più alta è la commissione più velocemente la TX sarà inclusa in un blocco.

Il wallet fa molti passaggi tecnici che l'utente non vede. Sceglie quali fondi usare, calcola il resto quando serve, prepara gli indirizzi coinvolti e costruisce il messaggio nel formato corretto. Per chi parte da zero non è necessario conoscere ogni dettaglio interno. La cosa importante è capire che il wallet non sta spostando bitcoin da un contenitore ad un altro: sta preparando una prova da presentare alla rete.

Questa prova deve essere precisa. Se manca qualcosa, se il formato è sbagliato o se il wallet prova a spendere fondi che non controlla, la rete rifiuterà la transazione.

La firma dimostra che puoi spendere

Una transazione preparata dal wallet non basta. Deve essere firmata. La firma digitale è il passaggio che collega la transazione alle chiavi viste nel capitolo precedente.

Quando firmi una transazione, non stai rivelando la tua chiave privata. Il wallet usa quella chiave per produrre una prova crittografica che gli altri possono verificare così facendo nodi della rete non hanno bisogno conoscere la tua identità per operare. Devono controllare che la firma sia valida e che tu stia cercando di spendere fondi realmente spendibili da quella chiave.

Qui si vede la differenza rispetto ad un pagamento bancario. Nel sistema bancario l'intermediario riconosce il cliente e decide se aggiornare il proprio registro concendendo al cliente di avere un prestito, di muovere fondi o anche di accedere al proprio conto. In Bitcoin la rete verifica una firma crittografica non falsificabile. Non serve altro.

La transazione viene inviata alla rete

Dopo la firma, il wallet trasmette la transazione alla rete Bitcoin. I nodi che la ricevono la controllano prima di inoltrarla ad altri nodi.

Il controllo riguarda le regole di base: la transazione deve essere costruita correttamente, la firma deve essere valida, i fondi non devono essere già stati spesi e la commissione deve essere coerente con le regole della rete. Se qualcosa non va, la transazione viene scartata. Se invece supera i controlli, viene diffusa.

A questo punto la transazione può essere visibile, ma non è ancora definitiva. È come se fosse in attesa di entrare nel registro. Il nome tecnico di questa zona di attesa è mempool: una memoria temporanea in cui i nodi tengono le transazioni valide che non sono ancora state incluse in un blocco. Molti strumenti le mostrano come "non confermate": significa che la rete le ha viste, ma nessun blocco le ha ancora inserite nella blockchain.

Il miner la include in un blocco

I miner raccolgono transazioni valide in attesa e provano a inserirle in un nuovo blocco. Ogni blocco ha spazio limitato, quindi nei momenti in cui molte persone vogliono inviare transazioni le commissioni diventano più importanti. Una commissione più alta rende più probabile che un miner scelga quella transazione prima di altre.

Questo non significa che il miner possa fare ciò che vuole. Può scegliere quali transazioni valide includere, ma non può trasformare una transazione sbagliata in una transazione corretta solo per via delle alte commissioni pagate. Se un miner crea un blocco che viola le regole, i nodi lo rifiutano e questi perde tutto il costo energetico che la proof-of-work ha richiesto per produrlo.

Quando un blocco valido viene trovato e accettato dalla rete, le transazioni al suo interno entrano nella blockchain. Da quel momento la transazione non è più soltanto in attesa: ha ricevuto la sua prima conferma.

Le conferme rendono più solida la transazione

Una conferma significa che la transazione è stata inclusa in un blocco valido. Ogni blocco aggiunto dopo quello aumenta il numero di conferme.

Questa idea è importante perché Bitcoin si basa su una storia monetaria ordinata nel tempo e protetta dalla proof-of-work. Più blocchi vengono costruiti sopra una transazione, più diventa costoso riscrivere quella parte di storia.

Per piccoli importi, spesso basta attendere poco. Per importi più importanti, è prudente aspettare più conferme. Non perché la rete abbia bisogno di conoscere meglio l'utente, ma perché ogni nuova conferma aggiunge un livello di sicurezza che riduce la possibilità che la transazione possa essere manomessa.

Bitcoin produce in media un blocco ogni dieci minuti e il ritmo delle conferme dipende da questo dato. Non è un orologio perfetto: a volte un blocco arriva prima, a volte dopo. Per mantenere questa media, il protocollo regola periodicamente la difficoltà del lavoro richiesto ai miner. Questo processo si chiama difficulty adjustment e avviene ogni 2016 blocchi: se nella rete entra più potenza di calcolo, il lavoro diventa più difficile; se ne esce, diventa più facile. Il motivo di questa calibrazione della difficoltà verrà approfondito in seguito.

Dal pagamento alla verifica

Seguire una transazione passo per passo mostra che Bitcoin non è soltanto un modo digitale per inviare denaro. È un sistema in cui ogni movimento deve essere costruito correttamente, firmato, trasmesso, verificato, incluso in un blocco e confermato nel tempo.

Nessuna banca aggiorna un saldo per conto dell'utente. Nessuna piattaforma decide che una transazione valida debba essere riconosciuta perché appartiene ad un cliente approvato. La rete controlla firme, regole e blocchi.

Questo rende Bitcoin più esigente da capire rispetto ad un'app bancaria, ma anche più chiaro nella sua logica. Una transazione non è una richiesta fatta ad un custode: è una prova pubblica che attraversa una rete di nodi indipendenti.

Nel prossimo capitolo vedremo perché questa solidità, costruita sul livello base, non basta da sola per ogni tipo di pagamento quotidiano e come Lightning Network prova a usare Bitcoin come fondazione per un sistema più rapido: Lightning Network e il sistema a strati.

Test del capitolo

5 domande su quello che hai appena letto: tocca una domanda per aprirla. Le risposte sono tutte nel capitolo: se una non torna, il riscontro ti dice dove rileggere.

  1. Devi pagare 30.000 sat e il wallet spende un UTXO da 50.000. Che cosa succede alla differenza?