Kas yra MEV atakos blokčeine

Kai blokčeinas tampa žaidimų aikštele spekuliantams

Jei kada nors bandėte nusipirkti naują NFT kolekciją pirmą minutę po jos išleidimo ir pastebėjote, kad kaina jau yra dvigubai didesnė nei tikėjotės, arba jei DeFi platformoje jūsų sandoris kažkodėl visada įvykdomas šiek tiek blogesnėmis sąlygomis nei rodo ekranas – labai tikėtina, kad susidūrėte su MEV. Ir greičiausiai net nežinojote, kas tai yra.

MEV, arba Maximal Extractable Value (anksčiau vadinta Miner Extractable Value), yra vienas iš tų blokčeino pasaulio reiškinių, apie kuriuos retai kalbama paprastai ir suprantamai. Dažniausiai diskusijos vyksta tarp kriptografų ir protokolų kūrėjų, o eilinis vartotojas tiesiog kenčia pasekmes, net nesuprasdamas kodėl.

Šiame straipsnyje pabandysime išardyti MEV mechaniką iki galo – nuo to, kaip ji veikia techniškai, iki to, ką galite padaryti, kad apsisaugotumėte.

Kaip blokčeinas tvarko sandorius – ir kodėl tai svarbu

Norint suprasti MEV, reikia trumpai prisiminti, kaip Ethereum ar kiti blokčeinai iš tikrųjų veikia po gaubtu. Kai jūs siunčiate sandorį – tarkime, keičiate ETH į USDC per Uniswap – tas sandoris nepatenka tiesiogiai į bloką. Jis pirmiausia atsiduria mempool‘e (memory pool), kuris iš esmės yra viešas laukiančių sandorių sąrašas.

Ir čia prasideda įdomiausia dalis. Tas mempool yra viešas. Kiekvienas gali matyti, kokie sandoriai laukia patvirtinimo, kokios sumos keičiamos, kokiomis kainomis ir kokiuose protokoluose. Tai tarsi stovėti eilėje banke, bet visi aplinkiniai gali matyti, kiek pinigų jūs ketinate išimti ir kokiu tikslu.

Validatoriai (arba seniau – kasėjai) turi teisę nuspręsti, kokia tvarka sandoriai bus įtraukti į bloką. Paprastai jie renkasi tuos, kurie moka didesnį gas mokestį – tai logiška ir suprantama. Tačiau ši laisvė rūšiuoti sandorius sukuria galimybę manipuliuoti jų eiliškumu taip, kad iš to būtų galima uždirbti papildomai.

MEV ir yra ta vertė, kurią galima išgauti manipuliuojant sandorių tvarka, įterpiant naujus sandorius ar net išmetant tam tikrus sandorius iš bloko.

Trys pagrindiniai MEV atakų tipai

MEV nėra vienas konkretus išpuolis – tai visas spektras strategijų. Tačiau yra kelios klasikinės formos, kurias verta žinoti.

Front-running

Tai bene labiausiai paplitusi MEV forma. Įsivaizduokite: jūs siunčiate didelį sandorį – sakykime, norite nusipirkti 50 ETH vertės tam tikro tokeno Uniswap platformoje. Botai, kurie nuolat stebi mempool’ą, pastebi jūsų sandorį ir supranta, kad toks pirkimas pakels tokeno kainą.

Ką jie daro? Labai greitai išsiunčia savo sandorį su didesniu gas mokesčiu, kad jis būtų įvykdytas prieš jūsų. Jie nusiperka tokeną pigiau, tada jūsų sandoris įvykdomas ir pakelia kainą, o jie iš karto parduoda brangiau. Visas ciklas gali įvykti per vieną bloką – tai yra maždaug per 12 sekundžių Ethereum tinkle.

Sandwich ataka

Tai front-running’o pažangesnė versija. Čia botas ne tik nusiperka prieš jus, bet ir parduoda iš karto po jūsų sandorio – taip jūsų sandoris atsiduria „sumuštinyje” tarp dviejų boto sandorių. Jūs nuperkat brangiau, botas uždirba skirtumą. Pavadinimas labai taiklus.

Arbitražas

Tai techniškai neutraliausia MEV forma. Skirtingose DEX platformose (Uniswap, Curve, SushiSwap ir pan.) vieno tokeno kaina gali skirtis. Arbitražo botai pastebi šiuos skirtumus ir greitai perka pigiau vienoje platformoje, parduoda brangiau kitoje. Teoriškai tai net naudinga – padeda subalansuoti kainas. Tačiau ir čia konkurencija yra tokia žiauri, kad paprastam vartotojui lieka trupiniai.

