Porozmawiajmy o MEV | Część I | Ethereum w tarapatach

10 844

Temat cen transakcji na Ethereum jest gorący. Bardzo wysokie ceny na początku roku, kilka tygodni oddechu w kwietniu, a ceny znowu rosną. Czym jest MEV i jaka jest jego rola w tym zamieszaniu?

Słowem wstępu

Wielu uważa, że MEV jest zagrożeniem dla Ethereum. Realnym zagrożeniem, które przy spełnieniu się określonych scenariuszy może doprowadzić nawet do destabilizacji konsensusu w sieci. Jeżeli chcesz dowiedzieć się, czym jest MEV, jakie rządzą nim procesy oraz jakiego rodzaju zagrożenia stwarza dla użytkowników, jak również całej sieci, ten artykuł jest właśnie dla Ciebie.

Niniejszy tekst został opracowany na podstawie kilku źródeł, z których wyjąłem to, co najważniejsze dla zrozumienia złożoności zagadnienia i jego implikacji zarówno dla “zwykłych” użytkowników Ethereum, jak i dla całej sieci. Opracowania źródłowe są dość złożone i obszerne. Moim celem było przedstawienie tematu w jak najbardziej skondensowanej formie. Jeśli po lekturze tego tekstu nadal będziesz odczuwał niedosyt informacji (w co szczerze mówić wątpię:)), gorąco zachęcam Cię do zapoznania się z materiałem źródłowym, który wylistowałem na końcu tekstu.

Serdeczne podziękowania dla Marka Kirejczyka (ethworks.io) za mentoring, wskazówki i pomoc w redakcji niniejszego opracowania.

Artykuł podzieliłem na 2 części:

  • cz. I – z tego artykułu dowiesz się, co to jest MEV oraz jakie problemy stwarza zarówno dla użytkowników, jak i całej sieci Ethereum. Porozmawiamy o działalności botów arbitrażowych, wojnach o gas i opłatach transakcyjnych w sieci.
  • cz. II (publikacja 19.05) – dowiesz się, jakie są dobre strony MEV, zajmiemy się tym tematem w kontekście złożoności Ethereum, występowaniem tego zjawiska na blockchainie Bitcoina oraz tym, w jaki sposób możliwe jest rozwiązanie potencjalnych problemów, które się z tym wiążą.

***

Wraz z nieustającą adopcją technologii wykorzystującej smart kontrakty pojawiają się nowe, nieprzewidziane sposoby na wykorzystanie sieci, które – niestety – mogą być wykorzystywane do zarabiania kosztem nieświadomych użytkowników. Jednym z przykładów powyższego jest Miner-Extractable Value (MEV). MEV to technika stosowana przez górników, w ramach której są oni w stanie czerpać zyski kosztem innych użytkowników sieci na drodze dowolnej zmiany kolejności transakcji, bądź nawet ich całkowitego wykluczania z bloku. Mówiąc najprościej, górnicy mogą określić kolejność przetwarzania transakcji w łańcuchu bloków i wykorzystać tę możliwość na swoją korzyść.

Koncepcja MEV została po raz pierwszy wprowadzona przez Phila Daiana w „Flash Boys 2.0”. Spopularyzowali ją Dan Robinson, Georgios Konstantopoulos i samczsun w „Ethereum is a Dark Forest” i „Escaping the Dark Forest”. W tym artykule przyjrzymy się dokładniej temu, czym jest MEV, w jaki sposób może być wykorzystane na korzyść górników i niekorzyść nieświadomych użytkowników Ethereum oraz jaki rodzaj zagrożenia stwarza to dla całej sieci.

Co to jest MEV?

Blockchainy, takie jak Bitcoin i Ethereum, stanowią niezmienny rejestr transakcyjny, którego bezpieczeństwo gwarantować ma zdecentralizowana sieć komputerów, zwanych „górnikami”. Są oni odpowiedzialni za regularne włączanie oczekujących transakcji do bloków, które są następnie weryfikowane przez całą sieć i dołączane do globalnego rejestru (ledger). Sieci działające w oparciu o blockchain zapewniają, że wszystkie transakcje są procesowane prawidłowo (np. z wykluczeniem podwójnego wydatkowania), a nowe bloki transakcji są stale generowane (zapobiegając przestojom). Pomimo powyższego nie ma gwarancji, że transakcje zostaną kolejkowanie dokładnie w tej kolejności, w jakiej zostały przesłane do łańcucha bloków.

Jako, że każdy blok może zawierać zaledwie ograniczoną liczbę transakcji, górnicy mają pełną autonomię w wyborze tych, które oczekują w mempool. Podczas gdy górnicy zazwyczaj zlecają transakcje po najwyższej cenie gasu (opłata transakcyjna), aby zmaksymalizować swoje zyski, nie jest to bynajmniej wymagane przez sieć. W rezultacie górnicy mogą czerpać dodatkowe zyski z użytkowników, wykorzystując swoją zdolność do arbitralnej zmiany kolejności transakcji, tworząc to, co jest powszechnie znane jako Miner-Extractable Value (MEV).

