Przejdź do treści
Słownikdefiammsmart-kontraktybezpieczenstwo

AMM exploit

Atak wykorzystujący błąd w matematyce, księgowaniu albo kodzie AMM, aby wyciągnąć wartość z puli płynności.

Czym jest AMM exploit

AMM exploit to atak na pulę płynności albo mechanizm wyceny w automated market makerze. Atakujący nie musi kraść kluczy użytkowników. Wystarczy, że znajdzie błąd w tym, jak protokół liczy cenę, płynność, opłaty albo saldo puli.

Najgroźniejsze exploity działają szybko. Atakujący może w jednej serii transakcji zmanipulować stan puli, wykonać swap po błędnej cenie albo sprawić, że protokół uzna jego płynność za większą, niż jest naprawdę.

Dla użytkownika efekt bywa prosty: pula, która chwilę wcześniej wyglądała normalnie, nagle ma zaburzone ceny, braki w aktywach albo całkowicie wyczyszczoną płynność.

Co zwykle jest celem ataku

AMM ma kilka krytycznych miejsc, w których mały błąd może przełożyć się na dużą stratę.

  • Kalkulacja ceny swapu, szczególnie przy niestandardowej krzywej albo skomplikowanych zakresach cen.
  • Księgowanie płynności, czyli to, ile udziału w puli naprawdę ma dany LP.
  • Naliczanie i wypłata opłat dla liquidity providerów.
  • Obsługa granic zakresów w concentrated liquidity.
  • Kod odpowiedzialny za przenoszenie tokenów do i z puli.

Dlaczego concentrated liquidity zwiększa złożoność

W prostym AMM płynność jest rozłożona po całej krzywej. W concentrated liquidity LP wybiera konkretny zakres cen, w którym jego kapitał ma pracować.

To poprawia efektywność kapitału, ale dodaje znacznie więcej matematyki. Protokół musi poprawnie obsługiwać ticki, granice zakresów, aktywną płynność i naliczanie opłat tylko tam, gdzie pozycja faktycznie pracuje.

Im bardziej złożona logika, tym więcej edge case’ów. Exploit może pojawić się nie w samej idei AMM, tylko w szczególe implementacji biblioteki albo kontraktu.

Rodzaje ryzyka w AMM

Błąd wyceny
Swap rozlicza się po cenie, która nie odpowiada realnemu stanowi puli.
Błąd płynności
Protokół błędnie uznaje, że użytkownik ma większy udział w puli, niż powinien.
Błąd opłat
Opłaty są naliczane lub wypłacane w sposób, który pozwala wyciągnąć wartość z puli.
Błąd transferu
Kod przenoszący tokeny nie obsługuje poprawnie nietypowego tokena albo sekwencji wywołań.
Błąd zewnętrznej biblioteki
Współdzielony kod używany przez wiele pul zawiera lukę, która wpływa na cały zestaw rynków.

Jak taki exploit może wyglądać

  • Atakujący wykorzystuje flash loan, żeby chwilowo uzyskać duży kapitał.
  • Wykonuje serię swapów albo operacji płynnościowych, które trafiają w błąd matematyczny puli.
  • Protokół błędnie księguje cenę, opłaty albo udział atakującego w płynności.
  • Atakujący wypłaca więcej aktywów, niż powinien.
  • Po transakcji pula ma zaburzone saldo, a LP zostają z utratą wartości.

Najczęstsze błędne założenia

  • Duża płynność nie oznacza automatycznego bezpieczeństwa. Płynność pomaga tylko wtedy, gdy logika puli działa poprawnie.
  • AMM exploit nie musi wyglądać jak klasyczne włamanie. Często jest legalną sekwencją transakcji wykorzystującą błędne założenie w kodzie.
  • Concentrated liquidity nie jest tylko wydajniejszą wersją zwykłej puli. Ma więcej księgowania, zakresów i edge case’ów.
  • Audyt zmniejsza ryzyko, ale nie daje gwarancji, że matematyka i wszystkie integracje są bezbłędne.
  • Jeżeli kilka protokołów korzysta z tej samej biblioteki, jeden błąd może dotknąć wiele pul naraz.

LP bierze na siebie ryzyko kodu puli

Dostarczanie płynności to nie tylko ryzyko ceny i impermanent loss. To także ryzyko, że kontrakt albo biblioteka AMM ma błąd. W takim scenariuszu wysoki APY nie rekompensuje utraty środków, jeśli pula zostanie wyczyszczona exploitem.

Najczęstsze pytania

Nie. Mniejsze protokoły zwykle mają słabszy audyt i mniejszą kontrolę ryzyka, ale złożone błędy mogą pojawić się też w większych systemach. Ryzyko rośnie szczególnie przy niestandardowej matematyce i nowych mechanizmach płynności.

Tak. Trader może dostać bardzo złą cenę, wejść w zaburzoną pulę albo wykonać swap w momencie, gdy stan puli jest już zmanipulowany. Największe ryzyko ponoszą jednak zwykle liquidity providerzy.

Nie z definicji. Duża płynność ogranicza slippage i utrudnia proste manipulacje ceną, ale nie chroni przed błędem w smart kontrakcie albo księgowaniu puli.

Sprawdzaj historię protokołu, audyty, czas działania kontraktów, wielkość TVL, mechanizmy awaryjne i to, czy pula używa standardowego, sprawdzonego kodu. Nie oceniaj puli wyłącznie po APY.