슬리피지란(간편 버전)

JiJay
3 min readFeb 16, 2022

슬리피지란 처음에 의도했던 가격과 실제 거래 가격 사이에 차이가 발생하는 현상이다.

슬리피지는 풀에 유동성이 적고 거래량이 많을 수록 커지게 되며 슬리피지가 커질수록 결과적으로 거래자는 더 비싼 가격에 토큰 거래를 해야 한다.

전통 금융 시장(오더북 방식)에서 시장가 주문을 할 때 유동성이 적다면 원하는 가격대에 매도 주문이 충분하지 않아 원하는 가격보다 더 높게 매수하는 현상(슬리피지)가 발생한다. 즉, 매도 주문이 부족하여 시장가 주문은 오더북을 위로 움직이게 했고, 처음 가격보다 비싼 가격에 주문이 체결된 것이다.

시장가 주문은 현재 가능한 최선의 가격으로 구매 또는 판매하는 주문이다.

탈중앙화된 거래소(DEX)에서도 슬리피지는 발생한다.

그 이유는 현재 대부분의 DEX에서는 Constant Product Market Makers(CPMM) 함수를 기반으로 토큰 스왑 양을 결정하기 때문이다.

CPMM

CPMM은 풀에 남아있는 토큰의 개수들의 곱은 항상 상수 값이며, 이를 풀의 유동성이라고 한다.

풀 유동성

예를 들어, X 토큰 10개와 Y 토큰 20개가 있다고 하면 K는 200이며 이 값은 새로운 유동성 공급자가 유동성을 추가로 제공하거나 기존 공급자가 유동성을 뺄 때를 제외하곤 변하지 않는 상수이다. 즉, 스왑 거래에 의해서는 K 값은 변하지 않는다.

이런 상황에서 jijay가 X 토큰 1개를 풀에 넣고 Y 토큰 2개를 받는 주문을 넣었다고 가정하자.(기존의 X:Y = 1:2였다)

jijay는 당연히 현재 가격이 1 X = 2 Y이기 때문에 X 토큰 10개에 맞는 Y 토큰 20개가 들어왔다고 생각할 것이다.

하지만 실제로 들어온 Y 토큰의 개수는 20개보다 적으며 이를 슬리피지라고 한다.

K 값의 입장에서 위 상황을 바라보자.

K 값은 200으로 고정인데 X 토큰 1개가 추가로 들어왔다.

X 토큰은 11개이고 K 값은 200으로 고정이기 때문에 풀에 남아 있어야 하는 Y 토큰의 개수는 200 / 11로 약 18.18개이다. 즉, jijay에게 줄 수 있는 Y 토큰의 개수는 1.82개이다.

jijay 입장에서는 1 X = 2 Y의 가격으로 주문했는데 실제로 체결된 후 보니 1 X = 1.82 Y로 거래 된 것이다. 즉, 실제 주문할 때 보다 비싸게 채결된 것이다.

이렇게 CPMM 방식의 DEX에서는 K 값이 고정이기 때문에 의도했던 가격보다 더 비싸게 채결되는 현상이 발생하며 이를 슬리피지라고 한다.

슬리피지는 유동성이 커지면 적어진다. 위 예시에서 유동성이 애초에 X 토큰 10000개, Y 토큰 20000개가 있다고 가정하고 계산을 해보면 받을 수 있는 Y 토큰의 개수는 의도했던 개수와 거의 동일하다.

--

--