MEV jest zatem miarą zysku, który górnik może osiągnąć dzięki zdolności do arbitralnego włączania, wykluczania lub re-orderów transakcji w produkowanych przez siebie blokach.

Tyle definicji chyba wystarczy.


Wyobraźmy sobie teraz, że w Uniswap jest dostępna możliwość arbitrażu w wysokości 10 000 USD po tym, jak duża transakcja spowodowała poślizg cenowy. Bot arbitrażowy zauważa taką możliwość i przesyła transakcję, aby ją przejąć, oferując górnikowi opłatę w wysokości 10 USD. W takim scenariuszu mogą wydarzyć się dwie rzeczy:

  • Górnik skopiuje i ocenzuruje taką transakcję, aby samemu wykorzystać okazję.
  • Inne boty zauważą i zaoferują wyższą opłatę, rozpoczynając wojnę o prawo do przejęcia arbitrażu w ramach licytacji. Aukcja nosi nazwę „Priority Gas Auction” (PGA).

Potencjalny zysk w wysokości 10 000 USD to właśnie MEV. Jeśli górnik go nie przechwyci i rozpocznie się PGA, różnica między ceną, po której aukcja zostanie rozstrzygnięta, a całkowitym dostępnym MEV to zysk tradera (jeśli, przykładowo, górnik otrzyma opłatę w wysokości 7 000 USD, pozostałe 3000 USD przypadnie traderowi).

Ten przykład nie przedstawia bynajmniej MEV w pełnej krasie. Te swoiste mini-kontesty w ramach blockchain tworzą określone impulsy motywacyjne, a jednocześnie skomplikowany łańcuch przyczynowo-skutkowy, któremu warto przyjrzeć się nieco dokładniej.

W raporcie odnośnie MEV od Paradigm możemy przeczytać, że bezpośrednim skutkiem sukcesu DeFi jest wzrost znanej dolnej granicy MEV Ethereum w tempie wykładniczym. Autorzy raportu opublikowanego w lutym tego roku wyrazili przekonanie, że MEV implikuje wystąpienie poważnych problemów, z którymi sieć będzie musiała zmierzyć się w ciągu następnego roku.

Jakie problemy stwarza MEV?

Chociaż MEV jest najpowszechniejszą terminologią dla opisanego wyżej mechanizmu okazuje się, że większość form MEV, z którymi mamy do czynienia obecnie, nie pochodzi od samych górników, ale od botów stron trzecich. Boty te manipulując kolejnością transakcji w ramach bloku, zmieniają opłatę transakcyjną, którą płacą górnikom. Oznacza to, że MEV może zostać wydobyte nawet wtedy, gdy górnicy kolejkują transakcje według najwyższych cen gasu. MEV można jednak postrzegać jako górną granicę tego, jaką wartość mogą uzyskać górnicy, ponieważ – jak już zostało powiedziane – to właśnie oni mają kontrolę nad ostatecznym porządkiem transakcji w bloku.

MEV odbywa się kosztem zwykłych użytkowników, często w sposób, który może nie być od razu widoczny dla wszystkich przed przetworzeniem ich transakcji. Może to obejmować wzrost opłat transakcyjnych sieci i dodatkowe poślizgi w transakcjach. W obydwu przypadkach dochodzi do czerpania wartości bezpośrednio od użytkowników.

Arbitraż giełdowy i wojny przetargowe dotyczące cen gasu (Gas Price Bidding Wars)

Najpopularniejszą obecnie formą MEV są zatem boty stron trzecich, które wykonują arbitraż między dwiema lub więcej zdecentralizowanymi giełdami (DEX). Okazja do arbitrażu jest tworzona, gdy cena aktywów cyfrowych na jednej giełdzie różni się od ich ceny drugiej. Do takiej sytuacji dochodzi zwykle w wyniku dużych obrotów na jednej z giełd. Boty arbitrażowe czerpią korzyści z tej możliwości, kupując aktywa na giełdzie oferującej niższą cenę i sprzedając je na giełdzie oferującej cenę wyższą. Przywracają tym samym równowagę cen z obydwu giełd, jednocześnie uzyskując zysk. Co istotne, cały arbitraż odbywa się w ramach jednej transakcji, a transakcja jest wykopana przez górnika, jeśli przyniesie zysk obydwu stronom. Wiąże się zatem z zerowym ryzykiem zarówno po stronie bota, jak i górnika. Dodatkowo, arbitraż może być również przeprowadzany między DEX-ami on-chain i scentralizowanymi giełdami off-chain.

