Quante conferme servono prima di considerare chiusa una transazione

La finalità di una transazione non è un istante fisso: quante conferme servono su reti diverse, perché il numero cambia con il valore trasferito.

hourglass sand timer

Una transazione viene trasmessa, un blocco la include, e sullo schermo compare la prima conferma. Molti utenti si fermano lì, convinti che l’operazione sia ormai chiusa per sempre. Su alcune reti, in alcune condizioni, quella convinzione è sbagliata, e lo dimostrano casi documentati in cui una singola conferma è stata cancellata da una riorganizzazione della catena poche decine di secondi dopo.

La finalità di una transazione non è un interruttore che scatta in un istante preciso uguale per tutte le reti. È una probabilità che cresce con il tempo e con il numero di blocchi successivi che confermano la stessa storia, e il punto in cui quella probabilità diventa accettabile dipende dal valore in gioco, non da una regola fissa uguale in ogni circostanza.

Questo testo spiega che cosa significa considerare definitiva una transazione, quante conferme servono su reti con meccanismi di consenso diversi e perché quel numero cambia legittimamente in base a quanto si sta trasferendo. Riguarda la meccanica del consenso distribuito, non la scelta di quale rete usare.

Il concetto in cinque punti

  • La finalità è probabilistica, non binaria. Su molte reti nessun momento preciso segna il passaggio da reversibile a irreversibile.
  • Ogni conferma aggiunge un blocco di lavoro o di garanzia sopra la transazione. Riscrivere la storia richiederebbe rifare tutto quel lavoro.
  • Il rischio principale è la riorganizzazione della catena. Due versioni concorrenti della cronologia recente possono competere per pochi minuti.
  • Il valore trasferito decide la soglia prudente. Un caffè pagato in cripto non richiede la stessa attesa di un immobile tokenizzato.
  • Alcune reti offrono finalità garantita per costruzione. Un blocco marcato come finalizzato non può più essere riorganizzato, per regola di protocollo.

Che cosa significa davvero la finalità di una transazione

Una conferma indica che la transazione è stata inclusa in un blocco che, al momento dell’osservazione, fa parte della catena considerata valida dalla maggioranza dei nodi. Non significa che quel blocco resterà per sempre nella posizione in cui si trova: su reti che usano un meccanismo di consenso probabilistico, più blocchi possono competere temporaneamente per la stessa posizione, e solo uno di essi sopravvive quando la rete converge su un’unica versione della storia.

Ogni conferma successiva alla prima corrisponde a un nuovo blocco costruito sopra quello che contiene la transazione. Perché un attaccante o un evento di rete possano cancellare la transazione, dovrebbero riscrivere non solo quel blocco ma anche tutti quelli costruiti sopra, un’operazione che diventa più costosa e meno probabile a ogni blocco aggiuntivo che si accumula.

Il termine finalità descrive proprio il punto, sempre approssimato per costruzione su molte reti, in cui questo costo diventa così alto da poter essere considerato trascurabile per la maggior parte degli usi pratici. Non esiste un istante preciso in cui la probabilità di riscrittura tocca esattamente zero: esiste una curva che scende rapidamente, e la scelta di quante conferme attendere equivale a scegliere un punto accettabile su quella curva.

Che cosa può ancora succedere prima della conferma numero uno

Fila di server accesi con luci a led in una sala macchine di un data center
Joël van der Loo / BY-SA 4.0

Nell’intervallo fra l’invio di una transazione e la sua prima inclusione in un blocco, la transazione vive in una zona di attesa condivisa dalla rete, senza alcuna garanzia. In questa fase può essere sostituita da un’altra transazione che spende gli stessi fondi con una commissione più alta, un meccanismo previsto esplicitamente da molti protocolli per permettere di correggere un errore o accelerare un pagamento bloccato.

Chi riceve un pagamento e considera l’operazione conclusa già in questa fase, prima di qualunque conferma, si espone al rischio più alto in assoluto: un doppio tentativo di spesa che sostituisce la transazione originale con una diretta a un indirizzo diverso. È per questo motivo che, per importi che contano davvero, attendere almeno la prima conferma è il minimo indispensabile, non un eccesso di prudenza.

Alcuni commercianti che accettano pagamenti immediati senza attendere conferme si affidano a servizi terzi che valutano in tempo reale la probabilità che una transazione in attesa venga effettivamente inclusa senza essere sostituita, sulla base di segnali come la commissione pagata e la propagazione osservata sulla rete. È una mitigazione statistica, utile per importi contenuti, non un sostituto della sicurezza offerta da una conferma reale.

Le riorganizzazioni della catena, spiegate senza semplificazioni eccessive

