Visualizzazioni Totali

TRA I PRIMI IN ITALIA A PARLARE DI BITCOIN (DAL 2012!): PER ESSERE SEMPRE AGGIORNATI SULLE NOVITA' TECNOLOGICHE DEL WEB SEGUITE LA PAGINA FACEBOOK (LINK A SINISTRA)

martedì 28 settembre 2021

Come Funzionano I Bot Front-Running Sugli AMM

Se scambi criptovalute su piattaforme decentralizzate (Uniswap, Sushiswap, PancakeSwap, 1inch, Raydium, etc), è importante che tu sappia come funzionano i bot front-running. 
Prima di iniziare ti consiglio di approfondire riguardo i dex AMM (Automated Market Maker).
Questi bot possono accumulare milioni di dollari in fase di acquisto. Essi vengono utilizzati anche nelle cosiddette ICO/IDO/MISO (MISO sta per Minimal Initial Sushiswap Offer e le cito perchè si ricorda un utilizzo massiccio di questa tecnica in una vendita del token Sak3, comprato e rivenduto in modo istantaneo per profitti da migliaia di dollari).
Il front-running è una manipolazione del mercato in cui un bot può concludere una transazione prima di un ordine in sospeso (o in arrivo) impattando sul prezzo dell'ordine stesso. 
I bot possono eseguire la scansione degli ordini in sospeso e possono inserire prima le loro operazioni, approfittando così dei movimenti di prezzo risultanti quando gli ordini precedenti vengono infine eseguiti.
Detto in altre parole, i bot, intercettano gli ordini (prima che vengano confermati) e si adeguano di conseguenza in base a quello che sta per succedere. Se questi ordini sono di importo elevato ovviamente modificheranno in modo evidente il prezzo dell'asset. Come operano? Acquistano grosse quantità di quel token (se ci sono grossi ordini di buy) o lo vendono (in caso contrario). In tal modo, essi traggono profitto dall'aumento del prezzo o evitano di subire perdite per la diminuzione dello stesso (nel caso di vendita). Il front-running è ovviamente connesso allo slippage. Quando si aumenta lo stesso, in un dex compare il messaggio: 

"Your transaction may be frontrun"

In generale se si tratta di token nuovi (quindi illiquidi) comprati per il "pump & dump", aumentare lo slippage è la tecnica migliore da utilizzare (anche se c'è il rischio di ottenere un prezzo molto peggiore, rispetto a quanto ci sia aspetta) e in alcuni casi anche forzata (a causa del burn).
Ma a cosa ci si espone? Un bot potrebbe vedere la tua transazione in sospeso nel pool con un'elevata tolleranza allo slippage e quindi anticiparti settando un prezzo del gas più alto (costringendoti ad accettare il prezzo peggiore che soddisfa lo slippage). In questo modo possono effettivamente tenere per sè gran parte della tua trade con il prezzo originario. Tuttavia, come detto, per le shitcoin pump & dump quindi selvaggiamente illiquide, questo non è un grosso problema, perché il prezzo stesso dei tokens potrebbe anche calare o aumentare del 40/50% in pochi minuti.


ETHEREUM: UNA FORESTA OSCURA DI BOT?
Una ricerca di Dan Robinson e Georgios Konstantopoulos ha richiamato l'attenzione su una varietà di attacchi da parte di bot che vagavano per la blockchain di Ethereum in cerca di prede (potete trovarla qui: Ethereum Is A Dark Forest). 
Come sottolineato sopra, una trade su un dex potrebbe originare front-running. Se qualcuno sta per acquistare una grande quantità di Ethereum su Uniswap, al punto da far salire il prezzo, un modo per guadagnare velocemente sarebbe quello di acquistare ETH, prima che l'acquisto di grandi dimensioni vada a buon fine (e vendendo subito dopo). 
Il front-running su Ethereum avviene facilmente perché i bot sono in grado di offrire "un prezzo del gas leggermente più alto" su una transazione, incentivando i miners a piazzare prima il loro ordine durante la convalida sul blocco. Le transazioni più remunerative vengono eseguite per prime. 
I ricercatori hanno deciso di attirare un bot, per raggiungere questo obiettivo, hanno dovuto mettere abbastanza fondi nella loro transazione honeypot per renderla invitante.
La transazione è rimasta in sospeso per circa 3 minuti prima di essere estratta, in seguito è stato notato che i fondi erano andati a qualcun altro. 
La transazione del front-runner aveva utilizzato leggermente più gwei (gas) ed è stata estratta nello stesso blocco.
Ciò può comportare ingenti perdite per chi compra. Nell'esempio seguente (dextools.io), un front-runner ha estratto (drenato) 0.34519701 ETH da una singola transazione, che è costata al trader $ 983 (cioè ha ricevuto molti meno token del previsto): 
Nei mercati delle criptovalute, i predatori possono vedere la preda arrivare. Anche la preda può vederli, ma essa non può scappare. Quando invii una transazione Ethereum, devi attendere in quel mempool (vedila come una "sala d'attesa") fino a quando un minatore non la preleva e conferma nel blocco. Essa non ha nessun altro posto dove andare. I predatori osservano le prede e sono sempre pronti a colpire.
Alcuni bot non solo sono in grado di rilevare una transazione da "anticipare" ma possono eseguirne anche diverse di arbitraggio che coinvolgono più token. Secondo la ricerca neanche offuscare la transazione creando contratti personalizzati ad hoc affinchè non venga intercettata, riesce a limitare i bot più evoluti. 
Per approfondire: 


SOLUZIONI
Non ci sono particolari soluzioni, se non settare uno slippage molto piccolo (ciò però rende più difficile l'esecuzione della transazione) ed effettuare trade di piccoli importi. Chiaramente però questo è un problema perchè su Ethereum ogni transazione è molto costosa. Sottolineo che qualsiasi transazione in "pending" può essere anticipata.


FRONT RUN SULLE IDO
Come detto all'inizio, questi bot vengono utilizzati anche per le vendite iniziali di token. Oltre al citato fatto avvenuto su Sushiswap, un flood di questo tipo ha paralizzato la blockchain di Solana il 14 settembre 2021. Sostanzialmente alcuni bot erano stati impostati per fare front running delle offerte di altri utenti (cioè superare sempre l'offerta di questi) su una IDO avvenuta su Raydium. Sono state spammate centinaia di migliaia di transazioni al secondo, portando a dei fork e poi alla paralisi della blockchain che non riusciva più a produrre blocchi e a convalidare transazioni (ciò ha portato al riavvio di quasi tutti i nodi validatori e all'update del client degli stessi).
Una possibile soluzione a bot e whales è: 

Nessun commento:

Posta un commento