Likvidacijos

DeFi skolinimo protokoluose (Aave, Compound ir kt.) yra mechanizmas, pagal kurį, jei jūsų užstato vertė nukrenta žemiau tam tikros ribos, jūsų pozicija gali būti likviduota. Botai nuolat stebi šias pozicijas ir lenktyniauja, kas pirmesnis įvykdys likvidaciją – nes už tai gaunamas atlygis. Tai irgi MEV, nors ir mažiau akivaizdus.

Kiek pinigų iš tikrųjų išgaunama

Skaičiai čia tikrai įspūdingi – ir ne gera prasme. Pagal Flashbots duomenis (tai organizacija, kuri tiria ir bando sušvelninti MEV problemą), nuo Ethereum tinklo pradžios iki šiol išgauta MEV vertė siekia šimtus milijonų dolerių. Kai kuriais aktyviais DeFi laikotarpiais dienos MEV sumos siekdavo kelis milijonus dolerių.

Ir tai tik tai, kas matoma ir apskaičiuojama. Realūs skaičiai tikriausiai yra dar didesni, nes ne visos strategijos yra lengvai identifikuojamos.

Svarbu suprasti, kad šie pinigai neatsirado iš niekur. Jie buvo išgauti iš paprastų vartotojų – iš jūsų ir manęs – per blogiau įvykdytus sandorius, didesnes slippage sumas ir prastesnes kainas.

MEV-Boost ir kaip Ethereum bandė tai spręsti

Po Ethereum perėjimo į Proof of Stake (The Merge, 2022 m.), MEV dinamika pasikeitė, bet neišnyko. Atsirado naujas ekosistemos sluoksnis, vadinamas PBS (Proposer-Builder Separation) – tai yra atskyrimas tarp to, kas kuria bloką, ir to, kas jį siūlo tinklui.

Praktiškai tai veikia taip: specializuoti „block builders” (blokų kūrėjai) konkuruoja tarpusavyje, siūlydami validatoriams kuo pelningesnius blokus. Validatoriai tiesiog pasirenka pelningiausią pasiūlymą per MEV-Boost programinę įrangą. Tai iš dalies demokratizavo MEV paskirstymą – dalis pelno atitenka validatoriams, o ne tik specializuotiems botams.

Tačiau ar tai išsprendė problemą vartotojams? Ne visai. Vartotojai vis tiek moka. Tiesiog dabar pelnas paskirstomas kitaip tarp tinklo dalyvių.

Flashbots taip pat sukūrė atskirą sandorių siuntimo kanalą – Flashbots Protect – kuris leidžia siųsti sandorius tiesiai blokų kūrėjams, apeinant viešą mempool’ą. Tai sumažina front-running riziką, bet ne ją visiškai pašalina.

Ar MEV yra blogis, ar tiesiog rinkos mechanizmas

Čia prasideda tikrai įdomi diskusija, kurią kriptovaliutų bendruomenė veda jau kelis metus. Viena pusė sako, kad MEV yra tiesiog efektyvi rinka – jei egzistuoja arbitražo galimybė, kažkas ją išnaudos, ir tai yra normalu. Kaina balansuojasi greičiau, likvidacijos vyksta laiku, sistema veikia sklandžiau.

Kita pusė – ir aš linkęs su ja sutikti – sako, kad MEV iš esmės yra paslėptas mokestis, kurį moka eiliniai vartotojai, o nauda atitenka tiems, kurie turi techninius ir finansinius išteklius paleisti sudėtingus botus. Tai kuria nelygią žaidimo aikštelę, kuri prieštarauja pačiai decentralizacijos idėjai.

Yra ir trečia perspektyva – akademinė. Tyrėjai iš Cornell ir MIT universitetų aprašė MEV kaip struktūrinę blokčeino problemą, kuri gali kelti grėsmę pačiam tinklo saugumui. Jei MEV tampa pakankamai didelė, validatoriams gali tapti finansiškai naudinga reorganizuoti blokus (vadinamasis „time-bandit attack”), kas keltų grėsmę tinklo nekintamumui.

Kaip apsisaugoti – praktiniai žingsniai