Una riorganizzazione avviene quando due o più blocchi vengono prodotti quasi contemporaneamente su punti diversi della rete, ciascuno con la propria transazione candidata a diventare quella definitiva. Per un breve periodo la rete contiene due versioni concorrenti della cronologia recente, finché i nodi non convergono seguendo la regola prevista dal protocollo, tipicamente quella che premia la catena con più lavoro accumulato o con più garanzie di validazione.

Le riorganizzazioni di un solo blocco sono un evento ordinario su molte reti e non indicano un problema di sicurezza: fanno parte del normale funzionamento del consenso distribuito quando due blocchi validi vengono prodotti quasi in contemporanea. Le riorganizzazioni più profonde, che cancellano più blocchi consecutivi, sono rare in condizioni normali e diventano lo scenario a cui ci si riferisce quando si parla di sicurezza delle conferme multiple.

La probabilità di una riorganizzazione profonda dipende in larga parte da quanto è concentrata la capacità di produrre blocchi in poche mani. Su una rete in cui pochi soggetti controllano una quota rilevante della potenza di calcolo o del capitale in gioco, il costo di tentare una riorganizzazione si abbassa, ed è per questo che la distribuzione reale di quella capacità va considerata insieme al numero di conferme, non al posto di esso.

Il numero di conferme cambia con il valore in gioco

Semaforo con la luce verde accesa contro un cielo nuvoloso

Non esiste un numero di conferme universalmente corretto, perché la domanda a cui rispondere non è quante conferme bastano in astratto, ma quanto costerebbe a un attaccante riscrivere quel numero di blocchi rispetto al valore che otterrebbe riuscendoci. Per un pagamento di poco valore, il costo di un attacco supera già ampiamente il guadagno possibile dopo una sola conferma, e attendere di più aggiunge poca sicurezza pratica.

Per un trasferimento di valore molto elevato, il calcolo cambia: un numero maggiore di conferme alza il costo dell’attacco a un livello che nessun soggetto razionale sosterrebbe per il guadagno atteso. Le piattaforme che gestiscono grandi volumi impostano soglie di conferma differenziate proprio su questa base, richiedendo attese più lunghe man mano che l’importo trasferito cresce.

Come cambia il calcolo fra reti diverse

Meccanismo Che cosa rende costoso riscrivere Conferme tipiche per importi correnti Conferme per importi elevati
Prova di lavoro Potenza di calcolo da rifare 1 a 3 6 o più
Prova di partecipazione con finalità economica Capitale messo a garanzia, soggetto a penalità 1 a 2 Attesa della finalità economica, pochi minuti
Reti con finalità istantanea dichiarata Firma di un insieme di validatori sopra soglia Sostanzialmente immediata dopo la firma Stessa soglia, nessun incremento utile

La colonna più importante è la prima: quello che rende sicura una conferma non è il numero in sé, ma il meccanismo economico che sta dietro, ed è la ragione per cui confrontare direttamente il numero di conferme fra reti con meccanismi diversi porta quasi sempre a conclusioni sbagliate.

La finalità economica nella prova di partecipazione

Alcune reti che usano un meccanismo di consenso basato sulla partecipazione economica introducono un concetto distinto dalla semplice conferma: la finalità economica, raggiunta quando una quantità sufficiente di capitale messo a garanzia dai validatori ha firmato collettivamente lo stesso blocco. Da quel momento, riscrivere il blocco richiederebbe che quei validatori tradiscano l’impegno preso, un’azione che il protocollo punisce sottraendo loro parte del capitale depositato.

Questo meccanismo introduce una soglia più netta di quella tipica della prova di lavoro: prima della finalità economica la transazione resta soggetta, sia pure con probabilità molto bassa, a una riorganizzazione; dopo quella soglia, tornare indietro comporterebbe una perdita economica certa e quantificabile per i validatori coinvolti, il che rende l’evento estremamente improbabile in condizioni di rete normali.

Il tempo che separa l’inclusione iniziale dalla finalità economica varia da rete a rete e dipende dal numero di cicli di validazione previsti dal protocollo prima che un blocco venga considerato irrevocabile. Su alcune reti questo intervallo si misura in pochi minuti, su altre in decine di minuti, ed è un’informazione pubblica che ogni protocollo documenta nelle proprie specifiche tecniche, non un dettaglio implementativo nascosto.

Che cosa dichiarano gli strumenti che si usano ogni giorno

Molti esploratori di blocchi e portafogli etichettano una transazione come confermata già dopo la prima inclusione, senza distinguere fra conferma semplice e finalità piena. È una semplificazione comprensibile dal punto di vista dell’interfaccia, ma che nasconde una differenza sostanziale a chi deve decidere quanto attendere prima di considerare concluso un trasferimento di valore rilevante.

