Swapy DEX: wpływ na cenę, poślizg, minimalna ilość i ryzyko MEV
Sprawdź, jak głębokość puli wpływa na cenę, jak minimum odbioru ogranicza oczekujący swap i dlaczego szeroka tolerancja poślizgu może dopuścić gorsze wykonanie.
W tym przewodnikuTrzy pojęcia odpowiadają na różne pytania
Krótkie podsumowanie
Kurs DEX może zmienić się z dwóch powodów: sam swap przesuwa cenę puli, a inne transakcje mogą zrobić to przed jego wykonaniem. Wpływ na cenę opisuje pierwszy efekt; poślizg to zmiana między wyceną a wykonaniem. Tolerancja poślizgu ustala granicę wyniku, a nie gwarancję lepszego kursu.
Trzy pojęcia odpowiadają na różne pytania
Wpływ na cenę to zmiana wywołana własnym zleceniem w stosunku do dostępnej płynności puli. Realistyczna wycena już go uwzględnia: duże zlecenie w płytkiej puli otrzyma gorszą średnią cenę. Poślizg to różnica między oczekiwanym wynikiem przy sporządzaniu wyceny a wynikiem przy wykonaniu transakcji. Inne swapy, opóźnienie lub zmieniona trasa mogą zmienić wynik.
Tolerancja poślizgu to warunek, który swap musi spełnić. Przy ustalonym wejściu jest zwykle wyrażona jako minimalna ilość wyjściowa; poniżej tej wartości kontrakt może cofnąć transakcję. Nie usuwa wpływu ceny ujętego w wycenie ani nie określa rzeczywistego poślizgu. Przewodnik Uniswap o wpływie ceny i poślizgu wyjaśnia tę różnicę.
Dlaczego wycena AMM pogarsza się wraz z wielkością zlecenia
Księga zleceń dopasowuje oczekujące transakcje po różnych cenach. AMM o stałym iloczynie wyznacza cenę na podstawie rezerw tokenów. W uproszczonym modelu dwóch tokenów salda x i y spełniają x × y = k. Kupując więcej jednego tokena, wycofuje się go z puli i zmienia proporcję wymiany. Im większe zlecenie w porównaniu z dostępną głębokością, tym gorsza średnia cena wykonania.
To model, a nie uniwersalna zasada dla wszystkich DEX. Dokumentacja deweloperska Uniswap opisuje skoncentrowaną płynność i różnice opłat w późniejszych wersjach. Wycena może łączyć kilka pul lub tras. Porównuj oczekiwaną ilość dla tej wielkości i trasy, nie ostatnią cenę z wykresu ani całkowite TVL.

