In una blockchain, un attacco replay è un tipo di attacco informatico che prevede che un utente malintenzionato invii una copia di una transazione valida da una blockchain a un'altra, nel tentativo di indurre la seconda blockchain a pensare che la transazione sia legittima e debba essere elaborata. Ecco un semplice esempio per spiegare come funziona:
Immagina che Alice e Bob stiano giocando a un gioco in cui possono scambiarsi "monete" virtuali utilizzando una blockchain. Alice ha 10 monete e vuole mandarne 5 a Bob. Crea una transazione sulla blockchain che invia 5 monete dal suo conto al conto di Bob e la transazione viene elaborata e registrata sulla blockchain.
Ora, supponiamo che un aggressore di nome Eve voglia ingannare la blockchain facendogli credere che Alice abbia inviato a Bob 10 monete invece di 5. Potrebbe farlo copiando la transazione creata da Alice e inviandola di nuovo alla blockchain, ma questa volta modifica la quantità di monete a 10 invece che a 5. Se la blockchain accetta questa transazione copiata come legittima, penserà che Alice abbia inviato 10 monete a Bob, anche se intendeva inviarne solo 5.
Questo è chiamato attacco di replay e può essere dannoso perché può consentire a un aggressore di manipolare la blockchain e potenzialmente rubare monete ad altri utenti. Per prevenire gli attacchi di replay, molte blockchain utilizzano tecniche speciali come la "protezione di replay" per rendere più difficile per gli aggressori copiare e inviare transazioni più volte.