Cos'è Finney Attack?
Un Finney Attack avviene quando un minatore prepara in segreto un blocco che spende le monete verso se stesso, poi paga un commerciante con quelle stesse monete con una transazione non confermata. Se il commerciante consegna la merce prima che arrivi una conferma, il minatore pubblica il blocco preparato, annullando il pagamento. Pensalo come mostrare un trasferimento in attesa alla cassa e poi vedere la banca tornare indietro.
Spesso si assume che un Finney Attack richieda il controllo della maggioranza della rete. Non è così. Quello è un 51% attack, che è una questione diversa. Un Finney Attack richiede solo che un singolo minatore trovi un blocco in privato e poi effettui un acquisto prima di pubblicare quel blocco.
Come funziona Finney Attack
Ecco il processo, spiegato in modo diretto. Un minatore inserisce un pagamento a se stesso in un blocco, lo mantiene privato, poi spende le stesse monete presso un venditore che accetta pagamenti non confermati. Dopo essere uscito con la merce, pubblica il blocco privato, che annulla la vendita.
- Setup: L'attaccante fa parte del mining, quindi può trovare blocchi e scegliere cosa includere.
- Private: Minano un blocco in segreto che invia le monete a se stessi. La probabilità di trovare quel blocco dipende dal hash rates della rete e dalla fortuna.
- Spend: Spendono: Pagano un commerciante con le stesse monete con una transazione non confermata al bancone.
- Accept: Se il commerciante consegna la merce prima di qualsiasi conferma, l'attaccante trasmette il blocco privato.
- Reorg: La rete accetta il blocco privato, conferma il pagamento a se stesso e il pagamento del commerciante scompare. L'attaccante si tiene sia le monete sia la merce.
Veloce, furtivo e funziona solo quando si accettano pagamenti senza conferma.
Perché Finney Attack è importante
Cosa devi ricordare?
- Benefit: Sapere che esiste aiuta a evitare che truffatori ottengano merce gratis e che tu perda fondi.
- Perspective: È una forma mirata di double spending, e sfrutta l'impazienza al punto vendita.
- Relevance: Se ne parla nei pagamenti crypto al dettaglio, negli scambi in persona e nei mercati che accettano transazioni non confermate.
Per qualsiasi cosa che sarebbe doloroso perdere, ricorri a un deposito a garanzia o a un pagamento in stile Lightning, oppure aspetta almeno una conferma. Le transazioni senza conferma vanno bene per acquisti molto piccoli, ma stabilisci limiti e istruisci il personale a non premere frettolosamente quel pulsante.
Caratteristiche chiave di Finney Attack
I tratti distintivi sono facilmente riconoscibili se li conosci:
- Preload: Un blocco privato include un pagamento a se stesso prima che avvenga l'acquisto in negozio.
- Miner: Funziona solo se l'attaccante può minare un blocco, non chiunque abbia solo un portafoglio.
- Timing: La finestra è breve, tra la vendita e la trasmissione di quel blocco privato.
- Target: Commercianti o pari che accettano transazioni non confermate.
- Scope: Non richiede il controllo della maggioranza; è un trucco mirato.
Varianti
Mosse correlate di cui potresti sentire parlare, più una confusione comune:
- Race: L'attaccante trasmette due pagamenti in conflitto e spera che quello ricevuto dal commerciante risulti confermato per primo, per poi essere invalidato quando l'altro viene confermato.
- Vector76: Un mix che combina la costruzione di blocchi privati con una corsa nella rete, di solito contro exchange o grandi venditori.
- Premine: Non è la stessa cosa di pre mining di monete, che indica l'allocazione dell'offerta prima del lancio.
- Tooling: Alcuni attaccanti lo automatizzano con script, come un exploit, rilasciando il blocco nel momento in cui la vendita viene finalizzata.
Le conferme esistono per una ragione. Se accetti un pagamento non confermato da un perfetto sconosciuto, un Finney Attack è possibile, soprattutto se la persona sembra troppo desiderosa che tu prema subito il tasto di conferma.
Esempio
Un piccolo negozio di elettronica accetta un pagamento senza conferma per un portatile, l'acquirente se ne va, poi compare un blocco minato privatamente che annulla la vendita: gioco classico da Finney Attack.
Curiosità
Prende il nome da Hal Finney, pioniere di Bitcoin e destinatario della prima transazione da Satoshi. Ne scrisse per spiegare perché conviene aspettare le conferme.
Conclusione
Se devi ricordare una sola cosa, che sia questa: Finney Attack colpisce solo quando ti fidi di un pagamento non confermato.