Le specifiche tecniche che definiscono le etichette di stato di un blocco, come i concetti di blocco sicuro e blocco finalizzato adottati da alcune reti, sono pubblicate e consultabili nella raccolta delle specifiche di riferimento, e distinguono esplicitamente livelli di garanzia diversi che un’interfaccia semplificata spesso appiattisce in un’unica spunta verde.

Chi sviluppa applicazioni che gestiscono pagamenti dovrebbe interrogare direttamente questi livelli, quando la rete li espone, invece di fare affidamento soltanto sul numero di conferme mostrato da un servizio terzo. La differenza pratica emerge soprattutto nei momenti di congestione della rete, quando i tempi di produzione dei blocchi si allungano e un conteggio basato solo sul tempo trascorso può risultare fuorviante rispetto allo stato reale di finalità.

Una regola pratica, senza formule complicate

  1. Per acquisti quotidiani di poco valore, la prima conferma, o anche l’inclusione in attesa su reti che la offrono in modo affidabile, è generalmente sufficiente.
  2. Per importi che rappresentano una cifra significativa per chi li riceve, attendere le conferme minime consigliate dalla piattaforma o dal servizio coinvolto, tipicamente alcune unità.
  3. Per trasferimenti di valore molto elevato o irreversibili per natura, attendere la finalità economica quando la rete la prevede, o un numero di conferme sensibilmente più alto della media in caso contrario.
  4. In presenza di segnali di instabilità della rete, come un aumento anomalo della frequenza di blocchi orfani, aumentare la prudenza indipendentemente dall’importo.

Questa gerarchia di attesa vale anche per chi valuta l’ingresso in protocolli di finanza decentralizzata che richiedono depositi rilevanti: la fretta di completare un’operazione prima della conferma adeguata è una delle cause più comuni di perdite evitabili con una semplice attesa.

Domande frequenti

Sei conferme sono sempre sufficienti su una rete a prova di lavoro?

Per la maggior parte delle situazioni sì, ma il numero storico di sei conferme nasce da un calcolo di sicurezza fatto per condizioni di rete specifiche. Per importi eccezionalmente elevati, o in presenza di segnali che suggeriscono una concentrazione anomala di potenza di calcolo, alcuni operatori scelgono soglie più alte per prudenza aggiuntiva.

Che differenza c’è fra un blocco confermato e uno finalizzato?

Un blocco confermato fa parte della catena osservata in un dato momento, ma può ancora essere sostituito da una riorganizzazione, sia pure con probabilità decrescente. Un blocco finalizzato, dove il concetto è definito dal protocollo, non può più essere sostituito per regola di consenso, salvo un evento eccezionale che comprometterebbe l’intera rete.

Posso accelerare il raggiungimento della finalità?

No, la finalità dipende dal comportamento collettivo della rete e dal tempo che impiega a produrre i blocchi successivi, non da un’azione che il singolo utente può compiere. Pagare una commissione più alta accelera l’inclusione nella zona di attesa, non il numero di conferme successive necessarie.

Un numero maggiore di conferme costa qualcosa in più?

No, la commissione pagata riguarda solo l’inclusione iniziale della transazione in un blocco. Attendere conferme aggiuntive non comporta alcun costo ulteriore, soltanto tempo, ed è per questo che nella maggior parte dei casi conviene semplicemente attendere qualche minuto in più quando l’importo lo giustifica.

Le riorganizzazioni profonde sono mai accadute davvero?

Sì, sono stati documentati episodi di riorganizzazione di più blocchi su reti con potenza di calcolo distribuita in modo non uniforme, in particolare su reti più piccole dove concentrare risorse sufficienti a tentare l’operazione è più economico. È uno dei motivi per cui il numero di conferme prudente non è lo stesso su ogni rete, anche a parità di meccanismo di consenso.

Le riorganizzazioni profonde documentate sono state quasi sempre precedute da un calo temporaneo e marcato della potenza di calcolo complessiva dedicata alla rete, condizione che rende più economico per un singolo soggetto raggiungere una quota di controllo rilevante. Monitorare questo tipo di segnale, quando gli strumenti lo consentono, è una pratica aggiuntiva utile per chi gestisce importi importanti su reti meno capillari.

La domanda giusta non è quante conferme bastano in generale, ma quanto costerebbe a qualcuno cancellare proprio quella transazione, con quell’importo, su quella rete, in quel momento. Chi impara a farsi questa domanda smette di cercare un numero magico uguale per ogni operazione.

Ingegnere del software, lavora su sistemi distribuiti e legge codice prima di leggere i comunicati. Segue da vicino i livelli due, i meccanismi di consenso e gli incidenti tecnici documentati. Spiega come funziona un sistema, non quanto potrebbe valere.
13