Na sendvičovém útoku je nejděsivější to, že útočník v prvním kroku útoku jasně vypočítá výši zisku.

Sendvičová arbitráž je kontroverzní arbitrážní metoda, známá také jako sendvičový útok. Jedná se o metodu útoku, která využívá front-running k útoku na transakce oběti za účelem arbitráže. Na relaci sdílení technologií každou středu 9. listopadu 2022 @daimajia, kodér z fondu Zhen, přinesl popularizaci vědy o MEV, flash půjčkách a sendvičové arbitráži a analyzoval sendvičovou arbitráž založenou na incidentu útoku DODO USDT/DAI jako konkrétní případ, spoustu obsahu a spoustu užitečných informací.

1. Populární věda o MEV, bleskových půjčkách a sendvičové arbitráži

1. Co je MEV?

MEV (Miner Extractable Value) označuje maximální extrahovatelnou hodnotu. Dříve se tomu také říkalo miner extrahovatelná hodnota. Těžaři mohou balit transakce a generovat bloky v Ethereu a v rámci bloků, které generují, mohou těžaři zahrnout, vyloučit, třídit transakce atd. Kromě transakčních poplatků a blokových odměn mohou těžaři také vytěžit větší hodnotu prostřednictvím výše uvedených operací a tato hodnota je MEV.

Nejnovější definice MEV v PoS blockchainu je:

Celková hodnota, kterou může validátor extrahovat z bloku (nebo řady bloků) s ohledem na stav prostředí a všechny dostupné akce

Validátoři mohou provádět operace, jako je změna pořadí, kontrola a vkládání transakcí. Mohou také zahrnovat více specializovaných strategií, jako je změna časových razítek bloků, manipulace s „náhodností“, provádění dalších validátorů a další.

Obecně řečeno, validátor nemůže změnit stav svého prostředí, včetně pravidel blockchainu, kódu inteligentní smlouvy na blockchainu, sad transakcí ve svém paměťovém fondu atd.

2. Flash půjčka

Flash půjčka je nezajištěný úvěrový nástroj, který se zrodil kvůli atomičnosti a rollbacku blockchainových transakcí. Uživatelé musí dokončit půjčování a splácení v rámci atomové transakce a nevyžadují žádné zajištění. Umožněte uživatelům využívat obrovské množství finančních prostředků při téměř nulových nákladech.

Flash půjčky musí být splaceny v rámci stejné transakce. Pokud jde o bleskové půjčky, lze si „transakční proces“ představit tak, že se skládá ze tří částí: přijetí půjčky, vyřízení věci s půjčkou a splacení půjčky, ale to vše proběhne během okamžiku.

Transakce je odeslána do sítě, která vám dočasně půjčí tyto prostředky, a vy můžete s prostředky něco udělat (druhá část transakce), a pokud lze prostředky včas vrátit třetí části, můžete cokoliv chceš. Pokud se prostředky nevrátí včas, blockchainová síť transakci odmítne, což znamená, že věřitel dostane prostředky zpět. Ve skutečnosti v konceptu blockchainu mají finanční prostředky vždy.

To vysvětluje, proč věřitelé nepožadují, abyste poskytli zajištění, splácení finančních prostředků je vynuceno prostřednictvím smluvního kódu.

3. Sendvičová arbitráž

Sendvičová arbitráž, známá také jako sendvičový útok, je metoda útoku, která využívá front-running k útoku na transakce oběti za účelem arbitráže.

Sendvičová arbitráž je zahájena arbitrážními roboty, když arbitrážní robot zjistí, že transakce může způsobit cenový skluz digitálních aktiv, útočník zaplatí vyšší poplatky za plyn, aby mohl soutěžit o práva na balení bloku. Když je arbitrážní robot úspěšný, okamžitě preventivně nakoupí určité množství digitálních aktiv, čímž vynutí růst ceny aktiva, a poté, co je napadená transakce dokončena, nově zakoupená digitální aktiva prodá, aby bylo dosaženo bezplatné arbitráže.

Sendvičová arbitráž není metodou mírové arbitráže – tato arbitrážní metoda musí zahrnovat útok na určitého uživatele oběti a způsobit, že oběť přijde o majetek.

