Home / $50 milioni bruciati in DeFi. Assurda storia su Aave. È la transazione più folle di sempre

$50 milioni bruciati in DeFi. Assurda storia su Aave. È la transazione più folle di sempre

Lo swap più disastroso di tutta la storia DeFi: persi $50 milioni in un colpo solo su Aave.

Quanto accaduto all’interno delle piazze DeFi nella giornata di ieri, giovedì 12 marzo, ha dell’incredibile. Un utente particolarmente abbiente avrebbe eseguito uno degli swap più sconvenienti mai registrati nella storia del nostro settore, scambiando 50,4 milioni di $USDT con 327,2 token $AAVE, ricevendo indietro un controvalore di appena $37.384. Il price impact della transazione è stato del -99,93%, un valore clamorosamente brutale.

Qui eToro ti offre trading crypto a ZERO COMMISSIONI: non sei obbligato a correre i rischi della DeFi, scegli una piattaforma sicura, affidabile e con accesso al meglio dei mercati.

Non si è trattato di un hack né di un malfunzionamento dei protocolli coinvolti. Come vedremo nel corso di questo articolo, la vicenda sembra piuttosto il risultato di un mix di disattenzione da parte del trader, possibili inesattezze legate al processo di routing della transazione e una serie di controlli di sicurezza insufficienti. Tutti fattori che hanno portato a un risultato semplicemente assurdo. Vediamo nel dettaglio cosa è davvero accaduto.

Utente perde $50 milioni in una singola transazione in DeFi

Partiamo contestualizzando l’intera vicenda: ci troviamo su Aave, il maggiore protocollo di lending dell’industria DeFi. Qui un utente avrebbe provato a swappare i suoi token $USDT in $AAVE, sfruttando la funzione di swap presente sulla piattaforma, che altro non è che un sistema di “collateral swap” connesso con l’infrastruttura esterna del layer di CoW Protocol.

Più precisamente, l’utente voleva scambiare 50,4 milioni di unità di $aEthUSDT, ossia un token che rappresenta il deposito fruttifero della stessa quantità di token $USDT su Aave nella rete Ethereum. Dall’interfaccia del protocollo è stato richiesto uno swap contro $aEthAAVE, ovvero la versione depositata del token $AAVE.

L’operazione è stata affidata al router di CoW, che si è messo in moto per trovare il percorso più efficiente in termini di valore. Tuttavia il routing individuato presentava uno slippage estremamente elevato, al punto da inviare un avviso di price impact estremo sull’interfaccia di Aave, mettendo in guardia l’utente circa la possibilità di una perdita enorme sullo swap.

Lo stesso utente ha ignorato l’avviso, e ha accettato comunque le condizioni del router. Il percorso eseguito, come mostrato qui sotto nella tx on-chain, è stato il seguente: prima i 50,4 milioni di $aEthUSDT sono stati scambiati per USDT, poi convertiti in 17.957 $WETH (fino a qui tutto nella norma) e solo infine swappati sulla pool di SushiSwap per appena 327,2 $AAVE. 

Transazione di swap incriminata
La transazione di swap incriminataFonte dati: https://etherscan.io

Il disastro è servito: oltre $50 milioni di controvalore persi durante il tragitto, che in realtà, come vedremo dopo, non sono stati persi ma raccolti da qualcun altro nel blocco successivo

La DeFi punisce la negligenza

Questo è probabilmente uno dei casi più estremi di price impact mai registrati nella storia della DeFi, che ha lasciato completamente spiazzati tutti gli addetti ai lavori, dagli analisti fino agli sviluppatori. Non si è trattato di un incidente in senso stretto, in quanto tutte le componenti dei protocolli coinvolti hanno funzionato come da regole. C’è però un concorso di colpe in una serie di passaggi che avrebbero potuto essere gestiti meglio, evitando il patatrac.

In primis, la responsabilità maggiore è dell’utente, che inspiegabilmente avrebbe ignorato i warning inviati dal protocollo Aave ed accettato le condizioni offerte dal routing di CoW Swap. Condizioni che, nei call data incorporati nel percorso, mostravano come output finale minimo di 324,9 token $AAVE. Il pagamento effettivo è stato di 327,23 $AAVE, quindi la transazione ha rispettato esattamente i parametri firmati dall’utente.

Warning CoW Swap
Warning CoW SwapFonte dati: https://x.com/CoWSwap

Il problema è che l’utente ha deliberatamente accettato quel price impact. Così facendo il router di CoW ha semplicemente cercato il percorso più breve che potesse soddisfare quei requisiti, portandolo nella pool di SushiSwap, che all’epoca conteneva 331.35 $AAVE e 17,8 $WETH. Il suo ordine di vendita di 17.957 $WETH ha svuotato quasi completamente il lato $AAVE della pool, prosciugando la liquidità in un singolo passaggio. 

Se non vi è chiaro quest’ultimo passaggio, vi suggeriamo di ripassare il funzionamento delle pool di liquidità AMM nel contesto DeFi.

