Come vengono verificate le transazioni Bitcoin

intermediate
Fa parte del percorso Come funziona Bitcoin, passo 5 di 11

Quando invii Bitcoin a qualcuno, nessuna banca approva il pagamento. Nessun governo autorizza la transazione. Al contrario, una rete globale di migliaia di computer indipendenti, tutti operanti secondo le stesse regole matematiche, verifica e registra collettivamente la transazione. Capire come funziona questo processo rivela non solo la meccanica di Bitcoin, ma anche perché il sistema è progettato così e perché è tanto difficile da corrompere.

Che cos'è una transazione Bitcoin?

Alla base, una transazione Bitcoin è un'istruzione firmata crittograficamente che sposta fondi da un indirizzo a un altro. Ogni transazione fa riferimento a specifici output non spesi in precedenza (noti come UTXO, o Unspent Transaction Outputs) come input, e crea nuovi output per il destinatario e per l'eventuale resto da restituire al mittente.

Immagina di pagare con una banconota fisica: se consegni una banconota da 50 Euro/Dollar per qualcosa che costa 30, ricevi 20 di resto. Bitcoin funziona allo stesso modo, solo che ogni passaggio è codificato in matematica e registrato pubblicamente. Non esiste un saldo di conto nel senso tradizionale. Esiste soltanto una catena di output non spesi, ciascuno legato a un indirizzo specifico.

Prima che la rete accetti una transazione, deve verificare due cose: che il mittente possieda effettivamente i fondi che sta cercando di spendere, e che quegli stessi fondi non siano già stati spesi altrove. Tutto il processo di verifica di Bitcoin è costruito attorno a queste due domande. Se desideri una guida pratica su come inviare e ricevere Bitcoin, questa guida illustra il processo passo dopo passo.

I cinque passi dall'invio alla conferma

Il percorso dall'avvio di un pagamento alla sua conferma definitiva si articola in cinque passaggi distinti. Ognuno aggiunge un livello di protezione che il passaggio precedente da solo non potrebbe garantire.

Passo 1: Firma (Prova di proprietà)

Prima che la transazione lasci il tuo wallet, il software utilizza la tua chiave privata per produrre una firma digitale. Questa firma è derivata matematicamente dai dati della transazione stessa. Dimostra, senza rivelare la chiave privata, che la persona che autorizza questa specifica transazione possiede la chiave corretta.

Ogni nodo della rete può verificare questa firma utilizzando la chiave pubblica corrispondente, ma nessuno ha bisogno di vedere la chiave privata per farlo. Se anche un solo bit della transazione viene alterato dopo la firma, la firma diventa non valida e ogni nodo onesto rifiuta immediatamente la transazione. I principi crittografici alla base di questo processo sono spiegati in dettaglio qui.

Passo 2: Trasmissione (Ingresso nella rete)

Una volta firmata, la transazione viene trasmessa attraverso la rete peer-to-peer di Bitcoin. Il tuo wallet la invia a una manciata di nodi connessi. Ciascuno di quei nodi la trasmette ai propri vicini, che la trasmettono ulteriormente. In pochi secondi, la transazione ha tipicamente raggiunto migliaia di nodi distribuiti in tutto il mondo.

Ad ogni inoltro, ogni nodo esegue indipendentemente gli stessi controlli di base: la firma è valida? Gli UTXO referenziati esistono e sono ancora non spesi? La transazione rispetta le regole del protocollo? Qualsiasi transazione che non supera questi controlli viene scartata silenziosamente e non propagata ulteriormente.

Passo 3: Il mempool (In attesa di un miner)

Le transazioni valide ma non confermate entrano in un'area di attesa temporanea chiamata memory pool, o mempool. Ogni nodo completo mantiene la propria versione del mempool in modo indipendente. Le transazioni attendono qui, a volte per minuti e a volte per ore, finché un miner non le seleziona per l'inclusione nel blocco successivo.