V transakcích Ethereum, aby se útočníci zmocnili práva upřednostnit balení, musí platit vyšší poplatky za plyn Je to proto, že ETH používá optimální metodu nabídkového poplatku za plyn, to znamená, že uživatel, který platí nejvyšší poplatek za plyn, může získat prioritu. balíček . Aby útočníci dostali první šanci zabalit bloky, vytvoří krutou konkurenci v poplatcích za plyn, ale protože poplatky za plyn Ethereum se platí za každou transakci (bez ohledu na úspěch nebo neúspěch). Proto, když se útočníci zapojí do kruté soutěže, musí být poškozeny zájmy běžných uživatelů.

2. Krok za krokem analýza incidentu útoku DODO USDT/DAI

listopadu 2022, pekingského času, byla napadena decentralizovaná obchodní platforma Ethereum DODO Útočník používal zranitelnosti kontraktů k časté změně tokenů a dokončil sendvičový útok. Studiem dat o řetězci se však zjistí, že celá Poměr zisku a ztráty procesu nebyl tak přehnaný, ale spíše bezmocný. Útočník použil při jedné operaci jistinu flash půjčky ve výši více než 3,5 milionu USDT a vydělal pouze 26,4 USDT Celý proces je trapný jak následuje:

1. První krok sendvičového útoku: útočníkova první transakce FrontRun

Transakce byla zahájena z adresy 0xf480, interagovala se smlouvou (smlouva o útočníkovi 1) označenou společností Etherscan jako MEVbot, na smlouvu byla převedena 12 840 USD (to jest z jeho vlastního účtu) a poté byla převedena na další smlouvu (smlouva o útočníkovi 1 Smlouva 2).

2. Krok 2: Použijte bleskovou půjčku k výměně Tetheru za DAI

Útočník provedl bleskovou půjčku, vypůjčil si 3,55 milionu amerických dolarů od Balanceru a převedl peníze na adresu, převedl Tether do fondu zástavního tokenu DODO USDT a poté je převedl útočníkovi je swap (tj. výměna tokenů).

V tomto swapu útočník převedl 3,55 milionu USD v USDT a převedl 3,53 milionu USD v DAI, čímž změnil peníze na útočníkově účtu z Tether na DAI.

3. Často měňte žetony

1) Použijte Psm k výměně DAI za USDC

Útočník provedl další převod, převod DAI na veřejnou zakázku Psm je smlouva, která dokončila vyplacení DAI a vyměnit ji za USDC Psm zničí DAI.

Útočník poslal 3538543 DAI do Psm Psm kontrakt převedl peníze na nulovou adresu (to znamená spálil všechny DAI) a poté znovu převedl 3538543 USDC útočníkovi.

2) USDC se převádí na USDT

Útočník poté použil vyměněné USDC k provedení swapu v poolu USDT/USDC společnosti DODO: smlouva s útočníkem poskytla 3,53 milionu USDC společnosti DODO a DODO poskytla 3,53 milionů USDT smlouvě s útočníkem.

4. Krok 3: Extrahujte BackRun provize pro dokončení uzavřené smyčky

Útočník pak převedl dalších 70 $ z DODO do multi-signature peněženky (adresa DODOteamu V tomto kroku DODO čerpal provizi během transakce). Nakonec útočník vrátil všechny USDT (3551259) a flash půjčka skončila.

3. Shrnutí

Celkem si útočník vyměnil stablecoiny dvakrát ve dvou poolech DODO. Proces byl: 3551259 USDT – 3538543 DAI (tento krok způsobil velký prokluz) – 3538543 USDC – 3 538 419 USDT.

Lze zjistit, že USDT, který byl nakonec směněn, nestačil na splacení peněz zapůjčených flash půjčkou. Cenový rozdíl byl 3551259-3538149=12840 první krok přišel vhod.

V tuto chvíli budeme mít otázky, nepřišel útočník o 12 840 $, které postoupil? Čeho se tím chce dosáhnout?

Ve skutečnosti útočníkova operace (při výměně USDT za DAI) způsobila, že fond DODO byl více nevyvážený. Tento nevyvážený fond použil k výměně za více USDT (arbitrážní proces) a použil zpětný proces ke zvrácení sklizně. Stálo to 26,4 USD (po odečtení provizí z Plynu a DODO).

Vidíme tedy, že v takových útocích skutečně existuje zaujatost přeživších. Ve skutečnosti existuje mnoho útočníků, kteří takové příležitosti najdou na řetězu a provádějí takové útoky. Většina z nás vidí pouze případy úspěšných útoků a častěji provádějí sendviče Útočící roboti budou poraženi a mnoho robotů bude řízeno jinými roboty. Proto je nyní MEV velmi komplikovaný.