Automated market maker (AMM) to model wykorzystywany przez zdecentralizowane giełdy takie jak Uniswap, czy PancakeSwap. Zastępuje on znane z tradycyjnych giełd księgi zleceń, pulami płynności. Te pule to tokeny zablokowane w smart kontrakcie. Są one zaopatrywane w tokeny przez użytkowników, którzy w zamian otrzymują procent od każdej wymiany w obrębie danej puli. Istnieje też możliwość otrzymywania dodatkowych nagród znanych jako Liquidity Minig.
Gdyby nie omawiana w tym artykule nietrwała strata, użytkownicy dostarczający płynność stale zarabialiby na tokenach, które dostarczyli. Impermanent loss sprawia jednak, że zarabianie na tym, nie jest tak proste jak mogłoby się wydawać na pierwszy rzut oka.
DEX posiadają specjalne formuły, które zarządzają wymianą. W przypadku Uniswap V2 taka formuła wygląda następująco (bez opłat i dla pary ETH):
pula ETH * pula tokenów X = stały produkt
Oznacza to, że liczba tokenów, które użytkownik otrzyma za swoje ETH i odwrotnie, jest obliczana w taki sposób, że po transakcji iloczyn tych dwóch pul płynności jest taki sam, jak przed transakcją. Mówiąc prościej tokeny X i ETH w puli zawsze są warte tyle co stały produkt, niezależnie od wahań ilości każdego z nich w tej puli.
Przykład: Dostarczasz do jakiejś puli 1 ETH, które kosztuje 1000$ i równowartość w DAI (stablecoin). Zakładamy, że w tej puli znajduje się teraz 10 ETH oraz 10000 DAI. Jeśli jednak po jakimś okresie handlu, cena ETH wzrośnie do 1200$ to oznacza, że w puli znajduje się mniej ETH, a więcej DAI. W naszym przypadku będzie to w przybliżeniu 9,12 ETH i 10954 DAI.
Jeśli 10% płynności tej puli było dostarczone przez Ciebie (1 ETH i 1000 DAI) to w tym momencie możesz odebrać 0,912 ETH i 1095,4 DAI.
Zamieniając to na dolary twoje początkowe 2000$ zmieniło się w około 2190$, tyle że gdybyś nie dostarczył płynności miałbyś 2200$, ponieważ ETH zyskał na wartości i kosztuje 1200$, a twoje DAI jest stablecoinem i nadal jest warte 1000$. W tym wypadku straciłeś 10$, jednak nie uwzględniliśmy opłat, które otrzymałeś za dostarczenie płynności.
Impermanent loss
Najprościej mówiąc, impermanent loss to różnica pomiędzy wartością tokenów dostarczonych do puli w porównaniu do HODL, czyli do wartości tokenów, które zamiast umieszczać w puli, po prostu trzymalibyśmy w portfelu.
Im większe wahania ceny sparowanych tokenów, tym większa nasza nietrwała strata i nie ma to znaczenia, czy jak w naszym przypadku ETH zyskuje do DAI, czy traci. Każde odstępstwo od ceny w momencie dostarczenia płynności będzie dla nas stratą.
W naszym przykładzie zakładamy brak opłat i dodatkowych nagród, które nie tylko mogły pokryć twoją nietrwałą stratę, ale i dać zysk.
Dlaczego jest to strata “nietrwała”?
Jest to strata nietrwała, ponieważ dopóki nie wycofamy naszej płynności, strata występuje tylko “na papierze”. Jeśli cena wróci do poziomów gdy wpłaciliśmy płynność do puli, nasza strata zniknie, a my zabieramy ze sobą opłaty, które przez ten czas do nas trafiły.
Źródło: uniswap.org/docs/v2/advanced-topics/understanding-returns
Na powyższej grafice możemy zobaczyć ile wynosiłaby nasza strata w zależności od zmiany ceny. W przypadku podwojenia ceny, czyli w naszym przykładzie ETH musiałby kosztować 2000$, nasza strata wyniosłaby 5,7%. W przypadku 5x, strata wyniosłaby 25%.
Jak się obronić przed impermanent loss?
W standardowych giełdach AMM ciężko chronić przed nietrwałą stratą. W takim przypadku jedyną opcją jest dostarczanie płynności do par, które w ogóle, lub niewiele zmieniają swoją wartość (np. pary stablecoinów) lub do pul, które oferują bardzo dobre dodatkowe nagrody, które pokryją nawet sporą stratę. Można też bardzo często zmieniać pule, do których dostarczamy płynność ręcznie lub automatycznie, poprzez różne protokoły.
Jednak niektóre giełdy stosują swoje podejście do tematu i nawet ubezpieczają użytkownika przed nietrwałą stratą. Jedną z takich giełd jest Bancor, szerzej opisany tutaj, lub Balancer, który pozwala dostarczać płynność w nierównych proporcjach, o którym przeczytasz w tym artykule.
Podsumowanie
Impermanent loss jest czynnikiem ryzyka związanym z dostarczaniem płynności.
Istnieją różnie programy tworzone przez projekty, które np. dodatkowo nagradzają wszystkich dostawców płynności, aby ich zachęcić i ograniczyć potencjalne straty.
Niektóre protokoły zmieniają też zasady dostarczania płynności, aby jak najbardziej zniwelować potencjalne straty, lub nawet całkiem je wyeliminować.