UniswapX: jak nowy protokół routingu wpłynie na płynność DEX
W sierpniu 2023 r. Uniswap stanowił ponad 64% całkowitego wolumenu obrotu na zdecentralizowanych giełdach (DEX).
Podobnie jak większość innych platform, Uniswap wykorzystuje algorytm automatycznego animatora rynku (AMM) i pule płynności. Jest to niezawodne i sprawdzone rozwiązanie, ale nie jest przystosowane dla tradycyjnych graczy i stwarza pewne ryzyko podczas korzystania z platformy.
Aby poprawić jakość doświadczenia użytkownika, a także zapewnić szybką i zyskowną konwersję aktywów cyfrowych, zespół projektowy uruchomił protokół UniswapX, który łączy zdecentralizowaną i scentralizowaną (za pośrednictwem proxy) płynność. Incrypted wyjaśnił, czym jest UniswapX, jakie korzyści przyniesie zwykłym użytkownikom i jak może wpłynąć na architekturę DEX.
Czym jest UniswapX
UniswapX to protokół roamingu typu open source, którego celem jest stworzenie wysokiej jakości doświadczenia DEX poprzez korzystniejsze kursy wymiany i szybszą konwersję kryptowalut. Aby osiągnąć te cele, UniswapX przyciąga nowe źródła płynności, dodaje mechanizm aukcyjny i zmienia format wymiany.
Zasadniczo jest to nowy sposób wymiany kryptowalut na Uniswap, różniący się od tradycyjnych swapów za pośrednictwem pul płynności.
Technicznie rzecz biorąc, protokół jest zbiorem wielu powiązanych inteligentnych kontraktów, w chwili pisania tego tekstu wdrożonych w sieci podstawowej Ethereum. W rezultacie interakcja z UniswapX nie wymaga autoryzacji ze strony Uniswap Labs, a sam protokół nie może zostać zablokowany na poziomie blockchain.
Architektura protokołu
Architektura UniswapX obejmuje zarówno nowe rozwiązania, jak i dobrze znane rozwiązania Uniswap Labs.
Powyższy schemat przedstawia główne moduły protokołu.
Permit2 – wprowadzone w listopadzie 2022 r. rozwiązanie do przyznawania praw do korzystania z tokenów ERC-20. Zmniejsza koszt gazu dzięki potwierdzeniom wsadowym i umożliwia wykorzystanie tokenów przez inne aplikacje podłączone do modułu.
Permit2 umożliwia inteligentnym kontraktom Uniswap wykorzystywanie tokenów z portfela użytkownika do wymiany i umożliwia płatność przez drugą stronę transakcji.
Twórcy wprowadzili również system realizacji swapów poprzez zlecenia. Wcześniej swapy odbywały się w formie transakcji z zestawem parametrów (saldo, wymienione i otrzymane tokeny, kwota i inne), ale teraz użytkownik tworzy i podpisuje zamówienie.
W celu dalszej realizacji zamówienie jest umieszczane w sieci przez moduł wypełniający (filler; wypełniacz).
UniswapX wykorzystuje nowy typ zlecenia oparty na aukcji holenderskiej. Poniżej wyjaśnimy, jak to działa. Ale główną cechą jest to, że użytkownik może określić górne i dolne limity cenowe, a także tempo zmiany ceny.
Moduł wypełnienia jest uczestnikiem protokołu, który realizuje zlecenie użytkownika na określonych warunkach. Przesyła parametry wejściowe zlecenia do sieci i zapewnia płynność wymiany.
Moduły te mogą wchodzić w interakcje z UniswapX za pośrednictwem własnych inteligentnych kontraktów lub poprzez przyznanie protokołowi praw do aktywów. Więcej informacji na ten temat można znaleźć w dokumentacji projektu.
OrderReactor to inteligentny kontrakt, który generuje dynamiczne zlecenie na podstawie parametrów wejściowych giełdy i oblicza je w czasie rzeczywistym. Order Reactor odpowiada za stopniowe obniżanie kursu wymiany i sprawdza, czy rzeczywiste warunki realizacji zlecenia spełniają wymagania użytkownika.
W chwili pisania tego tekstu, Order Reactor może tworzyć zlecenia holenderskie и ekskluzywne zamówienia holenderskie dla określonych modułów wypełnienia. W przyszłości będzie obsługiwał więcej typów zleceń, takich jak zlecenia rynkowe lub zlecenia z limitem.
Executor – inteligentny kontrakt wchodzący w interakcję z adresami wypełniającymi i pulami płynności Uniswap. Spełnia dwie główne funkcje:
- wybór wykonawcy zlecenia z najkorzystniejszymi warunkami;
- odpisywanie aktywów z portfeli stron transakcji i wzajemne rozliczenia.
W okresie testów beta zespół Uniswap Labs kontroluje listę wykonawców, aby zapewnić płynną wymianę. W przyszłości każdy użytkownik będzie mógł korzystać z funkcji modułu wypełniania.
Kluczowe cechy UniswapX
Dzięki nowej architekturze, protokół zdołał rozwiązać szereg problemów typowych dla DEX i AMM oraz zapewnić użytkownikom szereg korzyści.
Zlecenia holenderskie to nowy rodzaj zleceń oparty na aukcji holenderskiej ze stopniowo malejącym kursem wymiany. Początkowo zlecenie wchodzi do sieci po najkorzystniejszej cenie, ale jeśli żaden podmiot nie zgodzi się go zrealizować w określonym czasie, cena zostaje obniżona.
Na przykład, zdecydowałeś się wymienić 1 ETH o wartości rynkowej 2000 USD za pośrednictwem UniswapX i utworzyłeś zlecenie z przedziałem cenowym 2050-1900 USD. Początkowo zostanie ono złożone po cenie 2050 USD. Jeśli żaden wypełniacz nie odpowie na zlecenie po pewnym czasie, cena spadnie do 2000 USD, następnie do 1950 USD i tak dalej do minimalnej ustawionej wartości.
Przedział czasowy spadku ceny i minimalny poziom ceny można ustawić podczas otwierania zamówienia. Twórcy zapewniają, że aukcja holenderska pozwala zachować równowagę między korzyścią dla dostawcy płynności a najlepszym kursem wymiany dla użytkownika;
Swapy bezgazowe – ponieważ zlecenie jest składane na blockchainie nie bezpośrednio przez użytkownika, ale przez składającego, ten ostatni płaci opłatę transakcyjną. Koszty te są następnie uwzględniane w wartości swapu, co oznacza, że użytkownik nie musi posiadać tokenów “gazowych” sieci, aby dokonać swapu;
Brak prowizji za nieudane transakcje – jeśli wypełniacz, który przyjął zamówienie, nigdy nie pojawił się w określonym czasie, takie żądanie nie zostanie umieszczone w sieci, tj. za jego utworzenie nie jest pobierana prowizja;
Zewnętrzna płynność – zlecenie może zostać zrealizowane zarówno kosztem pul płynności Uniswap, jak i przy użyciu środków wypełniającego. Inteligentny kontrakt lub External Owned Accounts (EOA), tj. zwykły portfel bez depozytu, może wchodzić w interakcje z protokołem, co otwiera nowe możliwości dla tradycyjnych animatorów rynku.
Zintegrowany MEV – UniswapX integruje rozwiązania MEV, które zwracają zysk wygenerowany z zamówienia w postaci korzystniejszego kursu wymiany dla użytkownika. Ponadto deweloperzy zauważyli, że zlecenia są lepiej chronione przed frontrunningiem niż zwykłe transakcje.
Biała księga UniswapX opisuje również mechanizm płynnej integracji wymiany międzyłańcuchowej z blockchainami zgodnymi z EVM i rollupami. Na razie jednak protokół jest dostępny tylko dla swapów w sieci Ethereum. Zespół obiecuje zaimplementować moduł interoperacyjności w późniejszym terminie.
Jak wygląda wymiana za pośrednictwem UniswapX?
Aby lepiej zrozumieć działanie protokołu, przyjrzyjmy się wymienionym elementom architektury w akcji. Poniżej przedstawiono schemat wymiany UniswapX.
Wymiana przy użyciu protokołu składa się z następujących kroków:
- Użytkownik tworzy zlecenie o określonych parametrach i podpisuje je. Jednocześnie przyznaje kontraktowi Permit2 prawa dostępu do aktywów w portfelu.
- Podpisane zlecenie jest wysyłane do publicznej lub prywatnej puli, gdzie jest odnajdywane przez składającego. Następnie składający zamówienie umieszcza parametry zamówienia w reaktorze zamówień i płaci za gaz. Koszt gazu jest wliczony w kurs wymiany.
Jeśli czas realizacji zamówienia upłynął, a wypełniający nie odpowiedział, wymiana jest uznawana za nieudaną. Użytkownik nie płaci prowizji za wymianę.
- Order Reactor wywołuje Executor Contract, przekazując mu obliczone parametry zlecenia i aktualne warunki realizacji. Warunki te mogą ulec zmianie zgodnie z zasadą aukcji holenderskiej w zależności od tego, jak długo zlecenie znajdowało się w Order Reactor.
- Executor Contract wchodzi w interakcję z wypełniaczem, aby uzyskać od niego warunki wymiany. Informacje te są następnie przekazywane z powrotem do Reaktora Zleceń, który sprawdza, czy są one zgodne z danymi wejściowymi.
Jeśli parametry zlecenia i executora są zgodne, Executor Contractor Contract odejmuje aktywa z portfeli użytkownika i wypełniającego i rozlicza wymianę. Następnie wymiana zostaje uznana za zakończoną.
W rozmowie z Incrypted, Melnyk wyjaśnił, że złożenie zamówienia w inteligentnym kontrakcie następuje bezpośrednio w momencie jego realizacji. Transakcja jest wprowadzana do łańcucha bloków przez uczestnika, który natychmiast wykonuje zamówienie.
Innymi słowy, sytuacja, w której zamówienie jest składane przez jednego zgłaszającego i realizowane przez innego z korzystniejszą ofertą, jest po prostu niemożliwa.
Jeden z użytkowników X (wcześniej Twitter) zwrócił uwagę na błąd, który powoduje, że UniswapX określa status swapu na podstawie salda użytkownika. Prowadzi to do tego, że jeśli wystawisz 1 ETH na sprzedaż za 2000 USDT, a podczas realizacji zlecenia do Twojego portfela zostanie przelane 2000 USDT, co nie jest związane ze swapem, protokół uzna Twój swap za pomyślnie zrealizowany.
W chwili pisania tego tekstu nie wiadomo, czy problem ten został naprawiony.
Jak korzystać z UniswapX
UniswapX jest dostępny za pośrednictwem interfejsu aplikacji internetowej Uniswap jako opcja w ustawieniach swap. Aby aktywować protokół w swapie:
- Przejdź do strony swapu Uniswap i podłącz swój portfel.
- Kliknij ikonę koła zębatego w prawym rogu okna wymiany i aktywuj UniswapX za pomocą przełącznika.
Teraz podczas wymiany Uniswap zaangażuje protokół w celu znalezienia lepszych ofert. Możesz sprawdzić, jak zmieniła się trasa wymiany po wybraniu pary wymiany. Aby to zrobić, wystarczy najechać kursorem na napis Uniswap API.
Podczas testowania działania protokołu, zespół Incrypted nie wykrył żadnych zmian w trasie swapu po aktywacji protokołu. Przy włączonym UniswapX wymiana jest mniej korzystna (w granicach kilku centów) niż przy jego wyłączeniu. Może to być spowodowane prowizją samego protokołu.
Podczas gdy UniswapX jest na etapie testów beta i jest niewielu dostawców płynności, zalecamy sprawdzenie trasy swapu za każdym razem, gdy aktywujesz protokół. Jeśli nie ma różnicy, swapowanie bezpośrednio przez pulę może być korzystniejsze i bezpieczniejsze.
Możliwe konsekwencje dla dostawców płynności
Uniswap Labs pozycjonuje UniswapX jako sposób na zapewnienie użytkownikom korzystniejszych warunków wymiany, ale protokół może również wpływać na ogólną strukturę płynności DEX. W szczególności wykorzystuje on pule jako “rozwiązanie awaryjne” w przypadkach, gdy podmioty zgłaszające odmawiają honorowania zamówienia lub nie są w stanie zapewnić lepszych warunków.
Jeśli liczba podmiotów zgłaszających wzrośnie i będą one w stanie zaoferować lepsze warunki wymiany, może to doprowadzić do spadku wolumenu obrotu w pulach Uniswap, a w konsekwencji do spadku przychodów dostawców płynności.
W rezultacie animatorzy rynku, którzy mają wystarczające aktywa i podstawy techniczne do interakcji z UniswapX, mogą preferować uczestnictwo w pulach, pracując bezpośrednio z protokołem.
Innym aspektem jest elastyczna interakcja z UniswapX. Animatorzy rynku mają możliwość zapewnienia płynności protokołowi poprzez zaawansowane inteligentne kontrakty ze zintegrowanymi strategiami arbitrażowymi. Te ostatnie otwierają dostęp do dodatkowego dochodu.
Pule Uniswap V3 nie mają takiej opcji. Prawdopodobnie rozszerzony projekt puli zostanie wdrożony w V4, ale to rozwiązanie jest wciąż w fazie rozwoju.
Oznacza to, że jeśli UniswapX zostanie spopularyzowany, użytkownicy rzeczywiście mogą uzyskać korzystniejsze warunki wymiany i pozbyć się poślizgu i zmiennych strat, ale kosztem zmniejszonej decentralizacji.
Podczas gdy pule Uniswap gromadziły płynność od tysięcy dostawców detalicznych, co zapewniało odporność na manipulacje i brak pojedynczego punktu awarii, UniswapX stwarza warunki wstępne dla dominacji dużych animatorów rynku ze wszystkimi ich zaletami i wadami.