Pool SushiSwap
Pool SushiSwap Fonte dati: https://x.com/0xQuit

Non è stata solo colpa dell’utente

Per definizione, un concorso di colpe implica che la responsabilità non ricada interamente su un singolo operatore. In questo caso, se da un lato il ricco trader ha accettato consapevolmente le condizioni estremamente sfavorevoli, dall’altro l’intera infrastruttura tecnica che ha permesso che tutto ciò potesse accadere, senza offrire un percorso più efficiente in termini di impatto sul prezzo.

Una spiegazione tecnica molto interessante è arrivata dall’utente X Ehsan1579, che ha spiegato come l’inesattezza risieda nelle logiche di ragionevolezza nell’instradamento di CoW.  Il punto è che come descritto da codice, i sistemi del protocollo considerano un’offerta “ragionevole”, e dunque valida a tal punto da essere proposta all’utente, se presenta valore del gas positivo e una quantità di output diversa da zero. 

Non ci sono veri e propri guardrail economici che impediscono l’operazione se il prezzo fornito è di gran lunga peggiore rispetto allo spot, o se il percorso porta allo svuotamento della pool. All’oracolo basta sapere che l’operazione sia valida.

In più, un altro difetto riguarda il modo con cui il codice valuta la bontà delle pool coinvolte nello swap. Il sistema rifiuta infatti solo casi matematicamente impossibili, in cui le riserve sono pari a zero o ci sono errori di calcolo. Ma non rifiuta una pool estremamente sottile come quella di SushiSwap per un acquisto ad otto cifre, poiché lato matematico l’operazione è valida.

Codice solver CoW
Codice solver CoWFonte dati: https://x.com/Ehsan1579

Che fine hanno fatto i $50 milioni dello swap?

Qualcuno più furbo e più scaltro della vittima ha approfittato di questo forte imbalance nella pool di SushiSwap per rivendere subito gli $AAVE e prelevare gran parte dei $WETH accumulati nella pool dopo lo swap disastroso. Non è chiaro se l’operazione sia avvenuta tramite flashloan, o tramite inventory personale, ma è chiaro che c’è lo zampino di MEV bot e block builder. Vi consigliamo questa lettura per comprendere tecnicamente cosa sia successo.

Più nello specifico, un MEV bot avrebbe backrunnato la pool pagando 13.087,73 $ETH al block builders, il quale, avendo il potere di decidere l’ordine delle transazioni, ha inserito il bot subito dopo lo swap dell’utente. Invece il suo profitto personale (del bot) è stato di circa 4.824 $ETH, pari a oltre $9 milioni, ottenuti sfruttando lo squilibrio creato nella pool. A questa cifra si aggiungono ulteriori guadagni dall’arbitraggio precedente tra $USDT e $WETH.

Anche il solver di Cow ha guadagnato bene, incassando $619.000 di fees, offerte però come forma di compensazione all’utente danneggiato. A conti fatti, questa dovrebbe essere l’operazione più remunerativa nella storia di Ethereum per Titan, il builder incaricato di gestire il blocco, e il validatore che ha proposto il blocco (che ha incassato 568 $ETH, pagati dal builder).

Profittti MEV e block builder
Profitti MEV e block builder – Fonte dati: https://x.com/bh359

Tutti hanno partecipato al ricco banchetto, tranne il “povero” utente, a cui però rimangono altri $50 milioni in $USDC, immediatamente prelevati da Aave e inviati in un altro indirizzo (0x1cba79cf8dd10d0d6cd6f098b34dfc3499377829), che attualmente contiene oltre $300 milioni di controvalore in stablecoin.

Opinioni personali dell’autore: attenzione a cosa fate in DeFi

Questa storia ci insegna come in DeFi, specialmente se si sta operando con portafogli multimilionari, sia fondamentale conoscere in maniera approfondita i concetti di liquidità, slippage, e il funzionamento delle pool AMM. L’incidente sarebbe stato banalmente evitabile se l’utente avesse rifiutato di eseguire lo swap tramite l’interfaccia, ed avesse invece scelto altre venue più liquide su CEX o su pool come quella di Uniswap V3.

Allo stesso tempo questo aneddoto ci ricorda che non esistono protezioni MEV, neppure su Cow Swap, quando in gioco ci sono imbalance di questo tipo. Quando si superano i $100.000 di controvalore da swappare (o in generale quando ci si approccia a mercati poco liquidi), è sempre bene suddividere l’importo tramite operazioni TWAP, così da ridurre il price impact finale.

Ci auguriamo altresì che Aave e CoW Swap si mobilitino per rendere impossibile da protocollo eseguire uno swap con un price impact così estremo. L’avviso subentra quando si supera il 20% di tolleranza, ma in questi casi sarebbe il caso di proibire tali atti autolesionistici.

Iscriviti
Notificami
guest

0 Commenti
Più votati
Più nuovi Più vecchi
Inline Feedbacks
View all comments