Gli exploit degli smart contract sono una preoccupazione costante: i criminali sfruttano le vulnerabilità del codice DeFi, portando ad prestiti flash, rug pull e più recentemente, attacchi sandwich.
Se non hai ancora sentito parlare di attacchi sandwich, potresti non essere solo. Al momento non sono così famosi come i
rug pull. Tuttavia gli attacchi sandwich possono causare situazioni piuttosto problematiche nella DeFi, tanto che
il co-fondatore di Ethereum Vitalik Buterin ne aveva già parlato nel lontano 2018.
Quando si tratta dei numerosi possibili attacchi hacker nella tecnologia, è fondamentale comprendere il concetto di base e le potenziali ramificazioni. Un attacco sandwich, mirato principalmente a protocolli e piattaforme DeFi, può avere conseguenze significative e provocare manipolazioni del mercato. Immergiamoci!
Attacchi Sandwich: ecco cosa sono
Per cominciare,
un attacco sandwich prende di mira principalmente protocolli e servizi finanziari decentralizzati.In un attacco sandwich, un trader malintenzionato cerca una transazione in sospeso sulla rete di sua scelta, ad esempio Ethereum. Il sandwiching avviene effettuando un ordine subito prima dello scambio e uno subito dopo. In sostanza, lo scopo di questi due ordini e delle transazioni in sospeso è quello di manipolare i prezzi degli asset. Vediamo bene come funziona.
In primo luogo il colpevole acquisterà la risorsa con cui l’utente sta effettuando lo scambio, ad esempio utilizzando LINK da scambiare con ETH, provocando un aumento del prezzo di ETH. Quindi acquisterà ETH a un prezzo inferiore per consentire alla vittima di acquistare a un valore più elevato. L’attaccante venderà quindi ETH a un prezzo più alto subito dopo.
La transazione a sandwich influisce sulla quantità di ETH che l’utente iniziale riceverà. Poiché il colpevole è riuscito a completare l’ordine al prezzo desiderato, lo scambio successivo avrà un costo più elevato. Tale sequenza fa aumentare il prezzo dell’ETH, consentendo al colpevole di intascare un profitto facendo retromarcia e creando un aumento artificiale del prezzo.
Vari fattori da considerare negli attacchi sandwich
Il metodo di attacco sandwich (come spiegato sopra) rende questo tipo di attacco semplice. In realtà, è forse troppo facile eseguire questo tipo di attacco. Anche se il profitto è piccolo, è possibile utilizzare questo metodo ripetutamente e senza ripercussioni. Tuttavia un trader malintenzionato deve essere ben preparato per sferrare un attacco sandwich. Ci sono molte complessità da considerare nella finanza decentralizzata che possono influire sulle possibilità di successo.
La maggior parte degli attacchi sandwich viene eseguita tramite soluzioni di
market maker automatizzati o AMM. Esempi degni di nota includono
Uniswap, PancakeSwap, Sushiswap e altri. Attraverso i loro algoritmi di prezzo, la liquidità è sempre molto richiesta e le operazioni vengono eseguite continuamente. Tuttavia non possiamo dimenticare l’aspetto dello
slippage del prezzo, che si verifica quando il volume e la liquidità di un asset cambiano.
I trader devono anche affrontare un prezzo di esecuzione previsto, un prezzo di esecuzione effettivo e un tasso di slippage imprevisto. Queste sfaccettature possono influire sui tassi a cui si opera e sulla quantità di asset Y che si riceve in cambio dell’asset X. Le transazioni blockchain possono richiedere del tempo per essere eseguite e i tassi di cambio degli asset possono fluttuare notevolmente, determinando uno slittamento dei prezzi più inaspettato.
Attacco sandwich: due possibili scenari
Tenendo presente tutto quanto sopra, un malintenzionato può eseguire un attacco sandwich in due modi.
I Liquidity Taker si scontrano tra di loro
Non è fuori dall’ordinario vedere diversi liquidity taker attaccarsi a vicenda.
Ad esempio, se un trader ha una transazione AMM in sospeso sulla blockchain, il colpevole può emettere transazioni successive — front-running e back-running — a scopo di lucro. Poiché il pool di liquidità e la coppia di asset hanno tre transazioni in sospeso, i miner decideranno quale sarà approvata per prima.
Se il malintenzionato paga un costo di transazione maggiore rispetto all’altro individuo, c’è una maggiore possibilità che la transazione dannosa venga rilevata per prima. Non è un risultato garantito, ma semplicemente un’illustrazione di quanto possa essere facile tentare un attacco a sandwich.
Liquidity Provider vs Liquidity Taker
Un fornitore di liquidità può attaccare un liquidity taker in un modo molto simile. La configurazione iniziale rimane identica, anche se questa volta il malintenzionato attore dovrà eseguire tre azioni.
In primo luogo, rimuovere la liquidità – come metodo di punta – per aumentare lo slippage della vittima. In secondo luogo, aggiungono nuovamente liquidità, tornando indietro per ripristinare il saldo iniziale del pool. Terzo, scambiano l’asset Y con X per ripristinare il saldo dell’asset di X a com’era prima dell’attacco.
Prelevare la propria liquidità prima che la transazione della vittima vada a buon fine annulla la commissione per quella transazione. Normalmente, i fornitori di liquidità guadagnano una piccola commissione per le attività che si verificano nel proprio pool: assicurarsi che la commissione non venga concessa può causare danni finanziari a qualsiasi acquirente, sebbene a scapito della propria commissione.
Gli attacchi sandwich valgono la pena?
Nonostante i chiari incentivi finanziari per l’attacco a sandwich, farlo potrebbe non essere sempre utile. Il costo dell’esecuzione di queste transazioni per il front-run e il back-run di altri trader spesso supererà il guadagno finanziario per i malintenzionati, specialmente quando si utilizza la rete Ethereum, che rileva i costi di transazione piuttosto regolarmente.
Tuttavia, un attacco sandwich può comunque essere redditizio se la commissione guadagnata da un “comportamento normale” e il costo della transazione per un attacco è inferiore all’importo scambiato dalla vittima.
L’avvento del trading decentralizzato attraverso i market maker automatizzati continua a rappresentare un rischio per chiunque utilizzi questi servizi. Un attacco sandwich può verificarsi in qualsiasi momento. Poiché la DeFi attira sempre più persone, ci saranno più opportunità per i malintenzionati di colpire. Ciò non significa che ci saranno più attacchi sandwich (di successo) in futuro, ma è qualcosa da tenere a mente.
Come proteggersi dagli attacchi sandwich
Per gli AMM, è fondamentale sviluppare contromisure in grado di proteggere gli utenti dagli attacchi sandwich. Ad esempio, la piattaforma 1inch ha
introdotto un nuovo tipo di ordine noto come “transazione flashbot”, che non è visibile nel mempool in quanto non viene mai trasmessa ad esso. Invece, la piattaforma ha una connessione diretta a minatori affidabili per rendere visibili le transazioni dopo che i token sono stati minati.
Ad oggi questo sembra essere l’unico modo per gli utenti di proteggersi da un attacco sandwich. Tuttavia non è chiaro se altri AMM stringeranno partnership private con i miners per includere le transazioni senza trasmetterle al mempool. Potrebbero essere trovate altre soluzioni in futuro, anche se probabilmente ci vorrà del tempo.