Jak zostało powiedziane na wstępie, wraz ze wzrostem adopcji DeFi i rosnącą płynnością w ramach zdecentralizowanych giełd, występowanie i rentowność wyszczególnionych wyżej możliwości arbitrażu znacząco wzrosła. W rezultacie prowadzi do wzrostu konkurencji między botami arbitrażowymi. Boty te konkurują ze sobą, angażując się w wojnę licytacyjną, która skutkuje ciągłym podnoszeniem opłaty transakcyjnej, którą są skłonne zapłacić górnikom, próbując najpierw przetworzyć ich transakcję. Angażują się w takie zachowania, ponieważ wiedzą, że górnicy są zachęcani do procesowania transakcji według kryterium najwyższej ceny gasu. Chociaż ta forma MEV zapewnia wyrównanie cen rynkowych na różnych giełdach, ma szkodliwy efekt uboczny.

Z grubsza rzecz biorąc chodzi o to, że przepustowość sieci blockchain jest w rezultacie zużywana przez coraz bardziej konkurencyjne transakcje arbitrażowe, podnosząc opłaty transakcyjne dla wszystkich innych w sieci. Opłaty transakcyjne uiszczane przez boty arbitrażowe, które często stanowią duży procent ostatecznych zysków wygenerowanych z arbitrażu, trafiają bezpośrednio do górników. To z kolei implikuje, że górnicy nadal korzystają z tej formy MEV, nawet bez możliwości skorzystania z arbitrażu dla siebie, ponieważ zgarniają coraz więcej przychodów z opłat transakcyjnych.

Front running i “niewidzialne opłaty” (Invisible Fees)

Inną formą MEV, którą można uznać za bardziej bezpośrednio szkodliwą dla doświadczeń użytkowników, są boty, które wykonują transakcje wyprzedzające (front running) te dokonywane przez użytkowników na zdecentralizowanych giełdach. Jako, że wszystkie transakcje użytkowników muszą przechodzić przez mempool, boty mogą monitorować duże transakcje wchodzące do mempool i wykorzystywać świadomość ich wystąpienia na swoją korzyść.

Przyjmijmy dla przykładu, że została zauważona duża transakcja. Na drodze front runningu, bot może skopiować transakcję użytkownika i zapłacić wyższą opłatę transakcyjną, aby została ona przetworzona jako pierwsza. To przesuwa cenę rynkową aktywów będących przedmiotem obrotu, powodując, że transakcja użytkownika wiąże się z większym poślizgiem (slippage) – różnicą między oczekiwaną ceną transakcji a ceną rzeczywistą. Po przetworzeniu transakcji użytkownika cena rynkowa aktywów będących przedmiotem obrotu dalej przesuwa się na korzyść bota, co pozwala mu czerpać zyski ze sprzedaży aktywów.

W rezultacie powyższego, transakcja użytkownika jest wykonywana po nieoptymalnym kursie wymiany, co zwiększa koszty korzystania ze zdecentralizowanych giełd w postaci „niewidzialnej opłaty”, na skutek której otrzymywanych jest mniej tokenów niż początkowo oczekiwano. Podobnie jak w przypadku arbitrażu giełdowego, front runningowe boty konkurują o te możliwości, angażując się w walkę o opłaty transakcyjne, aby najpierw przetworzyć swoją transakcję, zwiększając w ten sposób koszt tworzenia dowolnej transakcji w sieci blockchain.

Te ataki są mitygowane przez giełdy, które pozwalają zdefiniować maksymalny slippage, zwiększając jednak ryzyko, że transakcja się nie powiedzie, w wyniku zmiany ceny na giełdzie, która jest wynikiem działań innych normalnych użytkowników – komentuje Marek Kirejczyk. To z kolei staje się dużym problemem, przy użyciu walletów multisig, gdzie między stworzeniem a faktyczną egzekucją transakcji, mogą minąć minuty, godziny lub nawet dni.

Arbitraż giełdowy i front running to tylko dwa przykłady tego, jak generowany jest MEV i jak bardzo negatywny może mieć wpływ na użytkowników. Jednak nie są to jedyne sytuacje, w których możliwy jest MEV. Zakładając, że górnicy zaczną wykorzystywać więcej możliwości MEV dla siebie, możliwe jest, że zostaną zastosowane bardziej zaawansowane strategie zmiany kolejności w celu dalszego “wysysania” wartości z użytkowników. Podczas gdy boty arbitrażowe i boty front runningowe mogą zmienić kolejność swoich transakcji tylko po uiszczeniu wyższej opłaty transakcyjnej, górnicy mogą ponownie zamówić i wstawić własne transakcje do bloku za darmo. Otwiera to jeszcze więcej możliwości dla MEV, co w najgorszych przypadkach może prowadzić do reorganizacji bloków i niestabilności konsensusu.

***