Gerai, teorija teorija, bet ką galite padaryti šiandien, kad MEV botai jūsų nenuplėštų? Keletas konkrečių patarimų:

  • Naudokite mažesnę slippage toleranciją. Uniswap ir kitose DEX platformose galite nustatyti, kiek procentų kaina gali pasikeisti, kol sandoris vis tiek bus įvykdytas. Mažesnė tolerancija (0,1–0,5%) apsaugo nuo sandwich atakų, bet sandoris gali nepavykti, jei rinka judri.
  • Naudokite MEV-apsaugotus RPC mazgus. Vietoj standartinio Ethereum mazgo, galite naudoti Flashbots Protect RPC arba MEV Blocker (sukurtas CoW Protocol). Tai nukreipia jūsų sandorius per privačius kanalus, kur jų nemato botai.
  • CoW Swap vietoj Uniswap. CoW Protocol naudoja „batch auction” mechanizmą – sandoriai grupuojami ir vykdomi kartu, kas iš esmės pašalina front-running galimybę. Kaina gali būti net geresnė nei kitose platformose.
  • Venkite labai didelių sandorių vienu metu. Kuo didesnis jūsų sandoris, tuo labiau jis matomas mempool’e ir tuo patrauklesnis botams. Jei keičiate didelę sumą, apsvarstykite galimybę tai daryti dalimis.
  • Stebėkite gas kainas. Labai aktyviu tinklo laikotarpiu botai taip pat yra aktyvesni. Sandoriai ramesniais laikotarpiais (naktį Europos laiku, savaitgaliais) statistiškai patiria mažiau MEV.
  • Naudokite limit orderius, kur galima. Protokolai kaip 1inch Fusion arba UniswapX leidžia nustatyti tikslią kainą, už kurią norite pirkti ar parduoti. Tai pašalina slippage problemą ir sumažina MEV riziką.

MEV kituose blokčeinuose ir ateities perspektyvos

Ethereum dažniausiai dominuoja šiose diskusijose, bet MEV egzistuoja ir kituose tinkluose. Solana turi savo MEV problemų – nors jos architektūra skiriasi, botai ten irgi aktyvūs. BNB Chain, Arbitrum, Optimism – visur, kur yra DeFi likvidumas ir viešas sandorių srautas, atsiranda MEV galimybės.

Įdomu tai, kad kai kurie Layer 2 sprendimai bando struktūriškai spręsti šią problemą. Arbitrum naudoja FCFS (first-come, first-served) principą, kas teoriškai turėtų sumažinti sandorių pertvarkymo galimybes. Tačiau praktika rodo, kad botai prisitaiko – jie tiesiog optimizuoja latency, kad fiziškai greičiau pasiektų mazgus.

Ilgalaikėje perspektyvoje kalbama apie tokias technologijas kaip encrypted mempools – sandoriai būtų šifruoti tol, kol neįtraukiami į bloką, taigi botai negalėtų jų matyti iš anksto. Projektas SUAVE (iš Flashbots) bando sukurti atskirą MEV infrastruktūrą, kuri būtų sąžiningesnė visiems dalyviams. Ar tai pavyks – pamatysime.

Gyventi su MEV – ir vis tiek naudoti DeFi

MEV nėra kažkas, kas išnyks rytoj. Tai struktūrinė problema, įaugusi į tai, kaip blokčeinai veikia, ir kol egzistuos viešas mempool bei laisva sandorių tvarka, tol egzistuos ir MEV.

Bet tai nereiškia, kad reikia atsisakyti DeFi ar bijoti kiekvieno sandorio. Reikia tiesiog žinoti, su kuo susiduriate, ir naudoti turimus įrankius. CoW Swap, MEV Blocker, Flashbots Protect – tai ne teoriniai sprendimai, jie veikia dabar ir yra prieinami kiekvienam.

Svarbiausia – suprasti, kad blokčeinas nėra magiškai sąžininga sistema vien todėl, kad yra decentralizuotas. Jame veikia tie patys žmogiški motyvai: pelnas, konkurencija, informacinis pranašumas. MEV yra puikus priminimas, kad technologija pati savaime negarantuoja teisingumo – tam reikia sąmoningo dizaino, tinkamų protokolų ir informuotų vartotojų.

O kol tie protokolai tobulėja – bent jau žinokite, kad tas „sumuštinis” mempool’e ne visada yra jūsų draugas.

Daugiau

Saulės elektrinė ir elektromobilis: kombinacija