Cos'è Race Attack?
Un Race Attack è quando qualcuno trasmette due transazioni cripto in conflitto quasi nello stesso momento, sperando che quella sbagliata venga accettata per prima. È una mossa classica contro i commercianti che accettano pagamenti zero conf. Pensalo come inviare due assegni dallo stesso conto e puntare sul fatto che lo sportellista processi quello che preferisci.
«Race Attack needs Replace by Fee.» Non proprio. Pur essendo correlato, un Race Attack può avvenire anche senza regole di sostituzione esplicite, per questo è diverso da una Transaction Replacement Attack.
Come funziona Race Attack
Immagina qualcuno che paga un negozio con criptovalute al banco. Vuole il caffè e tenersi le monete. Ecco come si svolge.
- Passo 1: L'attaccante crea due transazioni che spendono le stesse monete, ma con destinatari diversi.
- Passo 2: Invia una al commerciante e contemporaneamente manda l'altra a diversi nodi sperando che si propaghi più in fretta.
- Passo 3: Il commerciante vede arrivare la prima, la considera pagata e consegna la merce.
- Passo 4: I miner confermano una delle transazioni in conflitto. L'altra viene respinta dalla rete non appena arriva un blocco.
- Passo 5: Se quella confermata è la versione preferita dall'attaccante, il commerciante non ottiene nulla, oltre a una lezione.
Sì, è così semplice e sì, la tempistica è tutto.
Perché Race Attack conta
E se qualcuno prova a farlo?
- Vantaggio: Conoscere i Race Attack ti consente di definire regole di pagamento sensate, così non consegni merce per una promessa che poi non si salda.
- Prospettiva: È una variante di un più ampio Double Spending Attack, ma non richiede attrezzature costose o grandi risorse finanziarie.
- Rilevanza: Ne sentirai parlare in relazione a portafogli punto vendita, e commerce e qualsiasi servizio che prenda in considerazione pagamenti zero conf.
Se vendi qualcosa che viene spedita o ha valore reale, aspetta una o più conferme di transazione prima di consegnare. Per acquisti piccoli in persona, imposta dei limiti e usa portafogli che segnalano conflitti.
Caratteristiche principali di Race Attack
Cosa distingue un Race Attack:
- Istantaneo: Si svolge prima della prima conferma di blocco.
- Conflittuale: Due transazioni spendono gli stessi input, solo una potrà essere confermata.
- Velocità: La propagazione e la scelta dei miner decidono il vincitore, più che l'hardware.
- Diverso: Non richiede attacchi 51% o il controllo del mining.
Varianti
Il Race Attack ha alcune varianti che potresti incontrare:
- Classico: Due transazioni in conflitto trasmesse quasi nello stesso momento.
- Finney: Un miner premina un blocco con una spesa, poi paga un commerciante e infine pubblica il blocco.
- Vector76: Combina elementi di blocchi preminati e tempistiche per ingannare gli exchange.
- RBF: Obiettivo simile ma si basa su regole di sostituzione legate alle fee invece che sulla pura gara di propagazione.
La topologia della rete conta. Gli attaccanti possono aumentare le loro probabilità se controllano molti peer o identità false, motivo per cui i attacchi Sybil spesso compaiono nelle discussioni sulle contromisure ai Race Attack.
Esempio
Un truffatore paga un chiosco con un trasferimento zero conf, poi corre con una transazione in conflitto verso i miner e vince, lasciando il chiosco senza pagamento anche se lo schermo ha mostrato brevemente che era pagato.
Curiosità
Il Race Attack fu discusso nei primissimi forum di Bitcoin, e il consiglio alla vecchia maniera di Satoshi di aspettare più conferme rimane la mossa consigliata. Rolex incontra i thread di Reddit.
Riepilogo
In una riga: un Race Attack è una questione di tempistica contro i pagamenti zero conf, quindi un po' di pazienza lo rende storia passata.
