🇸🇰 Uvidíme problém s MEV na Cardane?

Uvidíme problém s MEV na Cardane?

Termín MEV je skratkou pre Miner Extractable Value, teda hodnotu, ktorú možno vyťažiť z baníkov. Výrobcovia blokov alebo iné subjekty môžu dosahovať zisk vďaka svojej schopnosti ovplyvňovať poradie transakcií v novom bloku. Výrobcovia blokov majú právo zahrnúť, vylúčiť alebo zmeniť poradie transakcií v rámci blokov a sú na to ekonomicky motivovaní. MEV je jedným z najväčších problémov Etherea, pričom od jeho používateľov vylákal viac ako stovky miliónov USD. Vysvetlíme tento problém a prediskutujeme, či môžeme rovnaký problém očakávať aj na Cardane.

Čo je MEV?

Každý producent blokov si udržiava zoznam nepotvrdených transakcií v takzvanom mem-poole. Zakaždým, keď používateľ zadá novú transakciu, transakcia prejde do mem-poolu, kde čaká na pridanie do bloku. To isté platí pre transakcie vytvorené prostredníctvom decentralizovaných aplikácií, ako sú napríklad burzy. Keď uzol získa právo vytvoriť nový blok, vyberie transakcie z mem-poolu podľa pravidiel protokolu a vloží ich do nového bloku. Ak uzol dostane nový blok, ktorý vytvoril iný uzol, pozrie sa na transakcie v bloku a môže tie isté transakcie vymazať vo svojom mem-poole. Ak sú transakcie v bloku, je veľká šanca, že budú následne potvrdené. Uzol nemusí transakcie vymazať okamžite, ale až po určitom čase (po niekoľkých potvrdeniach), pretože si nemôže byť istý, či nový blok bude akceptovaný väčšinou uzlov v sieti a stane sa navždy súčasťou blockchainu. Toto je všeobecný opis toho, ako uzly zvyčajne spracúvajú transakcie v akejkoľvek blockchainovej sieti.

V ideálnom svete by výrobcovia blokov nevedeli o význame transakcií a nezaujímali by sa o ne. Vkladali by ich do bloku spravodlivo v poradí, v akom prišli. V prípade Etherea sme však od tohto ideálu ďaleko.

MEV je podvodná príležitosť pre producentov blokov, ktorá im umožňuje maximalizovať svoje zisky určením poradia transakcií v novom bloku, ktoré je pre nich výhodné. To zahŕňa svojvoľnú zmenu poradia, zaradenie alebo vylúčenie transakcií v rámci bloku na úkor používateľov.

Nevyhnutnú súčasť MEV vykonávajú autonómni účastníci siete nazývaní vyhľadávači. Vyhľadávače obsluhujú používatelia, ktorí obsluhujú zložité algoritmy zisťujúce dostupné ziskové príležitosti MEV. Snažia sa pochopiť význam transakcie. Napríklad vedia, že na Uniswape prebieha obrovská transakcia výmeny. Na základe tejto a ďalších znalostí hľadajú príležitosti. Všimnite si, že vyhľadávače nemusia nevyhnutne prevádzkovať výrobcovia blokov. Vyhľadávače sú boti, ktorí po nájdení príležitosti automaticky odosielajú ziskové transakcie do siete.

Keď vyhľadávače nájdu bezpečnú ziskovú príležitosť, sú schopné platiť vysoké poplatky za plyn. Vysoký poplatok motivuje producentov blokov a validátorov, aby prijali nimi navrhované poradie transakcií. Ethereum umožňuje používateľom nastaviť ľubovoľne vysoký poplatok za transakciu. Keď vyhľadávači nájdu vhodnú príležitosť, sú schopní nastaviť oveľa vyšší poplatok ako používatelia. Keďže boti sú schopní nájsť príležitosť veľmi rýchlo a predložiť transakciu v rádoch mikrosekúnd, ich transakcie preskočia transakcie používateľov v mem-poole. Presnejšie povedané, ak výrobcovia blokov vyberajú transakcie na základe veľkosti poplatkov, je pre nich ekonomicky výhodné vybrať ako prvú transakciu s vyšším poplatkom. Veľkosť poplatku má prednosť pred časom dodania transakcie.

