슬리피지, MEV 봇, 샌드위치 공격, 프런트러닝이란?
지갑을 열고, 거래쌍을 선택해 스왑을 누르면 화면에 표시된 금액을 그대로 받을 거라 기대해요. 하지만 몇 초 뒤 실제로 받는 금액이 조금 적거나, 때로는 훨씬 적을 때가 있죠. 이것이 바로 슬리피지이고, 운이 나쁘면 봇이 개입해 의도적으로 손해를 키울 수도 있어요.
이 가이드에서는 슬리피지가 무엇인지, 스왑이 어떻게 작동하는지, MEV 봇이란 무엇이며 이를 어떻게 예방할 수 있는지 쉽게 설명해드릴게요.
슬리피지란?
암호화폐에서 슬리피지란, 스왑을 시작할 때 화면에 보이는 가격과 실제 거래가 체결될 때 적용되는 가격의 차이를 의미해요.
이 차이는 스왑을 클릭한 순간과 네트워크가 블록체인에서 거래를 확정하는 순간 사이에 가격이 변동할 수 있기 때문에 발생해요. 슬리피지는 운이 좋으면 예상보다 더 받을 수도 있지만, 대부분의 경우에는 덜 받게 돼요.
스왑은 어떻게 작동하나요?
예를 들어 ETH를 USDC로 교환할 때, 실제로는 블록체인 위의 코드와 상호작용하게 돼요. 이 코드는 보통 AMM(Automated Market Maker, 자동화된 시장조성자)이라고 불려요.
AMM은 두 개의 토큰이 모여 있는 큰 풀(pool)이라고 생각하면 돼요. 사람들이 이 풀에 토큰을 예치하면, 스왑을 이용하는 트레이더에게서 수수료를 조금씩 받아요. 스왑을 할 때는 한쪽 토큰을 넣고 다른 쪽 토큰을 꺼내는 구조예요.
간단한 예시를 볼게요:
풀 상태 | 풀 내 ETH | 풀 내 USDC |
|---|---|---|
스왑 전 | 1000 ETH | 2,000,000 USDC |
10 ETH를 USDC로 스왑 | 10 ETH 추가 | 약 19,800 USDC 인출 |
스왑 후 | 1010 ETH | 약 1,980,200 USDC |
AMM을 움직이는 수학 공식은 x * y = k예요. 이 공식에 따라 풀의 균형이 항상 유지돼야 해요. USDC를 더 많이 인출할수록, 추가로 인출하는 단위마다 점점 더 비싸지기 때문에 가격 영향(Price Impact)과 슬리피지가 발생해요.
스왑 후 풀에는 1,010 ETH가 남아요. k 값을 일정하게 유지하려면 약 1,980,198 USDC만 남을 수 있어요. 실제로 약 19,800 USDC를 받게 되고, 이는 ETH당 약 $1,980의 가격이에요. 하지만 스왑 전에는 $2,000이었으니, $20 차이가 바로 가격 영향이에요. 내 거래로 시장 가격이 움직인 거죠.
이 규모를 더 키워볼게요. 10 ETH 대신 100 ETH를 스왑하면 풀에는 1,100 ETH가 쌓이고, k 값에 따라 약 1,818,182 USDC만 남을 수 있어요. 100 ETH를 스왑하면 약 $181,818을 받게 되고, ETH당 평균 $1,818이 돼요. 시작 가격 $2,000보다 ETH당 $182나 손해를 보는 거죠.
거래 규모가 풀의 깊이에 비해 클수록 환율이 더 나빠져요.
슬리피지는 이런 가격 영향뿐 아니라, 거래를 제출한 순간과 실제 체결되는 사이에 발생하는 모든 가격 변동을 포함하는 더 넓은 개념이에요. 네트워크가 혼잡하면 이 차이가 몇 초에서 몇 분까지 늘어나고, 그 사이 다른 트레이더나 봇이 풀을 움직여 예상과 다른 환율을 받을 수도 있어요.
그래서 DEX 인터페이스에서는 슬리피지 허용 범위(슬리피지 톨러런스)를 설정하라고 해요. "내가 기대한 결과에서 X% 이내일 때만 스왑을 실행해 달라"고 프로토콜에 요청하는 거예요.
허용 범위가 너무 좁으면 거래가 자주 실패하고, 너무 넓으면 MEV 봇이 샌드위치 공격으로 노릴 수 있어요. 풀 규모가 클수록 거래 하나가 미치는 영향이 작아져서 더 좋은 환율을 받을 수 있어요.
유동성 깊이는 $10,000 규모 거래에도 영향이 거의 없는 풀과, $500만 스왑에도 3% 손해를 보는 풀을 구분해줘요.
슬리피지는 왜 발생하나요?
슬리피지는 한 가지 이유로만 생기지 않아요. 여러 요인이 복합적으로 작용해요:
시장 변동성: 암호화폐 가격은 매우 빠르게 움직여요. 거래가 확정되는 몇 초~몇 분 사이에도 시장이 크게 변할 수 있어요. 변동성이 클수록 슬리피지도 커져요.
유동성 부족: 풀에 토큰이 충분하지 않으면, 작은 거래만으로도 가격이 크게 움직여요. 작은 양동이에 돌을 던지면 큰 파도가 일지만, 수영장에 던지면 거의 변화가 없죠. 그래서 ETH처럼 주요 토큰은 슬리피지가 거의 없지만, 신생 밈코인 등은 유동성 부족으로 슬리피지가 크게 발생해요.
거래 규모: 유동성이 풍부한 시장에서도, 풀 규모에 비해 거래가 크면 가격이 불리하게 움직여요. 슬리피지와 비슷하지만, 내 거래로 인한 가격 변동을 의미해요.
슬리피지 톨러런스란?
대부분의 스왑 인터페이스에서는 슬리피지 톨러런스(허용 범위)를 설정할 수 있어요. 이는 가격이 최대 얼마까지 움직여도 괜찮은지 정하는 거예요. 예를 들어 1%로 설정하면 "최대 1%까지 손해는 감수하겠지만, 그 이상이면 거래를 취소해달라"는 의미예요. 실제로는 아래와 같이 적용돼요:
슬리피지 톨러런스 | 결과 | 위험 수준 |
|---|---|---|
0.1% - 0.5% | 변동성 높은 시장에서는 거래 실패 가능성 높음 | 위험 낮음, 성공률 낮음 |
0.5% - 1% | 유동성 높은 토큰에 적합한 균형 | 대부분의 스왑에 추천 |
1% - 3% | 성공률 높지만 소폭 손해 발생 | 변동성 높은 자산에 적합 |
3% - 10% | 거의 항상 거래가 체결됨 | 봇의 표적이 됨 |
10%+ | 거의 확실히 공격당함 | 매우 위험 |
슬리피지 톨러런스를 높게 설정하는 것은 DEX에서 돈을 잃는 가장 흔한 실수 중 하나예요.
MEV 봇이란?
MEV는 Maximal Extractable Value의 약자로, 블록체인에서 검증자나 채굴자가 블록 내 거래 순서를 조정하거나 포함/제외를 결정해 추가 이익을 얻는 것을 의미해요.
쉽게 말해, 일부 봇은 아직 확정되지 않은 모든 거래(즉, "mempool"이라는 대기실에 있는 거래)를 실시간으로 지켜봐요. 이 봇들은 거래 순서를 바꿔 이익을 얻을 기회를 노려요. 블록체인에 거래를 실제로 추가하는 채굴자나 검증자는 특정 거래를 우선 처리해주는 대가로 수수료를 더 받을 수 있어요. MEV 봇은 더 높은 가스비를 지불해 "줄서기 새치기"를 하는 식으로 이 점을 이용해요.
예를 들어, 콘서트에서 마지막 티켓을 사려고 줄을 서 있는데, 암표상이 당신을 발견하고 문지기에게 뇌물을 주고 줄 맨 앞으로 달려가 남은 티켓을 모두 산 뒤, 당신에게 웃돈을 얹어 되파는 것과 같아요. MEV 봇이 바로 이런 역할을 해요.
MEV 보호는 이런 가치 탈취가 DEX에서 스왑할 때 항상 발생하는 비용이기 때문에 최근 중요한 이슈가 되었어요.
스왑에서 발생하는 MEV 공격은 크게 프런트러닝과 샌드위치 공격 두 가지가 있어요.
샌드위치 공격이란?
샌드위치 공격은 일반 트레이더에게 가장 흔하고 피해가 큰 MEV 공격이에요. 예를 들어 $2,000 상당의 ETH를 HARAMBE 토큰으로 스왑하려고 슬리피지 톨러런스를 5%로 설정했다고 가정해볼게요. HARAMBE는 변동성이 커서 꼭 거래를 성사시키고 싶을 때 이런 설정을 하죠.
거래가 mempool에 들어가면, 지갑이 스왑 요청을 공개적으로 브로드캐스트해요. 이때 봇을 포함한 누구나 이를 볼 수 있어요.
MEV 봇이 거래를 감지하고 바로 움직여요. 5% 슬리피지 허용 범위로 대량 매수를 하려는 것을 보고, HARAMBE 가격이 오를 걸 예상해 봇이 더 높은 가스비로 먼저 매수 주문을 제출해요.
봇의 매수 주문이 먼저 체결돼 HARAMBE 가격이 올라가요.
이후 내 거래가 새로운(더 비싼) 가격에 체결돼, 원래보다 적은 HARAMBE를 받게 돼요. 그래도 5% 허용 범위 내라서 거래는 성사돼요.
봇이 곧바로 HARAMBE를 매도해요. 내가 만든 유동성 위에서 봇이 이익을 챙기고, 나는 손해를 봐요.
이렇게 내 거래가 봇의 매수와 매도 사이에 '샌드위치'처럼 끼어드는 구조예요. 그래서 샌드위치 공격이라는 이름이 붙었어요.
실제 사례로, Uniswap에서 "jaredfromsubway.eth"라는 지갑 주소를 쓴 트레이더가 하루 만에 샌드위치 공격으로 400만 달러 이상을 벌고, 가스비로만 100만 달러를 썼다는 보고도 있어요. 그만큼 수익성이 높아요.
프런트러닝
프런트러닝은 샌드위치 공격보다 단순하지만 마찬가지로 불쾌한 경험이에요. 봇이 mempool을 감시하다가 누군가 "토큰 X"를 대량 매수하려는 거래를 발견하면, 더 높은 가스비로 먼저 매수해 가격을 올려요. 내 거래가 체결될 때는 이미 가격이 올라 있어, 예상보다 더 비싸게 사게 되는 거죠.
프런트러닝은 특히 다음과 같은 상황에서 자주 발생해요:
- 토큰 출시 직후, 모두가 동시에 매수하려 할 때
- 갑작스러운 매수세를 유발하는 주요 발표가 있을 때
- 새로운 DeFi 프로토콜에서 유동성 이벤트가 있을 때
프런트러닝과 샌드위치의 차이
프런트러닝은 한 번의 움직임이에요. 봇이 내 거래를 보고 복사하거나 예측해서 먼저 줄을 서 더 좋은 가격을 가져가요. 봇의 개입은 내 거래가 체결되기 전에 끝나요.
샌드위치는 두 번의 움직임이 필요해요. 봇이 먼저 매수해 가격을 올리고, 내 거래가 불리한 가격에 체결된 뒤 곧바로 매도해 이익을 챙겨요. 내 거래가 봇의 수익 실현에 직접 이용되는 구조예요.
핵심 차이는, 프런트러닝에서는 내가 봇의 장애물일 뿐이지만, 샌드위치에서는 내가 봇의 수익 창출 도구가 된다는 점이에요.
슬리피지 피해를 줄이려면 무엇을 주의해야 할까요?
스왑 전에 꼭 확인해야 할 체크리스트를 정리했어요:
토큰 유동성 확인
신규 토큰을 스왑하기 전에 풀의 유동성을 확인하세요. 대부분의 DEX에서 확인할 수 있어요. $100,000 미만이면 $1,000 거래만으로도 큰 슬리피지가 발생할 수 있어요. $1,000만 이상이면 일반적인 거래에는 안전해요.
슬리피지 톨러런스 낮게 유지
ETH, BTC, 주요 스테이블코인 등 검증된 토큰은 슬리피지를 1% 이상으로 설정할 필요가 거의 없어요. 변동성이 큰 소형 토큰은 1~3%면 충분해요. 5% 이상이면 봇의 표적이 될 수 있어요.
대규모 거래는 나눠서 진행
유동성이 적은 토큰을 대량 스왑하려면 한 번에 하지 말고 여러 번 나눠서 진행하세요. 가스비는 더 들지만 슬리피지 손실이 훨씬 적고, 봇의 표적도 덜 돼요.
네트워크 혼잡 시 스왑 피하기
네트워크가 바쁘면 가스비도 오르고, 거래가 mempool에서 대기하는 시간도 길어져요. 대기 시간이 길수록 봇이 내 거래를 포착할 확률이 높아져요. Etherscan의 가스 트래커 같은 도구로 네트워크 상황을 확인할 수 있어요.
DEX 애그리게이터 활용
1inch 같은 DEX 애그리게이터는 여러 유동성 풀을 동시에 활용해 최적의 환율과 최소 슬리피지를 찾아줘요. 한 풀에 몰아서 스왑하는 대신, 여러 풀로 분산해 가격 영향을 줄이는 효과가 있어요.
스왑 전 환율 비교
처음 보이는 환율이 항상 최선은 아니에요. 스왑 제공자마다 라우팅과 유동성에 따라 환율이 달라질 수 있으니, 최소 30초 정도는 여러 옵션을 비교해보세요.
슬리피지 실수를 피하는 빠른 참고표:
상황 | 대처 방법 |
|---|---|
밈코인/저시가총액 토큰 스왑 | 슬리피지 1~3% 유지, 유동성 먼저 확인 |
주요 토큰(ETH, BTC, SOL) 스왑 | 0.5%면 충분 |
$10,000 이상 대규모 거래 | 여러 번 나눠서 진행 |
네트워크 혼잡 | 조용한 시간대 기다리거나 빠른 확인에 추가 비용 지불 |
앱에서 슬리피지가 비정상적으로 높게 표시될 때 | 진행하지 말고 원인부터 확인 |
10% 이상 슬리피지가 필요한 토큰 | 사기 가능성 높으니 피하세요 |
Tangem Wallet의 보호 기능
Tangem은 OKX DEX 등과의 연동을 통해 대부분의 지갑에 없는 기능을 제공해요. 거래를 공개 mempool에 노출하지 않고 비공개로 라우팅해 MEV 추출을 막아, 샌드위치 공격과 프런트러닝을 예방해줘요.
OKX DEX 같은 제공자는 주문을 여러 유동성 풀에 분할(오더 스플리팅)해 가격 영향과 슬리피지를 줄여줘요.
슬리피지 정보 제공
Tangem은 각 스왑 제공자별 슬리피지 비율을 거래 전 미리 보여줘요. "받는 금액" 섹션의 정보 아이콘을 누르면 내가 허용하는 슬리피지를 정확히 확인할 수 있어요. 대부분의 지갑은 이런 정보를 숨기거나 아예 표시하지 않아요.
자주 묻는 질문
스왑에서 보통 어느 정도 슬리피지가 발생하나요?
ETH/USDC, BTC/USDT 등 유동성이 풍부한 거래쌍은 슬리피지가 0.1~0.5%면 정상이에요. 소형·변동성 높은 토큰은 1~3%가 일반적이에요. 검증된 토큰에서 5% 이상이면 유동성 부족, 대규모 거래, 극심한 시장 변동성 중 하나일 수 있어요.
슬리피지 톨러런스를 낮게 설정하면 거래가 무조건 실패하나요?
꼭 그렇진 않아요. 낮게 설정하면, 허용 범위 이상으로 가격이 움직일 때만 거래가 실패해요. 이는 지갑이 사용자를 보호하는 기능이에요. DEX에서 거래가 실패해도 가스비만 소모되고, 토큰은 잃지 않아요. 샌드위치 공격을 당하는 것보다 훨씬 나아요.
MEV는 불법인가요?
아니요. 법적으로는 회색지대에 있어요. 블록체인은 본질적으로 공개되어 있어 누구나 미확정 거래를 볼 수 있고, MEV 봇은 공개 정보를 빠르게 활용하는 것뿐이에요. 불법은 아니지만 공정하지도 않죠. 블록체인 커뮤니티는 이를 줄이기 위한 기술적 해결책을 개발 중이에요.
샌드위치 공격을 당했는지 어떻게 알 수 있나요?
스왑 후 Etherscan 같은 블록 탐색기에서 내 거래를 확인할 수 있어요. 받은 토큰이 견적보다 현저히 적고, 같은 블록에 같은 주소에서 내 거래 앞뒤로 두 건의 거래(매수와 매도)가 있다면 공격을 당했을 가능성이 높아요.
Tangem 같은 하드웨어 지갑을 쓰면 MEV 봇을 막을 수 있나요?
하드웨어 지갑은 개인 키를 안전하게 보호하지만, MEV는 네트워크 레벨에서 발생하므로 막을 수 없어요. 다만 Tangem의 내장 스왑 제공자(특히 OKX DEX의 Flash Bot, 1inch의 RabbitHole)는 거래를 비공개 채널로 라우팅해 MEV 보호 기능을 제공해요.
슬리피지와 가격 영향(Price Impact)의 차이는?
가격 영향은 내 주문 규모가 유동성 풀에 미치는 직접적인 가격 변동이고, 슬리피지는 기대한 가격과 실제 체결 가격의 차이(가격 영향 + 거래 처리 중 시장 변동)를 모두 포함해요. 둘 다 스왑 시 손해로 작용하지만, 원인은 조금 달라요.
슬리피지 설정을 항상 가장 낮게 해야 하나요?
네, 하지만 상황에 따라 달라요. 주요 토큰은 0.5~1%가 적당하고, 소형·변동성 토큰은 1~3% 정도가 적합해요. 거래가 자주 실패하면 조금씩 올려보세요. 성공률과 손실 최소화의 균형이 중요해요.
Tangem에서 스왑 수수료가 있나요?
Tangem은 자체적으로 스왑 수수료를 부과하지 않아요. 블록체인 네트워크 수수료(가스비)와, 제3자 스왑 제공자의 수수료만 발생해요. Tangem은 여러 제공자의 환율을 비교해 가장 효율적인 옵션을 선택할 수 있게 해주고, 모든 예상 수수료를 거래 전 미리 보여줘요.
Tangem에서 스왑이 실패하면 어떻게 되나요?
스왑이 실패하면, Tangem은 실패한 거래 상태를 직접 닫을 때까지 표시해줘서 놓치는 일이 없어요. 토큰 페이지의 거래 내역이나 스왑 제공자 페이지에서 상태를 확인할 수 있고, 실패하면 원래 토큰이 지갑으로 반환돼요.
Tangem은 초보자에게 적합한가요?
네, 바로 그 점이 Tangem의 가장 큰 장점 중 하나예요. AMM, 유동성 풀, MEV 같은 복잡한 개념을 몰라도 안전하게 사용할 수 있도록 앱을 설계했어요. 환율 비교, 슬리피지 표시, MEV 보호 등 핵심 기능이 기본값에 내장되어 있어요. 초보자도 기술적 지식 없이 하드웨어 수준의 보안을 누릴 수 있다는 점이 큰 강점이에요.
마무리
슬리피지는 암호화폐 거래에서 흔히 발생하지만, 큰 손실은 주로 거래 방식과 환경에 따라 달라져요. MEV 봇은 거래를 실시간으로 감시해 보호가 약한 스왑을 노릴 수 있지만, 깊은 기술 지식이 없어도 올바른 도구만 있으면 충분히 예방할 수 있어요.