Replay Attack

Difficoltà: intermedio

Argomento: tecnologia


DEFINIZIONE

È un tipo di attacco che può avvenire in concomitanza di una chain split della blockchain.

Quando avviene una chain split a causa di un fork la blockchain si divide in due rami, in cui le chiavi private associate alla criptovaluta relativa a quel network sono comuni ai due rami e possono generare transazioni valide su entrambi.

Se, a valle del fork, si effettuasse una transazione sulla catena A, l'utente che riceve i fondi può prendere la transazione e trasmetterla sulla catena B ricevendo i fondi anche sulla catena B anche se la transazione non è stata trasmessa da chi ha creato la transazione.

Per evitare questo rischio, quando si genera un fork che produce una chain split, la nuova cripto che genera lo split dovrebbe attivare nelle sue regole un meccanismo di protezione chiamato reply protection.

Questo fu infatti ciò che successe nel 2016 all'exchange Coinbase quando ci fu il fork di Ethereum e Ethereum Classic: inizialmente Coinbase era vulnerabile al replay attack. Nei primi giorni dopo la separazione, quando si prelevava Ethereum da Coinbase, c'era la possibilità che Coinbase inviasse due versioni della transazione: una su Ethereum e una su Ethereum Classic. Alcuni sofisticati trader del settore furono in grado di capitalizzare questa svista di Coinbase: potevano dividere le loro monete in Ethereum Classic ed Ethereum, poi depositare Ethereum su Coinbase. Senza fare trading, gli Ethereum appena caricati potevano essere ritirati da Coinbase e il trader poteva sperare di fare replay e di ricevere Ethereum Classic gratuitamente. Dopo un certo periodo, Coinbase scoprì l'errore e implementò una forma di replay protection e coprì le perdite con il proprio bilancio.


aggiornato il 2021-10-21