È il primo attacco o hack noto su Bitcoin e scoperto da chi è stato il primo a ricevere una transazione bitcoin, Hal Finney. L'hack o l'attacco di Finney, come è stato chiamato in suo onore, è un tipo molto speciale di attacco a doppia spesa che colpisce Bitcoin e qualsiasi criptovaluta da esso derivata.

EIl primo destinatario di una transazione Bitcoin è stato Hal Finney ed è stato lui a parlare per la prima volta del lancio di Bitcoin. È stato anche il primo a suggerire la possibilità di un attacco a doppia spesa su Bitcoin. Per questo motivo, questo attacco è stato chiamato come Finney Hack o Finney Attack in suo onore

L'hack o l'attacco di Finney è un tipo di hacking o attacco a doppia spesa Cosa può accadere quando una persona accetta una transazione non confermata sulla rete. Finney ha spiegato che un minatore può generare un blocco in cui includerà una transazione da un indirizzo A a un altro indirizzo B, dove entrambi gli indirizzi appartengono a lui. Quindi, effettuerai un altro pagamento con le stesse valute, inviando dall'indirizzo A all'indirizzo C (che appartiene a un altro utente). Se detto utente accetta la transazione senza conferme dalla rete, l'attaccante può rilasciare il blocco in cui è inclusa la sua transazione iniziale. Ciò invalida la transazione fatta al commerciante consentendo all'attaccante di raddoppiare la spesa.

Hal Finney l'autore dell'attacco Finney con sua moglie

Come viene eseguito un hack o un attacco di Finney?

Eseguire questo tipo di attacco a doppia spesa non è un compito facile. Al contrario, è molto difficile da eseguire perché implica che l'attaccante sia un minatore in grado di estrarre il blocco dove verrà convalidata la sua transazione. Inoltre, è necessario che un commerciante accetti una transazione con zero conferme dalla rete. Unire queste due condizioni è abbastanza difficile. Tuttavia, in teoria è possibile eseguirlo anche quando si ha meno di 51% di potenza hash della rete. Vediamo come viene eseguito questo attacco in 3 passaggi:

Quando l'attaccante ha successo, significa che ha eseguito un attacco hacker o Finney. Tuttavia, a seconda della potenza di hashing del miner, è abbastanza improbabile che questo attacco venga eseguito. Pertanto, minore è il potere di hashrate del miner, minori sono le possibilità che lo esegua con successo. D'altra parte, l'attacco fallirà nel caso in cui un altro blocco venga trovato sulla rete nel tempo impiegato dall'aggressore per trovare un blocco fino a quando la transazione non viene generata e accettata dal commerciante.

Quindi eseguire questo tipo di attacco a doppia spesa richiede un tempismo accurato e molta pazienza da parte dell'attaccante. Dal momento che bisogna aspettare per trovare un blocco, il che può richiedere molto tempo, di più considerando il numero di miner e la difficoltà della rete. Inoltre, l'attaccante deve essere in grado di acquistare del bene o pagare un servizio a un commerciante in pochi minuti. Poiché come accennato, se un altro minatore trova e trasmette un altro blocco, la transazione al commerciante verrà inclusa e il suo attacco fallirà.

Chi è suscettibile a un attacco Finney?

Se una persona o un commerciante accetta pagamenti per transazioni non confermate, potrebbe essere l'obiettivo di questo attacco. Ad esempio, un negozio con servizi online come il download di videogiochi che accettano criptovalute e che consentono download immediati potrebbe essere soggetto a questo tipo di attacco. È probabile che si verifichi anche nei supermercati, sebbene il tempo di acquisto non sia esatto. Ciò è dovuto al fatto che potrebbero esserci molte persone in coda di pagamento, il che impedisce a un utente malintenzionato di utilizzare il tempo a proprio vantaggio.

Quanto sai, Cryptonuta?

L'attacco di Finney non è stato risolto perché gli sviluppatori non possono risolverlo?

FALSO!

L'attacco Finney è facile da sistemare a livello di codice, ma nonostante questo gli sviluppatori non lo hanno fatto per un motivo potente: richiede una modifica che cambia drasticamente il modo in cui viene gestito il consenso in rete e potrebbe avere effetti indesiderati . Per questo motivo, e considerando che la decentralizzazione e l'aumento della potenza di mining rendono questa debolezza estremamente difficile da sfruttare, gli sviluppatori di Bitcoin hanno trascurato l'errore a favore di lasciare le cose così come sono. Dopotutto "Se funziona, non toccarlo".

Come proteggersi da un attacco di Finney?

La prima raccomandazione è attendere almeno 6 conferme sulla rete Bitcoin per considerare una transazione sicura e irreversibile.. Tuttavia, il decentramento della rete è cresciuto così tanto che nella stragrande maggioranza dei casi con 1 o 2 può addirittura bastare, potendo valutare anche il numero di conferme in base all'importo transato.

Ad esempio, se intendi accettare meno di 100 €, può bastare una conferma perché il costo dell'attacco sarebbe enormemente superiore al Teoria dei giochi y el equilibrio di Nash non favorirà mai l'esecuzione dell'attacco.

Come abbiamo accennato in articoli precedenti su transazioni irreversibili, Le transazioni Bitcoin saranno irreversibili man mano che vengono generati nuovi blocchi su quello che include la transazione. Ogni nuovo blocco viene riflesso come conferma della transazione inclusa. Tuttavia, per importi elevati, si consiglia di attendere 6 conferme per assicurarsi che la transazione sia praticamente impossibile da annullare. Pertanto, è a rischio dell'utente o del commerciante accettare transazioni non confermate da un'altra persona.

Se un attaccante intende utilizzare l'attacco Finney per ottenere del bene illiquido, è difficile far coincidere la necessità di questo bene con la ricerca di un blocco. Tuttavia, se lo usi come un modo per ottenere qualcosa di liquido, come lo scambio di bitcoin con un'altra valuta, c'è sempre una possibilità che venga realizzato. Ma il commerciante probabilmente ti ha chiesto una serie di conferme per eseguire l'azione. Quindi in pratica è abbastanza difficile e improbabile ottenere qualcosa di simile.