È qui che le commissioni di transazione determinano la priorità. I miner hanno un incentivo economico a includere le transazioni che pagano la commissione più alta per unità di dati. Durante i periodi di bassa attività della rete, anche commissioni minime vengono confermate rapidamente. Durante i periodi di congestione, le commissioni aumentano e solo le transazioni più competitive vengono raccolte prontamente.

Passo 4: Mining (Proof-of-Work)

Quando un miner assembla un nuovo blocco, seleziona le transazioni dal mempool, le raggruppa e inizia il lavoro computazionalmente intenso di trovare un hash di blocco valido. Regolando ripetutamente un piccolo valore chiamato nonce e applicando SHA-256 all'intestazione del blocco, cerca un output che soddisfi l'obiettivo di difficoltà corrente: un hash che inizia con un numero richiesto di zeri iniziali.

Non esiste una scorciatoia. Il miner deve provare miliardi di combinazioni al secondo, competendo con ogni altro miner della rete. Il primo a trovare una soluzione valida vince il block reward e tutte le commissioni di transazione incluse. Cos'è un hash e perché questo processo è infalsificabile è spiegato qui.

Passo 5: Conferma (Registrazione permanente)

Il miner vincitore trasmette immediatamente il nuovo blocco alla rete. Ogni altro nodo verifica indipendentemente la soluzione e controlla ogni transazione al suo interno. Questa verifica richiede millisecondi. Se tutto è valido, i nodi aggiungono il blocco alla loro copia della blockchain e iniziano a costruire sopra di esso.

In questo momento, tutte le transazioni all'interno del blocco ricevono la loro prima conferma. La blockchain ha parlato. Come questi blocchi si collegano in una catena immutabile è spiegato qui.

From Send to Confirmed

Every Bitcoin transaction follows these five steps, in this order, every time.

01

Sign

Private key produces a digital signature

02

Broadcast

Sent to thousands of nodes within seconds

03

Mempool

Waits in the memory pool, fee determines priority

04

Mine

Miner bundles it into a block via Proof-of-Work

05

Confirmed

Block added to the blockchain permanently

Il mempool: la sala d'attesa di Bitcoin

Il mempool è spesso immaginato come una singola coda condivisa, ma in realtà ogni nodo della rete gestisce il proprio mempool in modo indipendente. Quando la tua transazione entra nella rete, si propaga gradualmente a migliaia di mempool separati in decine di paesi.

Le commissioni sono espresse in satoshi per byte virtuale (sat/vB), una misura della densità della commissione rispetto alla dimensione della transazione. Una semplice transazione che invia Bitcoin a un destinatario e restituisce il resto occupa circa 140-250 byte. Una transazione che spende molti vecchi UTXO occupa più spazio e quindi costa di più per essere minata alla stessa tariffa.

Durante i periodi tranquilli, il mempool si svuota rapidamente e le transazioni con commissioni basse vengono confermate senza ritardi. Durante i picchi, come i periodi di alta attività di mercato o in seguito a un halving, il mempool può espandersi a decine di migliaia di transazioni in attesa. Le stime delle commissioni possono aumentare notevolmente in un'ora. La maggior parte dei wallet moderni monitora le condizioni attuali del mempool e suggerisce automaticamente tariffe appropriate.

The Mempool: Bitcoin's Waiting Room

Miners always pick the transactions with the highest fee per byte first.

Next Block

3a9f...c72d48 sat/vBHIGH
b14e...a3f141 sat/vBHIGH
77cc...019b35 sat/vBHIGH
e20a...5d8831 sat/vBHIGH

Waiting

f93b...7e2c12 sat/vBWAITING
2d71...bb4a8 sat/vBWAITING
ac58...33105 sat/vBWAITING
6e0f...d9473 sat/vBLOW FEE

Fees shown in satoshis per virtual byte (sat/vB). Data is illustrative.

Il problema del double spending

Nel mondo fisico, consegnare una banconota a qualcuno significa non averla più. I file digitali, al contrario, possono essere copiati perfettamente e istantaneamente. Senza una parte centrale fidata, nulla impedirebbe a qualcuno di inviare gli stessi Bitcoin a due destinatari diversi contemporaneamente, spendendo di fatto gli stessi fondi due volte.