Toto sa nazýva front-running. Zahŕňa sledovanie nepotvrdených transakcií v mem-poole, hľadanie ziskových obchodov a následné predbiehanie pôvodných transakcií predkladaním ich kópií, ale s vyššími poplatkami.

Inými slovami, ziskový obchod uskutočňuje majiteľ bota namiesto používateľa. Transakcia používateľa buď zlyhá, alebo je ekonomicky menej výnosná ako v čase predloženia transakcie. Týmto spôsobom výrobca bloku získava od používateľa ekonomickú hodnotu.

Príklad front-runningu

Likvidita na reťazci je rozdrobená do mnohých poolov, ktoré medzi sebou nekomunikujú. Roztrieštená likvidita vytvára príležitosť nakupovať nízko a predávať vysoko v rôznych pooloch.

Predstavte si, že obchodník nájde arbitrážnu príležitosť. Chce kúpiť WBTC v hodnote 10 miliónov USD na Uniswape za 20 200 USD za 1 WBTC. Potom chce predať všetky WBTC na Sushiswap, kde je hodnota 20 250 USD za 1 WBTC. Musí teda kúpiť WBTC za nižšiu cenu na Uniswape a potom ich rýchlo predať za vyššiu cenu na Sushiswape. Ak chce obchodník využiť túto príležitosť, musí predložiť transakciu, ktorá bude čakať v mem-poole, kým ju vyberie výrobca blokov a vykoná.

Problém je v tom, že predloženie transakcie otvára okno pre front-runner bota, ktorý môže zametať. Boti môžu analyzovať obsah transakcie a dospieť k záveru, že ekonomicky dáva zmysel preskočiť transakciu používateľa. Kým transakcia používateľa čaká v mem-poole na vykonanie, bot rýchlo skopíruje transakciu a nastaví vyšší poplatok. Transakcia bota sa teda vykoná skôr ako transakcia používateľa. Tým sa obchodník účinne pripraví o možnosť arbitráže a profituje na svoj intelektuálny, peňažný a kreatívny úkor.

Na rozdiel od tradičného sveta Ethereum nemôže paralelne spracovávať transakcie v reťazci a umožňuje len sekvenčné spracovanie. To znamená, že všetky transakcie v bloku majú pevné poradie a toto poradie sa musí počas validácie zachovať. To poskytuje výrobcom blokov veľkú moc, ktorá môže byť zneužitá. Aj keď sa výrobcovia blokov správajú férovo a sledujú len svoje vlastné ekonomické záujmy, boti môžu kedykoľvek predložiť transakcie s vyšším poplatkom a ovplyvniť tak poradie transakcií v blokoch.

Je možné, aby si boti bezplatne požičali 10 miliónov USDC z pôžičkového fondu Aave za predpokladu, že transakcia vráti presne 10 miliónov USDC späť do pôžičkového fondu na konci transakcie. Toto sa nazýva blesková pôžička. Možno to vykonať pomocou vlastného inteligentného kontraktu, ktorý je vopred nasadený do reťazca. Majiteľ bota nepotrebuje ani potrebný kapitál na front-running útok. Bot vytvorí transakciu, ktorá si dočasne požičia potrebný kapitál a uskutoční transakcie na Uniswap aj Sushiswap. Z pohľadu siete pôjde o atomickú operáciu.

Dodajme, že na podobnom princípe je založených viac typov útokov, napríklad back-run útok, sendvičový útok a iné.

Dočkáme sa problému s MEV na Cardane?

Problém MEV sa v ekosystéme Cardano zatiaľ neobjavil. Cardano však nemá žiadne aktívne opatrenia na zabránenie MEV. V zásade nič nemôže zabrániť operátorom poolov, aby rýchlo vytvorili a vložili transakciu do bloku a zároveň úmyselne vynechali inú transakciu. Teoreticky je teda možné spáchať front-running útok podobne ako v prípade Etherea. Prečo sa to v praxi ešte nestalo?

Jedným z dôvodov je, že protokol Cardano stanovuje poplatky deterministicky. Ak niekto vytvorí kópiu transakcie, ktorá je rovnaká alebo veľmi podobná originálu, poplatok za transakciu bude rovnaký. Okrem toho získanie transakčného poplatku nie je priamo spojené s vytvorením bloku. Všetky transakčné poplatky sa zhromažďujú a rozdeľujú všetkým operátorom (a stakerom) raz za 5 dní na konci epochy. Aj keď hypoteticky prevádzkovateľ uprednostní transakciu s vysokým poplatkom, dostane len zanedbateľnú časť tohto poplatku.

