개요

슬리피지(slippage)는 내가 예상한 가격과 실제 체결 가격의 차이를 의미함 분산형 거래소 환경에서는 블록 포함 지연과 유동성 구조 때문에 발생 빈도가 높음

슬리피지가 발생하는 이유

  • 유동성 부족 특정 토큰 페어의 유동성 풀이 얕으면 작은 주문에도 가격 영향 커짐
  • 대량 주문 시장 규모 대비 큰 금액을 한 번에 실행 시 풀 내 토큰 비율이 급격히 변해 체결 평균가가 악화됨
  • 시장 변동성 트랜잭션 제출 시점과 블록에 포함되는 시점 사이 외부 가격 급변으로 기대 가격과 괴리 발생

AMM에서의 동작

대부분의 DEX는 AMM을 사용하며 풀 내 두 토큰의 비율로 가격이 정해짐. 단순화된 상수곱 x·y=k 모델 기준으로 설명함

  • 예시 ETH 100, USDC 10,000이 있는 풀 가정 초기 k는 1,000,000이며 표시 가격은 1 ETH당 100 USDC에 근사 사용자가 ETH 10개를 풀에 판매하면 x는 110으로 증가하고 y는 k/x로 재계산되어 약 9,090.909로 감소함 사용자가 수취하는 USDC는 10,000에서 9,090.909를 뺀 약 909.091로, 평균 체결가는 약 90.909 USDC/ETH가 됨 초기 표시 가격 100 대비 낮은 평균가가 바로 슬리피지로 인한 가격 영향이며, 수수료와는 별개 항목임

슬리피지 허용치

대부분의 DEX는 사용자가 슬리피지 허용치(slippage tolerance)를 설정하도록 함

  • 허용치 1% 예시 예상 가격 대비 최대 1% 불리해져도 체결 진행 의미
  • 허용치를 초과하면 트랜잭션은 되돌림 발생, 사용자는 가스비만 지출함

주의와 간단 팁

  • 주문 분할로 단일 거래의 가격 충격 완화
  • 유동성이 깊은 풀 선택으로 체결 안정성 확보
  • 변동성 구간에서는 허용치 과도 확대 지양, 실패 시 가스 손실 감수 필요
  • 가능하다면 제한가 형태의 라우팅 기능 활용 검토

참고자료