Questo è il problema del double spending, e rappresenta la sfida fondamentale che Bitcoin ha risolto per la prima volta senza richiedere un'autorità centrale.

La soluzione di Bitcoin è integrata nel modello UTXO e nella struttura della blockchain. Ogni transazione fa riferimento a output non spesi specifici e identificabili. Nel momento in cui una transazione che spende un particolare UTXO viene confermata in un blocco, l'intera rete segna quell'output come speso. Qualsiasi transaccione successiva che tenta di fare riferimento a quello stesso output viene automaticamente rifiutata come non valida.

Anche se un attaccante trasmette due transazioni in conflitto contemporaneamente, entrambe che tentano di spendere gli stessi fondi, solo una può entrare nella blockchain. La rete raggiunge il consenso su quale sia arrivata prima, e l'altra viene scartata. Nessun double spending ha successo dopo la prima conferma.

Come funzionano le conferme

Una conferma è semplicemente il conteggio di quanti blocchi sono stati aggiunti alla blockchain dal blocco contenente la tua transazione. La prima conferma arriva quando il blocco della tua transazione viene minato. Ogni blocco successivo aggiunge una conferma in più.

Perché più conferme significano più sicurezza? Perché alterare una transazione confermata richiederebbe di riscrivere non solo il blocco in cui si trova, ma tutti i blocchi aggiunti da allora. Ognuno di quei blocchi ha richiesto un lavoro computazionale reale per essere prodotto. Più una transazione è sepolta in profondità, più lavoro accumulato un attaccante dovrebbe rifare, mentre la rete onesta continua a costruire in avanti.

Per convenzione, 6 conferme sono considerate la soglia per la piena irreversibilità. Dopo circa un'ora e sei blocchi, il costo computazionale di riscrivere la catena fino a quel punto è considerato proibitivo in qualsiasi scenario realistico. Per i pagamenti quotidiani di piccolo valore, una o due conferme sono generalmente sufficienti. Per i trasferimenti di grandi importi, sei o più è lo standard. Molti exchange non accreditano Bitcoin in entrata finché non hanno ricevuto 6 conferme.

How Confirmations Build Security

Each new block added on top makes reversing a transaction exponentially harder.

0Unconfirmed
11 Confirmation
22 Confirmations
33 Confirmations
44 Confirmations
55 Confirmations
6+6+ Confirmations
0Transaction is broadcast but not yet in any block.
1Included in a block. Low-value payments are usually fine.
2Two blocks deep. Risk of reversal is very low.
3Standard for most everyday transactions.
4Considered secure for larger amounts.
5Used by most exchanges as minimum threshold.
6+Irreversible under any realistic attack scenario.

6 confirmations take approximately one hour at normal block times.

Perché questo sistema è sicuro

Tre proprietà distinte lavorano insieme per rendere il sistema di verifica di Bitcoin eccezionalmente resistente agli attacchi.

Prova crittografica. Ogni transazione porta una firma digitale matematicamente legata alla chiave privata. Senza quella chiave, non può essere prodotta alcuna firma valida. Non c'è modo di autorizzare una transazione che non si possiede.

Lavoro accumulato. Una volta che una transazione è sepolta sotto più blocchi, invertirla richiede di rigenerare tutto il proof-of-work costruito sopra di essa, mentre la rete onesta continua ad avanzare. Ogni minuto che passa alza l'asticella per qualsiasi attaccante.

Incentivi economici. Un soggetto che tenta un attacco 51% dovrebbe affrontare costi nell'ordine di miliardi di Euro/Dollar in hardware ed energia. Qualsiasi attacco riuscito minerebbe la fiducia in Bitcoin, facendo crollare il valore dell'asset che sta cercando di rubare. Il mining onesto, al contrario, genera entrate costanti. Il sistema è progettato in modo che rispettare le regole sia sempre più redditizio che violarle.

Queste tre forze non si sommano soltanto. Si moltiplicano a vicenda. Una firma falsificata invalida il proof-of-work. Un proof-of-work compromesso distrugge la struttura degli incentivi economici. Il modello di sicurezza è robusto proprio perché le sue parti si rafforzano da direzioni diverse.