V dôsledku toho je ťažké spáchať útoky MEV pre subjekty, ktoré nie sú operátormi, pretože nemôžu využiť veľkosť poplatku na vynútenie zmeny poradia transakcií.

Vysoká decentralizácia protokolu Cardano zabraňuje útokom MEV, pretože ich môže vykonať len uzol, ktorý je aktuálne vedúcim slotu. Šanca, že uzol nájde ziskové príležitosti MEV a zároveň bude lídrom slotu, existuje, ale je relatívne malá. S rastúcou decentralizáciou sa šance znižujú, takže ak má daný pool napríklad 1 % podiel, má podobnú šancu byť lídrom slotu, keď sa mu to hodí.

Ak by bol pool zapojený do útokov MEV, mohlo by to delegátov odradiť. Prevádzkovateľ poolu si musí rozmyslieť, či sa mu útok MEV oplatí, pretože riskuje stratu obnosu v stakingu, a teda aj podielu na produkcii bloku. Existuje veľká pravdepodobnosť, že ak by sa útok MEV podarilo odhaliť a informácia by sa zverejnila v komunite delegátov, pool by stratil vplyv. Ukazuje sa ako výhodné, že delegáti môžu priamo ekonomicky ovplyvňovať férové správanie prevádzkovateľov poolu. Tí si musia vážiť svojich delegátov a nezradiť ekosystém využívaním možností MEV.

Určitá šanca na úspešné využitie príležitostí MEV by existovala, ak by sa spojilo viac veľkých prevádzkovateľov združení. Tým by sa zvýšila šanca, že sa niekto zo skupiny stane vo vhodnom čase vedúcim slotu. Nemyslím si, že by k tomu v praxi došlo, ale nemožno to vylúčiť. Teoreticky je možné, že prevádzkovatelia poolov by sa podelili o vyťaženú hodnotu s delegátmi. Delegáti by potom naďalej podporovali pool svojimi mincami ADA a v podstate by sa podieľali na podvode. Ak by sa prevádzkovateľ poolu musel deliť o zisk s delegátmi, ekonomická motivácia by bola pre všetky zúčastnené strany nižšia.

Útok MEV je na Cardano o niečo zložitejší vzhľadom na model EUTXO a skutočnosť, že transakcie nie sú závislé od globálneho stavu a poradia transakcií v bloku. To však nezabezpečuje 100 % odolnosť voči tomuto javu.

Existujú nejaké účinné opatrenia na zabránenie útokom MEV?

Z nášho pohľadu by mohla pomôcť anonymita transakcií. Ak by sa obsah transakcií nedal analyzovať, nebolo by možné hľadať príležitosti na MEV. Obsah transakcií by mohol byť verejný až po zverejnení bloku.

Pomôcť by mohlo zvýšenie paralelizácie spracovania transakcií, pričom by pomáhali druhé vrstvy. Ouroboros Leios umožní spracovanie transakcií v podstate okamžite po ich predložení, čím sa skráti čas potrebný na analýzu transakcií a rýchle predloženie konkurenčných podvodných transakcií.

Záver

Čím viac používateľov si ekosystém Cardano osvojí, tým väčší záujem budú mať útočníci o zneužitie systému vo svoj prospech. Ekonomická motivácia môže byť zaujímavá aj pre interných aktérov, t. j. prevádzkovateľov poolov. Hrozí im strata dôvery a odliv stakerov do iného poolu. Je možné, že prevádzkovateľ poolu podstúpi jednorazové riziko. Ak sa útok MEV zistí a preukáže, spoločenstvo by malo primerane reagovať.

MEV je určite zaujímavým fenoménom, o ktorom by mal premýšľať aj tím IOG, ktorý by sa mal zamyslieť nad tým, ako vytvoriť účinnú obranu. V ekosystéme Cardano sme MEV zatiaľ nezaznamenali, čo nás môže tešiť, ale to neznamená, že na MEV môžeme zabudnúť. Musíme hovoriť o potenciálnych problémoch a hľadať riešenia už dnes.


(Napísal @Cardanians.io) - preklad @Martin.M
Pôvodný článok: Will we see the MEV problem on Cardano? | Cardano Explorer (cexplorer.io)