Introduzione
In questo articolo cercheremo di spiegare il concetto di front running e di fornire una panoramica degli attacchi possibili sulle blockchain in Finanza Decentralizzata (DEFI).
Definizioni
Vediamo di seguito alcune definizioni base che servono a comprendere meglio il contenuto dell’ articolo:
Finanza Decentralizzata: La finanza decentralizzata (comunemente denominata anche Decentralized Finance - DEFI) è una forma sperimentale di sistema finanziario che non si basa su intermediari finanziari centrali come broker, exchange o banche e utilizza invece smart contract sulla blockchain.
Smart Contract: protocollo informatico che facilita, verifica o esegue la negoziazione o l'esecuzione di un contratto, senza la necessità di un intermediario tradizionale come un notaio o una banca. In sostanza, è un software autonomo che consente di registrare, verificare e far rispettare gli accordi stipulati tra le parti, rendendo il processo più trasparente, efficiente e sicuro.
Slippage: termine che si riferisce alla differenza tra il prezzo previsto per un'operazione e il prezzo effettivo che viene eseguito. Ciò può accadere quando il mercato si muove rapidamente e il prezzo di un titolo cambia in modo significativo tra il momento in cui un trader ha inserito un ordine e il momento in cui questo viene eseguito.
Market Maker AMM: protocollo di exchange decentralizzato (DEX) che si basa su una formula matematica per prezzare gli asset. Invece di usare un order book come gli exchange tradizionali, gli asset vengono quotati seguendo un algoritmo di valutazione.
Mempool: zona di transitorio che contiene tutte le transazioni non ancora confermate che sono state inviate alla rete blockchain. Queste transazioni devono essere confermate dai "minatori", che sono gli operatori che eseguono il processo di validazione delle transazioni e di creazione di nuovi blocchi.
FeelPic / iStock via Getty Images
Blocco: Un blocco in una blockchain è un insieme di dati che rappresenta un insieme di transazioni verificate. I blocchi contengono informazioni sulla transazione, come ad esempio il mittente, il destinatario, l'importo e le firme digitali. Inoltre, ogni blocco contiene un hash crittografico che identifica univocamente il blocco stesso e lo collega al blocco precedente della catena. Ciò significa che i blocchi sono concatenati tra di loro, formando una catena di blocchi (blockchain) in cui ogni blocco è protetto dalla crittografia e collegato agli altri blocchi nella catena. Il processo di creazione e conferma di un blocco, chiamato mining o estrazione, richiede la risoluzione di complessi problemi crittografici, garantendo così la sicurezza e l'integrità della blockchain.
Cosa è il front running?
Il front running è un fenomeno ben noto sin dalla nascita della prima borsa valori che ha un grande impatto sull'intero ecosistema delle finanze decentralizzate: può essere definito come un insieme di azioni coordinate (non necessariamente malevoli) in cui gli attori traggono vantaggio dall'accesso preventivo a informazioni, riservate o meno.
Il fenomeno esiste sia nella TRADFI (Finanza Tradizionale) che nella DEFI (Finanza Decentralizzata su Blockchain). La principale differenza è che nella TRADFI le informazioni che servono per avvantaggiarsi non sono pubbliche, mentre nella DEFI, essendo le informazioni visibili sulla blockchain, chiunque abbia sufficiente conoscenza tecnologica e capitale a disposizione può effettuare attività di front running.
AntonioSolano / iStock via Getty Images
Il front running è illegale?
La legalità del front running dipende dalla giurisdizione e dalle circostanze specifiche: in alcuni casi, il front running può essere considerato una violazione delle leggi sulle società quotate, tra cui le leggi sull’insider trading, che vietano il trading effettuato sulla base di informazioni non pubbliche. Ad esempio, negli Stati Uniti, il front running può essere considerato illegale in base alle leggi sulle società quotate se la persona che lo esegue è un insider (un dipendente o collaboratore della società) o ha l'obbligo di mantenere la riservatezza delle informazioni che sta utilizzando.
Tuttavia, è importante sottolineare che non tutto il front running è illegale: ad esempio, se un trader ha accesso a informazioni pubblicamente disponibili, come un rapporto di notizie o un rapporto di ricerca, può utilizzare queste informazioni per fare trading, anche se le sue operazioni potrebbero influire sul mercato. Per questo motivo, il front running nella DEFI può essere considerato legale per via del fatto che le transazioni sono registrate sulla blockchain e visibili da chiunque.
Minatori, traders e arbitraggisti ricorrono ampiamente al front running, sia in maniera legittima che maliziosa.
Questi attacchi non sono del tutto negativi, sono infatti anche utili a bilanciare i mercati ed eliminarne le efficienze ma come rovescio della medaglia queste attività peggiorano l’esperienza dell’utente delle app di per via degli slippage sempre più estesi causati da queste pratiche.
Esempi di attacchi front running
Gli attacchi più frequenti di front running sono i seguenti:
- Inserzione (chiamati anche attacchi SANDWICH)
- Soppressione
- Rimpiazzamento
Inserzione (AMM Sandwich)
Un attacco di Inserzione/AMM Sandwich è un tipo di operazione che si avvantaggia sul funzionamento delle exchange di tipo Automated Market Maker (AMM) che si occupano di determinare il prezzo di un asset usando un algoritmo e di eseguire contratti.
Vediamone di seguito un esempio.
Immaginiamo che Alice sta per scambiare un numero importante di Bitcoin (BTC) per USDC (due tipologie di criptovalute) su un exchange AMM con la transazione TX1. L’attaccante, usando un BOT monitora la mempool, trova la transazione di Alice e piazza due transazioni:
- TX2: transazione che scambia BTC per USDC usando una fee leggermente più alta di Alice
- TX3: transazione che scambia USDC per BTC usando una fee leggermente più bassa di Alice
Siccome il nodo validatore dà priorità alle transazioni con fee, ovvero con un costo associato all'operazione, più alta, la transazione TX2 sarà eseguita prima di TX1 rendendo così profittabile la transazione TX3 (mentre Alice avrà alla fine meno Bitcoin di quanto pensava):
Photo by Michele Quaini
Alice osserva sull’ exchange che può scambiare 10 BTC per 100000 USDC e clicca SCAMBIA. Il bot interviene e piazza le sue transazioni:
- La transazione TX2 scambia 1 BTC per 10000 USDC, alzando il rate a 1 BTC per 10500 USDC e lo slippage
- La transazione TX1 di Alice compra 9.95 BTC invece che 10
- La transazione TX3 scambia 1 BTC per 10500 USDC, per un profitto di 500 USDC
Dettagli ulteriori su questo tipo di attacco e sul meccanismo delle Exchange AMM possono essere approfonditi in XDB§ : On Mitigating Front running attacks in Ethereum http://courses.csail.mit.edu/6.857/2022/projects/Xu-Park-Lin.pdf (documento in inglese).
Rimpiazzamento
In un attacco di rimpiazzamento, un attaccante A osserva nella mempool una transazione redditizia TV della vittima V e diffonde la sua transazione TA sulla rete con una fee più alta di TV in modo che i nodi validatori includeranno la transazione TA prima di TV.
Questo tipo di attacco è usato solitamente in uno scenario in cui uno Smart Contract premia un utente se riesce a indovinare una soluzione ad un certo quesito. L'attaccante può aspettare che un utente invii la soluzione, copiare la soluzione e inviarla alla rete. In questo caso, la transazione dell'attaccante verrà approvata per prima, vincendo il premio, e la transazione della vittima verrà approvata successivamente.
Soppressione
In un attacco di Soppressione, un attaccante A osserva una transazione TV di una vittima V e diffonde parecchie transazioni TA sulla rete con una fee più alta di TV in modo che i minatori le includano prima di TV.
In questo modo, l’attaccante A riempirà il blocco con le proprie transazioni, relegando la transazione TV fuori dal "blocco corrente".
Gli attacchi di soppressione sono spesso utilizzati nelle lotterie, in cui l'ultimo acquirente di un biglietto vince se nessun altro acquista un biglietto durante una finestra temporale specifica: l’ attaccante può quindi acquistare un biglietto e lanciare un attacco di soppressione per diversi blocchi per impedire agli altri utenti di acquistare il biglietto.
Da notare che questo tipo di attacco di front running può essere molto costoso in quanto richiede all'attaccante di inserire più transazioni con una fee più alta della transazione TV della vittima.
peshkov / iStock via Getty Images
Mitigazione attacchi
Ci sono alcune possibili mitigazioni per gli attacchi di front running tra cui:
- Aumento della liquidità: con maggiore liquidità sulla piattaforma, gli arbitraggi e le opportunità di front running diventano meno vantaggiosi e meno interessanti per gli attaccanti;
- Incremento della complessità: con la creazione di protocolli più complessi e sofisticati, gli attaccanti incontrano maggiori difficoltà a sfruttare le falle del sistema;
- Introduzione di ritardi: l'introduzione di ritardi casuali nelle transazioni può rendere difficile per gli attaccanti prevedere con precisione il momento in cui verrà effettuata una transazione;
- Utilizzo di soluzioni di off-chain: l'utilizzo di soluzioni di off-chain, come i canali di pagamento, può ridurre la necessità di transazioni on-chain, riducendo così le opportunità di front running;
- Utilizzo di soluzioni di privacy: l'utilizzo di soluzioni di privacy, come la crittografia e la firma multipla, può rendere più difficile per gli attaccanti raccogliere informazioni sulle transazioni degli utenti e prevedere l'ordine in cui verranno eseguite le transazioni.
Per approfondimenti: https://eprint.iacr.org/2021/1628.pdf (documento in inglese).
Conclusione
La blockchain e la finanza decentralizzata stanno cambiando il modo in cui pensiamo alle transazioni finanziarie, fornendo un nuovo sistema che è trasparente, veloce ed efficiente, eliminando la necessità di un intermediario centrale come una banca o un governo, permettendo agli utenti di avere maggiore controllo sui propri asset finanziari. D’altro canto presenta diversi rischi, tra cui gli attacchi finanziari appena descritti. In generale, è importante essere consapevoli dei rischi associati alla finanza decentralizzata e adottare le necessarie misure di sicurezza per proteggere i propri fondi e le informazioni personali.