Przykład: 10 000 USDC wobec płytkiej puli
Załóżmy pulę zawierającą 100 ETH i 200 000 USDC, bez opłaty swapowej ani zewnętrznej zmiany ceny, działającą według krzywej stałego iloczynu. Początkowa proporcja wynosi 200 000 ÷ 100 = 2 000 USDC za ETH. Po wpłacie 10 000 USDC rezerwa USDC wynosi 210 000. Aby zachować iloczyn, rezerwa ETH spada do 20 000 000 ÷ 210 000 = 95,238095 ETH. Użytkownik otrzymuje około 4,761905 ETH.
Przy początkowej proporcji otrzymałby 5 ETH. Różnica wynosi 0,238095 ETH, czyli około 4,76% ilości bez wpływu ceny. Średnia cena wykonania to 2 100 USDC za ETH, o 5% wyższa od początkowej proporcji; końcowa cena marginalna puli to 2 205 USDC. To różne porównania. Rzeczywista wycena uwzględnia opłaty i kształt płynności trasy. Przykład jest hipotetyczny, nie stanowi prognozy rynku.
Oddziel opłatę puli od efektu krzywej
Zachowajmy te same hipotetyczne rezerwy, ale załóżmy opłatę 0,30% od wejścia według określonej metody naliczania. Kwota używana w wycenie o stałym iloczynie wynosi 10 000 × (1 − 0,003) = 9 970 USDC. Wynik to zatem 100 × 9 970 ÷ (200 000 + 9 970), czyli około 4,748297 ETH. To o około 0,013607 ETH mniej niż 4,761905 ETH bez opłaty przy tej samej krzywej. W porównaniu z 5 ETH według początkowego kursu łączny niedobór wynosi około 0,251703 ETH. Jeśli wynik krzywej bez opłaty potraktujemy jako etap pośredni, około 0,238095 ETH przypada na wpływ krzywej, a kolejne 0,013607 ETH na korektę opłaty. Podział zależy od przyjętego punktu odniesienia.
0,30% to założenie przykładowe, a nie uniwersalna opłata DEX. Korekta kwoty wejściowej odpowiada obliczeniu opłaty w bibliotece getAmountOut Uniswap v2. Kontrakt zapisuje jednak w rezerwach pełną kwotę wejściową, więc efektywne wejście 9 970 USDC w obliczeniu nie oznacza, że do puli trafia tylko ta suma. Inne pule mogą stosować inną stawkę, inną podstawę albo kilka opłat. Trasa z wieloma etapami może naliczać opłatę w każdej puli, oprócz kosztów interfejsu i sieci. Sprawdź rzeczywistą trasę i zestawienie opłat zamiast przenosić ten procent na każdy swap.
Minimum odbioru jest granicą, nie wynikiem wyceny
Jeśli trasa wycenia swap na 4,7619 ETH, a tolerancja wynosi 1%, minimum odbioru to około 4,7143 ETH: 4,7619 × (1 − 0,01). Wynik 4,72 przekracza granicę; 4,70 jest poniżej niej i może spowodować cofnięcie swapu zgodnie z regułami trasy. Wycena nadal wynosi 4,7619 ETH. Minimum to najgorszy wynik akceptowany przez wysłaną transakcję.
Wąska granica może przerwać prawidłowy swap przy zwykłej zmianie ceny lub nieaktualnej wycenie. Szeroka może dopuścić gorsze wykonanie przed cofnięciem. Dokumentacja Uniswap opisuje minimalną ilość jako zabezpieczenie użytkownika, ale parametry i zachowanie przy błędzie zależą od routera. Nieudana transakcja może nadal kosztować opłatę sieciową. Nie zwiększaj tolerancji tylko po to, by ukryć błąd; sprawdź wycenę, token, trasę, opłaty i sieć.
Cena może zmienić się podczas oczekiwania
Między podpisaniem a umieszczeniem w bloku inny swap może zmienić rezerwy puli. Arbitraż może zbliżyć cenę puli do innych rynków, a szybki ruch może unieważnić starą wycenę. Zlecenie pozostaje takie samo, ale końcowa ilość może się zmienić. Opłata za gaz może wpływać na priorytet na niektórych sieciach, lecz nie gwarantuje czasu ani ceny. Termin ważności może odrzucić długo oczekującą transakcję, ale nie zapewnia starej ceny.
Oddziel szacunek z chwili wyceny od końcowego potwierdzenia. Wpływ na cenę to przewidywany skutek zlecenia dla płynności trasy; późniejsza zmiana to poślizg wykonania według punktu odniesienia interfejsu. Zapisz wycenę, czas, trasę i minimum odbioru, aby później odtworzyć wynik.
Jak szeroka granica może ułatwić sandwich MEV
Sandwich to jedna z form maksymalnej wartości możliwej do wydobycia (MEV). Searcher widzi oczekujący swap, składa przed nim transakcję przesuwającą cenę puli przeciw użytkownikowi, pozwala wykonać swap użytkownika, a potem handluje ponownie, by zamknąć pozycję. Użytkownik może otrzymać mniej niż w pierwotnej wycenie, ale nadal więcej niż wysłane minimum. Wąska granica może cofnąć niektóre niekorzystne wyniki, ale nie zapobiega każdemu porządkowaniu transakcji ani zwykłym ruchom rynku.
Przewodnik MEV Ethereum.org opisuje tę kolejność i gorsze wykonanie. Nie każde MEV jest atakiem: arbitraż może zbliżać ceny pul, a sandwich może pogorszyć wykonanie użytkownika. Flashbots Protect opisuje własne zabezpieczenia i warunki; zależą one od sieci i dostawcy oraz nie gwarantują konkretnej ceny.
Opłaty, zachowanie tokena i trasa zmieniają wynik
Otrzymana ilość tokenów nie jest całkowitym kosztem swapu. Rozdziel opłatę puli, ewentualną opłatę interfejsu, koszt sieci, wpływ ceny ujęty już w wycenie, poślizg wykonania oraz opłaty transferowe lub handlowe tokena. Niektóre tokeny mają niestandardowe transfery; swap może się nie udać albo przesłać inną ilość. Zatwierdzenie tokena może być osobną transakcją z własnym kosztem sieci.
Agregator tras może podzielić swap między pule lub etapy, by poprawić wynik, ale dodać wywołania kontraktów, opłaty lub ryzyko tokena. Wycena nie gwarantuje najlepszego wykonania na wszystkich rynkach. Porównaj wejście, oczekiwane i minimalne wyjście, trasę, opłaty, sieć i termin. Więcej: zatwierdzanie tokenów oraz opłaty gas Ethereum.
Sprawdź wycenę przed podpisem, potem porównaj potwierdzenie
Przed podpisaniem sprawdź sieć i adresy kontraktów tokenów, wejście, trasę i głębokość puli, pokazany wpływ ceny, oczekiwane i minimalne wyjście, tolerancję, termin, opłaty i ostrzeżenia. Jeśli wyjście jest wyjątkowo małe, porównaj mniejsze wejście lub inną trasę. Przy niepowodzeniu sprawdź przyczynę przed ponowną wysyłką; może pozostać koszt sieci.
Po wykonaniu porównaj ilości tokenów w potwierdzeniu z wyceną i minimum oraz zapisz trasę, opłaty i czas. Nie traktuj minimum jako oczekiwanego wyjścia. Obliczenie zakłada model stałego iloczynu bez opłat; skoncentrowana płynność, trasy wieloetapowe, podatki tokenowe i kolejność transakcji zmieniają wynik.
Stałe wejście i stałe wyjście chronią różne ilości
W swapie ze stałym wejściem określa się wysyłaną ilość i minimalne wyjście. Przy stałym wyjściu określa się ilość do otrzymania, a maksymalne wejście może ograniczać wydatki. Dokumentacja deweloperska Uniswap opisuje te zabezpieczenia oddzielnie.
Dlatego 1% nie zawsze chroni ten sam token. Sprawdź, która strona jest ustalona, którego tokena dotyczy granica i jakie opłaty zawiera trasa. Podział swapu na kilka kolejnych etapów w tej samej puli nie usuwa efektu krzywej w modelu bez opłat; może zwiększyć koszty sieci i umożliwić wtrącenie innych transakcji.
Częste pytania
Q1Czy wpływ na cenę i poślizg to to samo?
Nie. Wpływ wynika z rozmiaru zlecenia względem płynności; poślizg to różnica między wyceną a wykonaniem.
Q2Czy tolerancja 1% oznacza stratę 1%?
Nie. Zwykle określa granicę wykonania względem wyceny. Wynik może być lepszy albo swap może zostać cofnięty.
Q3Czy wąska tolerancja zatrzymuje sandwich?
Ogranicza akceptowane wyniki, ale nie usuwa MEV ani zwykłych zmian cen.
Źródła i dalsza lektura
Zgłoś problem
Przygotujemy e-mail z linkiem do tego artykułu. Mark otrzyma zgłoszenie dopiero po jego wysłaniu
Szybki test
Przeczytano? Sprawdź się w 3 pytaniach
Pytanie 01
Co mierzy wpływ na cenę w swapie AMM?
Wybierz odpowiedź, aby zobaczyć wyjaśnienie