Che cos’è un sandwich attack in crypto e come puoi proteggerti?

Che cos’è un sandwich attack in crypto e come puoi proteggerti?

Che cos’è un sandwich attack in crypto?

Un sandwich attack è una forma di manipolazione del mercato all’interno della DeFi e in particolare sugli exchange decentralizzati (DEX’s). L’attaccante esegue il proprio attacco su transazioni già visibili, ma non ancora eseguite, nella mempool (una sorta di sala d’attesa digitale per le transazioni crypto) di una blockchain.

L’attacco è chiamato “sandwich” perché la transazione della vittima viene incastrata tra due transazioni dell’attaccante: una prima e una dopo l’ordine originale.

I sandwich attacks si verificano principalmente su piattaforme decentralizzate, perché lì le transazioni sono visibili prima di essere eseguite e incluse in modo definitivo in un blocco. Questo permette agli attaccanti di cercare opportunità di manipolazione all’interno degli Automated Market Makers (AMM’s) che funzionano con liquidity pools e pricing algoritmico, come Uniswap e PancakeSwap.

In sostanza, un sandwich attack è una forma di Maximal Extractable Value (MEV), in cui i block producer o i bot cercano di estrarre valore aggiuntivo dalle transazioni manipolando strategicamente il loro ordine.


In breve

  • Un sandwich attack è una forma di manipolazione del mercato all’interno della DeFi in cui un attaccante sfrutta transazioni visibili nella mempool per ottenere profitto.
  • L’attacco funziona inserendo un grande ordine di un trader tra due transazioni proprie: una prima (front-run) e una dopo (back-run) l’ordine originale.
  • Il profitto dell’attaccante deriva direttamente dallo slippage aggiuntivo subito dalla vittima, che riceve un prezzo peggiore rispetto a quello previsto.
  • I sandwich attacks aumentano i costi effettivi di trading, riducono l’efficienza degli exchange decentralizzati e possono compromettere la fiducia nella DeFi.
  • Sebbene il rischio sui DEX’s non possa essere completamente eliminato, i trader possono proteggersi meglio riducendo la propria slippage tolerance, suddividendo grandi ordini, scegliendo pool con alta liquidità o operando tramite piattaforme centralizzate.

Come funziona un sandwich attack?

Un sandwich attack funziona cercando inizialmente una transazione di grandi dimensioni, che abbia quindi un forte impatto e uno slippage più elevato, nella mempool (la coda delle transazioni non ancora confermate) e sfruttandola posizionando immediatamente una transazione con gas fee più alte, ottenendo così la priorità. Dopo l’esecuzione dell’ordine della vittima, che ha comprato o venduto a un prezzo peggiore, l’attaccante inserisce una seconda transazione nella direzione opposta. Il meccanismo funziona così:

1. Individuazione di una transazione di grandi dimensioni
Un attaccante, solitamente un bot automatizzato, monitora la mempool e individua un grande ordine di acquisto o vendita su un DEX. I grandi ordini causano generalmente un impatto significativo sul prezzo (slippage) all’interno di un liquidity pool.

2. Transazione di front-running
L’attaccante inserisce immediatamente una propria transazione con gas fee più alte, in modo che venga eseguita prima della transazione della vittima.

  • Nel caso di un grande ordine di acquisto, l’attaccante acquista per primo lo stesso token, facendo salire il prezzo.
  • Nel caso di un grande ordine di vendita, l’attaccante vende per primo, facendo scendere il prezzo.

3. Transazione di back-running
Una volta che la transazione della vittima è stata eseguita a un prezzo peggiore, l’attaccante esegue una seconda transazione nella direzione opposta:

  • Dopo un front-run di acquisto, l’attaccante vende al prezzo ora più alto.
  • Dopo un front-run di vendita, l’attaccante riacquista a un prezzo più basso.

In questo modo l’attaccante ottiene un profitto quasi privo di rischio, mentre la vittima riceve un prezzo di esecuzione peggiore rispetto a quello previsto.

Il profitto dell’attaccante deriva direttamente dallo slippage aggiuntivo subito dalla vittima.

Esempio: Supponiamo che il pool ETH/USDT su Uniswap contenga 1.000 ETH e 2.000.000 USDT, corrispondenti a un prezzo di circa 2.000 USDT per ETH. Un trader vuole acquistare 100 ETH in un’unica operazione. Un bot MEV individua questo grande ordine nella mempool prima che venga eseguito. Il bot acquista prima, ad esempio, 50 ETH e paga gas fee più alte affinché la propria transazione venga elaborata per prima. Questo fa aumentare il prezzo di ETH nel pool. Successivamente, l’ordine della vittima viene eseguito a questo prezzo più alto, facendole pagare più USDT del previsto.

