L’attacco sandwich sfrutta l’ordine delle transazioni nel blocco: come si costruisce, quanto costa a chi lo subisce e quali strumenti lo limitano davvero.
Un ordine di acquisto entra in un pool di liquidità e si muove esattamente come previsto, con uno scarto minimo rispetto al prezzo atteso. Un minuto dopo lo stesso trader guarda la transazione confermata e trova uno scarto tre volte più grande di quello impostato come limite. Non ha sbagliato niente: qualcuno ha letto la sua operazione prima che venisse eseguita e ci ha costruito sopra un profitto.
Questo qualcuno non ha violato nessuna chiave, non ha avuto accesso a informazioni private e non ha rotto nessuna regola del protocollo. Ha semplicemente osservato una transazione in attesa di conferma, ne ha previsto l’effetto sul prezzo e ha inserito due operazioni proprie, una prima e una dopo, in modo da incassare la differenza. È l’attacco sandwich, ed è uno degli usi più diffusi e meno compresi del valore estraibile dai validatori.
Questo testo descrive come si forma l’attacco, che cosa lo rende profittevole, e quali strumenti di invio privato lo riducono, con il costo reale di ciascuna difesa. Non riguarda strategie di investimento né previsioni di prezzo: riguarda la meccanica dell’esecuzione di un ordine su un mercato pubblico.
Il meccanismo in cinque punti
- Il bersaglio è visibile prima della conferma. Ogni transazione in attesa passa per una zona di attesa pubblica, prima di entrare in un blocco.
- Servono due operazioni, non una. Una prima che spinge il prezzo nella direzione attesa, una dopo che lo riporta indietro incassando la differenza.
- La vittima non vede nulla di anomalo. La sua transazione va a buon fine, solo a un prezzo peggiore di quello che si aspettava.
- Il margine di scarto è la porta d’ingresso. Più è ampio il margine di tolleranza impostato sull’ordine, più spazio ha l’attaccante per muoversi.
- L’invio privato è la difesa più efficace. Nascondere la transazione fino al momento dell’inclusione toglie all’attaccante l’informazione che gli serve.
Dove vive l’ordine delle transazioni prima del blocco

Prima di essere inclusa in un blocco confermato, ogni transazione attraversa una zona di attesa condivisa, dove viene trasmessa ai nodi della rete in attesa che un validatore la raccolga. Questa zona è, per costruzione, pubblica: chiunque gestisca un nodo può osservare le transazioni in coda, il loro contenuto e l’effetto che avranno se eseguite.
L’ordine con cui le transazioni entrano in un blocco non segue necessariamente quello di arrivo. Chi produce il blocco ha discrezione su quale sequenza scegliere, entro le regole del protocollo, e può essere pagato perché scelga una sequenza specifica invece di un’altra. Questa discrezione è la base tecnica su cui si costruisce l’intera famiglia di strategie note come valore estraibile dai validatori.
Come si costruisce un attacco sandwich, passo dopo passo