Mamy dwóch górników, którzy otrzymują nagrodę w wysokości 100 USD za każdy znaleziony blok. Pierwszy z nich znalazł 3 bloki, z których pierwszy zawierał opisany już arbitraż Uniswap o wartości 10 000 dolarów.

Teraz pierwszy górnik ma wybór: może albo kopać na 3 blokach swojego “kolegi”, albo może spróbować ponownie wydobyć pierwszy blok, aby skorzystać z arbitrażu Uniswap dla siebie. 10 000 USD jest o wiele bardziej smakowitym kąskiem niż nagroda za blok w wysokości 100 USD. Pierwszy górnik jest bardziej racjonalny niż uczciwy, więc decyduje się ponownie wydobyć pierwszy blok.

Podczas gdy pierwszy górnik wykonuje, co zamierzał, ponieważ obecny, najdłuższy łańcuch ma wysokość 3, on również wydobywa ponownie (re-mine) drugi i trzeci blok (i przechwytuje wszystkie MEV, które również się w nich znajdowały). Po reorganizacji bloku (re-org), pierwszy z górników jest właścicielem najdłuższego łańcucha.

Nazywa się to atakiem „time-bandit”. Jeśli nagrody za blok są wystarczająco małe w porównaniu z MEV, racjonalnym dla górników może okazać się zdestabilizowanie konsensusu.

Ten medal ma dwie strony. Jest możliwe, że każdy racjonalny górnik spróbuje ponownie zorganizować trzeci blok i zasadniczo zatrzyma postęp. Może to jednak zniszczyć wartość inwestycji w hash rate górników.

Są to ataki trudniejsze do przeprowadzenia, niż może się wydawać – zauważa Kirejczyk. Wszystko za sprawą GHOST protocol, którego używa Ehtereum, najcięższego łańcucha a nie najdłuższego (jak bitcoin). Jest to wariant selfish mining/pool mining.

Taki typ ataku wymaga koordynacji dużej części mocy obliczeniowej. Pokazuje ponadto, że my – “zwykli” – użytkownicy jak i nawet analitycy możemy nawet nie wiedzieć o atakach, które mają miejsce, ale są trudne do wykrycia.

Z jaką skalą MEV mamy do czynienia?

Trudno z całą pewnością określić, ile w sumie MEV jest na Ethereum. Cały MEV, którego jesteśmy obecnie świadomi, stanowi jedynie dolną granicę.

Dzieje się tak, ponieważ MEV można utworzyć za każdym razem, gdy użytkownik wchodzi w interakcję z łańcuchem bloków, a smart kontrakty umożliwiają funkcjonalnie nieskończoną liczbę potencjalnych interakcji.

Możliwe jest jednak ustalenie poziomu bazowego, dodając MEV, o którym wiadomo, że został wyodrębniony (czyli „zrealizowany MEV” pokazany na wykresie wyżej). Następnie możemy użyć heurystyki, aby wywnioskować, o ile wyższa niż nasza linia bazowa może być prawdziwa dolna granica i w jakim wymiarze jakościowa tekstura niewykorzystanego MEV może wpłynąć na środowisko łańcucha bloków.

Boty, boty i jeszcze raz boty…

Cechą charakterystyczną obecnej ery Ethereum jest to, że większość górników nie próbuje samodzielnie wykorzystywać MEV. Prawie cała obecna działalność jest prowadzona przez traderów niezwiązanych z górnictwem. Jednak niektóre MEV mogą zostać przechwycone tylko przez górników, ponieważ – jak już wiemy – mają oni uprawnienia do arbitralnego zamawiania (lub wykluczania) transakcji. Traderzy niezwiązani z wydobyciem mogą uzyskać dostęp do ściśle mniejszego podzbioru „prostych” MEV; „Złożonych” preferencji nie można skutecznie wyrazić za pomocą PGA.

Oznacza to, że prawie w całości realizowany jest MEV w stylu PGA. Arbitraż Uniswap, podobnie jak podany wcześniej przykład, jest jednym z najczęściej stosowanych w praktyce wariantów MEV.

Innym typem MEV często spotykanym w praktyce jest kradzież z wrażliwych smart kontraktów. Jeden z przykładów został opisany w artykule „Dark Forest”. Jego autorzy znaleźli inteligentny smart kontrakt z luką, która pozwoliłaby każdemu ukraść znajdujące się w nim fundusze; Dan Robinson planował odzyskać fundusze, wykorzystując je, zanim zdoła zrobić to złodziej. Bot arbitrażowy automatycznie rozpoznał jednak i skopiował jego transakcję, zastępując podany adres własnym i oferując wyższą opłatę transakcyjną. Transakcja bota została wykonana przed ich transakcją (front running).

To dopiero wierzchołek góry lodowej.

Link do części II:

Źródła:

Komentarze