Subito dopo, il bot rivende i suoi 50 ETH al pool al prezzo ormai ulteriormente aumentato, in parte spinto dal grande acquisto della vittima. L’attaccante guadagna sulla differenza di prezzo, mentre i costi aggiuntivi ricadono sulla vittima sotto forma di maggiore slippage.

Qual è l’impatto di un sandwich attack?

L’impatto di un sandwich attack è che le vittime eseguono la propria transazione a un prezzo peggiore rispetto a quello inizialmente desiderato, mentre l’attaccante guadagna sulla differenza di prezzo. Nella pratica, i sandwich attacks comportano costi effettivi di trading più elevati per i singoli utenti e riducono l’efficienza degli exchange decentralizzati.

I sandwich attacks generano un ulteriore impatto sul prezzo (slippage) per i trader, con conseguenti costi di transazione effettivi più elevati e un’esecuzione meno favorevole, soprattutto in caso di grandi transazioni o bassa liquidità. Questo diventa spesso evidente solo a posteriori, quando il prezzo finale della transazione risulta più alto in caso di acquisto o più basso in caso di vendita rispetto alle aspettative. Inoltre, i sandwich attacks hanno un impatto negativo sull’immagine della DeFi. Grazie alla struttura aperta e alla trasparenza delle transazioni, questi attacchi sono possibili e i trader onesti sono spesso quelli che ne subiscono le conseguenze.

Come puoi proteggerti dai sandwich attacks?

I sandwich attacks restano un punto critico nel mercato crypto e in particolare nei protocolli DeFi. Tuttavia, esistono diversi modi per ridurre la probabilità di diventare vittima di un sandwich attack:

  1. Riduci la tua slippage tolerance
    Impostando una slippage tolerance bassa, limiti la variazione di prezzo che sei disposto ad accettare. Se il prezzo viene manipolato eccessivamente, la tua transazione fallirà invece di essere eseguita a un prezzo significativamente peggiore. Tieni presente che una tolleranza troppo bassa, soprattutto per coppie con bassa liquidità, può far fallire la transazione più frequentemente.
  2. Evita di inserire grandi ordini di mercato in una sola volta
    Suddividere grandi transazioni in parti più piccole riduce l’impatto visibile sul prezzo e ti rende meno interessante per i bot MEV.
  3. Utilizza DEX’s con protezione MEV
    Alcune piattaforme offrono protezione contro il front-running e i sandwich attacks tramite instradamento privato delle transazioni o meccanismi di ordine speciali.
  4. Opera in pool con alta liquidità
    Maggiore è la liquidità, minore è l’impatto sul prezzo delle singole transazioni e meno profittevole diventa un sandwich attack.
  5. Utilizza limit orders quando disponibili
    Con le limit orders, imposti tu stesso il prezzo massimo di acquisto o il prezzo minimo di vendita, proteggendoti dall’esecuzione a un prezzo peggiore rispetto a quello stabilito in precedenza.
  6. Opera tramite piattaforme centralizzate (CEX’s)
    Sugli exchange centralizzati come Finst, gli ordini vengono elaborati tramite un book ordini interno e le transazioni non sono visibili in anticipo in una mempool pubblica. Di conseguenza, il meccanismo classico dei sandwich attacks, come avviene nei DEX’s basati su AMM, non si applica.

In conclusione

Un sandwich attack dimostra come la trasparenza delle blockchain pubbliche possa essere sia un punto di forza sia una vulnerabilità. Sfruttando strategicamente le transazioni visibili nella mempool, gli attaccanti possono trarre profitto quasi senza rischio dall’impatto sul prezzo generato da altri trader. Questo comporta costi effettivi di trading più elevati, maggiore slippage e una struttura di mercato meno efficiente all’interno della DeFi.

Sebbene i sandwich attacks si verifichino soprattutto sugli exchange decentralizzati basati su AMM, gli utenti possono ridurre significativamente il rischio gestendo in modo consapevole le impostazioni di slippage, la dimensione degli ordini e la liquidità. Inoltre, alcuni DEX’s offrono una protezione aggiuntiva contro il MEV e le piattaforme di trading centralizzate rappresentano un’alternativa in cui il meccanismo classico del sandwich non si applica. Comprendere come funzionano questi attacchi è quindi essenziale per chiunque sia attivo nel mercato crypto.

Chi è Finst

Finst è una piattaforma di criptovalute leader nei Paesi Bassi che offre commissioni di trading ultra-basse, sicurezza di livello istituzionale e una gamma completa di servizi crypto come trading, custodia, staking e rampe fiat di ingresso e uscita. Fondata dall’ex team core di DEGIRO, Finst è autorizzata come fornitore di servizi di criptoasset dall’Autorità olandese per i mercati finanziari (AFM) e serve clienti retail e istituzionali in 30 paesi europei.

La piattaforma cripto che amerai

Siamo qui per darti strumenti, ispirazione e supporto per diventare un investitore migliore.

Registrati