0-conf

acronimo di: zeroconf o zero confirmation

Difficoltà: intermedio

Argomento: tecnologia


DEFINIZIONE

0-conf, Zero-conf, scritto anche senza separatore in 0conf, indica una transazione che non ha ancora ricevuto alcuna conferma.

È lo stato in cui si trova la transazione prima di essere inclusa in un blocco, e viene chiamata anche transazione non confermata.

La possibilità di sostituire una transazione non confermata può essere anche esplicitata dall'utente quando crea la transazione impostandola in modo esplicito tramite l'opzione RBF.

Generalmente fintanto che la transazione si trova in questo stato, si consiglia non considerarla come sicura, perché potrebbe essere sostituita da un'altra transazione, operazione chiamata Transaction Replacement, ma considerato che i tempi di conferma possono essere anche molto lunghi, sia per l'incertezza dei tempi di creazione di un nuovo blocco che mediamemente sarebbero 10 minuti ma a volte possono essere anche superiori ad un ora, ci sono dei casi nei quali può valer la pena correre il rischio e accettare come valida una transazione 0-conf.

Perché le transazioni non confermate vengono considerate non sicure?

Le transazioni Bitcoin vengono trasmesse attraverso un sistema distribuito asincrono in cui non esiste un "primo" a livello globale che riceve la transazione. Quello che Alice ha visto per prima, Bob potrebbe vederlo per secondo. Il design di Bitcoin non prevede un meccanismo che consenta ad Alice e Bob di accordarsi su quale transazione sia stata realmente la prima; tutto ciò che possono fare è aspettare di vedere quale di queste transazioni viene confermata in un blocco valido della migliore catena di blocchi.

Gli aggressori esperti del Double Spend utilizzano strumenti per mappare la connettività della rete, effettuando spese innocue che sembrano in conflitto e vedendo quali versioni appaiono presso quali merchant e in quali blocchi. In questo modo possono creare due versioni della stessa transazione, una da inviare alla vittima e una da inviare ai miner per la conferma.

La presenza del pagamento non sostituibile al merchant impedisce al suo nodo di venire a conoscenza di una doppia spesa fino a quando non compare in un blocco minato da un miner che stava semplicemente minando la transazione che ha visto per prima. Questo schema semplice e comune viene a volte ulteriormente amplificato da altre tecniche, come l'utilizzo di catene di transazioni non confermate, fee basse o transazioni non standard.

Di conseguenza, la stragrande maggioranza della sicurezza delle transazioni non confermate non proviene dal sistema Bitcoin, ma da fattori esterni come il gran numero di utenti Bitcoin onesti che non cercherebbero mai di frodare i loro venditori, la tolleranza tra i venditori per piccole quantità di frodi, la capacità (o la minaccia) dei venditori di ricorrere al sistema legale o ad altri tipi di ricorso e altri fattori che non hanno nulla a che fare con la progettazione del protocollo Bitcoin.

Tutte queste cose valgono anche per la RBF opt-in (e non sono diverse dalla situazione dei pagamenti con carta di credito negli Stati Uniti, che sono facilmente stornabili per mesi dopo lo scambio e che tuttavia hanno tassi di frode abbastanza bassi da essere accettati da quasi tutti i merchant importanti). Inoltre, poiché la RBF può talvolta eliminare i lunghi tempi di conferma, alcuni merchant che in precedenza si sentivano costretti ad accettare transazioni non confermate per evitare spiacevoli ritardi potrebbero non aver più bisogno di farlo, riducendo così la loro esposizione alle frodi.


aggiornato il 2022-11-05