L’attacco richiede tre transazioni ordinate in sequenza precisa. La prima, inviata dall’attaccante, acquista lo stesso attivo che la vittima sta per comprare, spingendone il prezzo verso l’alto prima che l’ordine della vittima venga eseguito. La seconda è la transazione originale della vittima, che si esegue a un prezzo già peggiorato dalla prima operazione. La terza, sempre dell’attaccante, rivende immediatamente quanto acquistato, incassando la differenza fra il prezzo di ingresso e quello gonfiato dall’operazione della vittima.
Il nome descrive esattamente questa struttura: la transazione della vittima resta chiusa fra le due dell’attaccante, come un ripieno fra due fette. Perché la sequenza funzioni, le tre transazioni devono entrare nello stesso blocco e nell’ordine esatto previsto, il che richiede un pagamento aggiuntivo al produttore del blocco per garantirsi quella posizione.
Costruire un attacco sandwich richiede anche di stimare correttamente l’effetto della propria transazione sul prezzo prima ancora di inviarla, perché un calcolo sbagliato lascia l’attaccante con un attivo comprato a un prezzo che poi non riesce a rivendere in profitto. Per questo motivo il software specializzato in questa attività simula l’esecuzione dell’intero pacchetto prima di proporlo a un produttore di blocco, scartando in automatico le combinazioni che risulterebbero in perdita.
Perché serve un margine di scarto per riuscire
Ogni ordine su un mercato decentralizzato include un limite di tolleranza sul prezzo, pensato per proteggere l’utente da variazioni impreviste fra il momento dell’invio e quello dell’esecuzione. Quel limite è anche, senza volerlo, lo spazio massimo che l’attacco può sfruttare: l’attaccante non può spingere il prezzo oltre la soglia impostata dalla vittima, perché a quel punto la transazione fallirebbe invece di eseguirsi.
Un margine di tolleranza ampio, impostato per sicurezza contro il fallimento dell’operazione, diventa quindi un invito. Più il margine è largo, più l’attaccante può muovere il prezzo prima che l’ordine della vittima intervenga, e più il profitto potenziale dell’attacco cresce. È un compromesso che ogni trader deve gestire consapevolmente: un margine troppo stretto fa fallire più ordini, uno troppo largo li espone di più.
Quanto costa davvero, in un esempio numerico
Su un pool con liquidità contenuta, un ordine di acquisto di taglia media con un margine di tolleranza impostato al tre per cento lascia effettivamente sul tavolo, nel peggiore dei casi, una cifra vicina a quel tre per cento rispetto al prezzo che l’utente avrebbe ottenuto senza interferenza. Su un pool molto liquido lo stesso ordine muove il prezzo molto meno, e lo spazio utile per l’attaccante si riduce in proporzione.
La regola pratica che ne segue è diretta: la vulnerabilità a questo tipo di attacco cresce quando la taglia dell’ordine è grande rispetto alla liquidità disponibile nel pool, indipendentemente dal valore assoluto scambiato. Un ordine identico può essere ininfluente su un mercato profondo e estremamente esposto su uno sottile, ed è per questo che vale la pena leggere anche come si comporta la volatilità sui mercati con poca liquidità prima di valutare quale margine impostare.
Vale la pena aggiungere un secondo effetto, meno intuitivo: dividere lo stesso ordine grande in più ordini piccoli non elimina il problema, ma lo riduce quasi sempre, perché ciascuna delle transazioni più piccole muove il prezzo meno della singola operazione originale e diventa, in proporzione, meno interessante da attaccare rispetto al costo che l’attaccante dovrebbe sostenere per farlo su ognuna.
Chi produce il blocco e perché coopera
Il validatore o il gruppo che assembla il blocco non è necessariamente l’autore dell’attacco. Nella maggior parte dei casi riceve un pacchetto di transazioni già ordinato, insieme a un pagamento, da un soggetto specializzato che ha individuato l’opportunità osservando la zona di attesa pubblica. Il validatore accetta il pacchetto perché il pagamento supera quello che otterrebbe includendo le transazioni in ordine casuale.
Questa separazione dei ruoli ha reso il fenomeno un’industria a sé, con software dedicato a scansionare la zona di attesa in cerca di operazioni sfruttabili e a costruire i pacchetti da proporre ai produttori di blocco. La competizione fra questi soggetti per accaparrarsi la stessa opportunità è spesso feroce quanto l’attacco stesso, e in alcuni casi consuma una parte significativa del profitto potenziale in commissioni pagate pur di vincere la gara di inclusione.
Alcune reti hanno introdotto un mercato separato per il diritto di proporre l’ordinamento delle transazioni, distinto da quello che assembla materialmente il blocco. La separazione riduce la concentrazione di potere in capo a un singolo attore, ma non elimina l’incentivo economico che rende profittevole l’operazione: sposta soltanto chi negozia quel diritto e a quali condizioni.
L’invio privato delle transazioni come difesa principale
Se il problema nasce dalla visibilità pubblica della zona di attesa, la difesa più diretta consiste nel toglierla: alcuni servizi permettono di inviare una transazione direttamente a un produttore di blocco, senza farla transitare per la rete pubblica di trasmissione. L’attaccante non vede mai l’operazione prima che sia già stata inclusa, e non ha quindi modo di costruirci sopra un pacchetto.
Il limite di questo approccio è la fiducia riposta nell’intermediario che riceve la transazione in privato: quel soggetto potrebbe, in teoria, comportarsi come l’attaccante che si vuole evitare. Le implementazioni più diffuse mitigano il rischio con impegni pubblici di non riordinare le transazioni ricevute, verificabili in parte dall’esterno, ma restano comunque un livello di fiducia aggiuntivo rispetto all’esecuzione completamente pubblica prevista dal protocollo di base.
Le altre difese, e i loro limiti
| Difesa | Come funziona | Costo per l’utente | Limite principale |
|---|---|---|---|
| Margine di tolleranza stretto | Riduce lo spazio di manovra dell’attaccante | Più ordini falliti | Non elimina l’attacco, lo rende meno redditizio |
| Invio privato | Nasconde la transazione fino all’inclusione | Nessun costo diretto | Richiede fiducia nell’intermediario |
| Suddivisione dell’ordine | Riduce l’impatto di ogni singola transazione | Più commissioni di rete | Ogni parte resta comunque visibile |
| Aste periodiche di prezzo | Esegue tutti gli ordini di un intervallo allo stesso prezzo | Attesa più lunga | Disponibile solo su alcune piattaforme |
Nessuna di queste misure, presa da sola, elimina completamente il fenomeno. Nella pratica funzionano meglio combinate: un margine di tolleranza ragionevole, un invio che riduce la visibilità pubblica e, quando la taglia dell’ordine lo giustifica, una suddivisione in più transazioni più piccole nel tempo.
Che cosa cambia con i protocolli che aggregano gli ordini
Alcuni protocolli di scambio più recenti raccolgono gli ordini arrivati in una finestra di tempo e li eseguono tutti allo stesso prezzo di chiusura, invece di eseguirli uno alla volta nell’ordine di arrivo. Questo modello, mutuato da meccanismi di asta usati anche fuori dal contesto delle reti pubbliche, elimina per costruzione il vantaggio di inserirsi prima o dopo una transazione specifica, perché l’ordine di arrivo entro la finestra non influisce sul prezzo di esecuzione.
Il compromesso è il tempo: le aste periodiche impongono un’attesa fra l’invio dell’ordine e la sua esecuzione, che può variare da pochi secondi a qualche minuto a seconda dell’implementazione. Per un trader che opera su orizzonti brevi questo costo può superare il beneficio, mentre per chi esegue ordini di taglia consistente il compromesso è quasi sempre favorevole.
Un effetto collaterale positivo di questo modello riguarda anche la corsa alle commissioni descritta in precedenza: se l’ordine di arrivo entro la finestra non conta, non ha senso pagare di più pur di essere inclusi per primi, e la pressione competitiva che alimenta l’industria del riordino si riduce insieme al fenomeno che la genera.
Come si riconosce un attacco già subito
Il segnale più diretto è uno scarto fra il prezzo atteso e quello effettivamente ottenuto che si avvicina al limite massimo di tolleranza impostato, in modo sistematico su più operazioni. Uno scarto occasionale può dipendere da normale volatilità; uno scarto che si ripete sempre nella stessa direzione, e sempre vicino al limite consentito, è la firma di un pacchetto costruito apposta.
Verificare le transazioni immediatamente precedenti e successive alla propria, consultando un esploratore di blocchi, permette spesso di confermare il sospetto: se compaiono due operazioni dello stesso indirizzo, una prima e una dopo, sullo stesso attivo e nello stesso blocco, la struttura è quella descritta in questo articolo. È un controllo che vale la pena fare su ordini di taglia rilevante, insieme a quanto già discusso in altri strumenti di lettura del mercato prima di eseguire un ordine.
Alcuni esploratori specializzati in questo tipo di analisi segnalano automaticamente le transazioni sospette di essere state incluse in un pacchetto di questo tipo, calcolando anche una stima della perdita subita. Non sostituiscono una verifica manuale, ma offrono un primo indizio utile per decidere se vale la pena approfondire un’operazione che è risultata più costosa del previsto.
Domande frequenti
Un attacco sandwich è illegale?
La qualificazione varia da giurisdizione a giurisdizione e non esiste una risposta unica applicabile ovunque. Tecnicamente l’attaccante non altera nessuna transazione altrui e non accede a nulla di privato: sfrutta informazioni pubbliche e regole di inclusione previste dal protocollo. È un’area in evoluzione normativa, e questo testo descrive la meccanica tecnica, non fornisce un parere legale.
Impostare un margine di tolleranza a zero mi protegge del tutto?
No, rende quasi certo il fallimento dell’ordine a fronte di qualunque variazione di prezzo, anche minima e non dovuta a un attacco. È un compromesso estremo che sposta il problema dalla perdita economica alla perdita di tempo e commissioni per transazioni fallite ripetute.
Le reti con validatori diversi da Ethereum hanno lo stesso problema?
Sì, ovunque esista una zona di attesa pubblica e discrezione su chi produce il blocco successivo la dinamica si riproduce, con differenze nei tempi e nei costi. Alcune architetture più recenti riducono la finestra di visibilità pubblica per costruzione, ma il principio economico di fondo resta simile.
I servizi di invio privato garantiscono l’assenza totale di attacchi?
No, riducono il rischio spostandolo su un piano di fiducia diverso: quello verso l’operatore del servizio. Alcuni pubblicano registri verificabili delle transazioni gestite proprio per ridurre questo dubbio, ma resta un’ipotesi da valutare, non una garanzia assoluta paragonabile a una proprietà del protocollo.
Dove si trovano le specifiche tecniche di questi meccanismi?
Le proposte di modifica al protocollo che toccano l’ordinamento delle transazioni e la costruzione dei blocchi sono pubbliche nella raccolta delle specifiche di riferimento, insieme alla discussione tecnica che le accompagna. È il punto di partenza più affidabile per chi vuole capire come cambierà questa dinamica nelle prossime versioni del protocollo.
L’attacco sandwich non richiede nessuna violazione: vive interamente dentro le regole pubbliche di un sistema che, per essere verificabile da tutti, deve anche essere osservabile da tutti prima ancora di essere confermato. Conoscere questo compromesso è il primo passo per decidere quale margine di esposizione accettare a ogni singolo ordine.
