Sandwich attack
Sandwich attack to manipulacja rynkowa podczas handlu kryptowalutami na zdecentralizowanej giełdzie. Atakujący umieszcza dwie własne transakcje przed Twoją transakcją i po niej, przez co uzyskujesz gorszą cenę.
Czym jest sandwich attack?
Zdecentralizowana giełda, czyli DEX, to platforma handlowa, która nie ma centralnego pośrednika. Widać na niej czasem jeszcze niewykonane transakcje w mempoolu — cyfrowej kolejce w blockchainie.
Bot może zauważyć w tej kolejce duże zlecenie kupna lub sprzedaży. Najpierw składa zlecenie w tym samym kierunku, czasem płacąc wyższą opłatę za gas, aby uzyskać pierwszeństwo. Następnie realizowana jest transakcja ofiary. Potem bot składa zlecenie w przeciwnym kierunku.
W rezultacie cena zmienia się tuż przed realizacją Twojej transakcji. Pojawia się dodatkowy slippage, czyli różnica między oczekiwaną ceną a ceną, którą ostatecznie uzyskujesz.
Przykład sandwich attack
Chcesz kupić dużą ilość tokena na DEX-ie. Bot zauważa Twoje zlecenie przed jego realizacją i najpierw kupuje ten token. W efekcie jego cena rośnie.
Następnie Twoje zlecenie kupna zostaje zrealizowane po wyższej cenie. Bot sprzedaje swoje tokeny. W ten sposób próbuje zarobić na różnicy cen, a Ty płacisz więcej, niż się spodziewasz.
Dlaczego sandwich attack ma znaczenie w świecie kryptowalut?
Sandwich attack występuje głównie w DeFi oraz na DEX-ach, które ustalają ceny za pomocą pul płynności. Może zwiększyć rzeczywiste koszty handlu, zwłaszcza przy dużych zleceniach lub w pulach o niskiej płynności.
Sandwich attack pojawia się w doniesieniach ze świata kryptowalut w kontekście botów MEV, DeFi lub problemów z realizacją transakcji po oczekiwanej cenie. MEV polega na uzyskiwaniu dodatkowej wartości dzięki kolejności realizacji transakcji. Sandwich attack jest jedną z jego form.
Nie oznacza to, że każda transakcja na DEX-ie jest atakowana. Ryzyko można ograniczyć, ustawiając niższy limit tolerancji slippage, składając mniejsze zlecenia, korzystając z pul o większej płynności lub — jeśli ta opcja jest dostępna — wybierając zlecenie z limitem ceny. Bardzo niski limit tolerancji slippage może jednak sprawić, że transakcja nie zostanie zrealizowana.