Il ruolo della decentralizzazione

Ogni proprietà di sicurezza descritta sopra dipende da una singola precondizione: che nessuna singola entità controlli la rete. La decentralizzazione non è una funzione aggiunta sopra Bitcoin. È il fondamento su cui tutto il resto si basa.

Bitcoin gira attualmente su decine di migliaia di nodi completi distribuiti su ogni continente. Non c'è un server centrale da spegnere, nessuna azienda su cui fare pressione, nessun amministratore da aggirare. Ogni nodo applica indipendentemente le regole del protocollo. Se un miner produce un blocco non valido contenente una transazione fraudolenta o che viola qualsiasi regola, i nodi lo rifiutano senza eccezioni. Il miner non riceve alcuna ricompensa e il blocco non valido scompare dalla rete.

La separazione dei ruoli tra miner e nodi è particolarmente importante. I miner propongono nuovi blocchi. I nodi completi li validano. Nessun gruppo può sovrascrivere l'altro. Un miner non può cambiare le regole, solo decidere quali transazioni valide includere. Un operatore di nodo non può minare, solo applicare ciò che è valido. Quando entrambi i ruoli esistono in numero sufficiente e distribuzione geografica, nessun singolo soggetto può dettare lo stato del registro.

La finanza tradizionale richiede di fidarsi che una banca, una rete di pagamento o un governo agisca onestamente, elabori le transazioni correttamente e non interferisca con i propri fondi. Bitcoin sostituisce quella fiducia istituzionale con una prova matematica verificabile: trasparente, controllabile e indipendente da qualsiasi decisore umano. Chiunque abbia un computer può eseguire un nodo, controllare l'intera storia e verificare ogni transazione mai avvenuta. Questa apertura non è accidentale. È la fonte dell'affidabilità di Bitcoin.

Fatti Chiave

Un nuovo blocco Bitcoin viene aggiunto alla blockchain approssimativamente ogni 10 minuti.

Il mempool di Bitcoin può contenere decine di migliaia di transazioni non confermate contemporaneamente, ciascuna in competizione per un posto nel blocco successivo.

Dopo 6 conferme (circa un'ora), una transazione è considerata irreversibile a tutti gli effetti pratici.

Per riscrivere una transazione Bitcoin confermata, un attaccante dovrebbe controllare più del 50% dell'intero hash rate globale, con costi enormi.

Domande frequenti

La maggior parte delle transazioni riceve la prima conferma entro 10-30 minuti. Per i pagamenti quotidiani di piccolo importo, una conferma è generalmente sufficiente. Per i trasferimenti di grandi somme, attendere 6 conferme (circa un'ora) è la prassi standard ed è considerato pienamente irreversibile.

Se la commissione è troppo bassa, i miner possono ignorare la transazione a favore di quelle più remunerative. La maggior parte dei wallet consente di aumentare la commissione retroattivamente tramite una tecnica chiamata Replace-By-Fee (RBF). Se la transazione rimane non confermata abbastanza a lungo, alcuni nodi la elimineranno dal loro mempool e i fondi torneranno al wallet del mittente.

In teoria, un attaccante che controlla più del 50% della potenza di mining globale potrebbe tentare di riscrivere i blocchi recenti. Questo si chiama attacco 51%. In pratica, l'hash rate di Bitcoin è così elevato che nessun singolo soggetto è vicino a tale soglia. I costi energetici e hardware richiesti supererebbero di gran lunga qualsiasi guadagno realistico, e un attacco riuscito distruggerebbe probabilmente il valore di Bitcoin stesso.

Fonti

  1. 1.Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System
  2. 2.Bitcoin.org: Come funziona Bitcoin?
  3. 3.Antonopoulos: Mastering Bitcoin, 2a Edizione

Non è una consulenza finanziaria. CanoeBit pubblica esclusivamente contenuti educativi. Nulla di quanto scritto costituisce una raccomandazione di acquisto, vendita o detenzione di asset.