다른 글에서 MEV를 설명하며 간단히 언급한 적 있는 샌드위치 봇 공격에 관해 자세히 알아보고자 합니다.
'샌드위치 봇?' 이름만 들으면 뭔가 맛있는 봇 같지만, 실제로는 여러분의 지갑을 그냥 눈앞에서 뜯어가는 교활한 놈입니다.
그럼 샌드위치 봇이 뭘까요?
자, 쉽게 예를 들어보죠. 여러분이 시장에서 사과를 사려고 하는데, 어떤 깡패가 여러분이 사과를 고르는 걸 보고, 여러분보다 먼저 사과를 잔뜩 사는 겁니다.
그러고는 가격을 확 올려서 여러분에게 "이제 더 비싸게 사라!"라고 강요하는 거죠. 여러분이 비싼 가격에 사과를 샀다 싶으면, 깡패는 바로 다시 사과를 팔아서 시세 차익을 가져가는 겁니다.
이게 바로 샌드위치 공격(Sandwich Attack)이에요.
앞뒤로 끼워 넣는 샌드위치처럼, 여러분의 거래 앞뒤로 봇이 자기 거래를 몰래 끼워 넣는 거죠.
맛있는 샌드위치 대신... 눈물 젖은 빵을 먹게 되는 상황, 이해되셨죠?
샌드위치 봇, 솔라나에서 어떻게 작동할까?
솔라나 체인 같은 탈중앙화 거래소(DEX)에서는 트랜잭션(거래 요청)이 공개된 상태로 처리됩니다.
이걸 악용해서 봇이 슬쩍 여러분의 거래를 몰래 엿보고 작업을 벌이는 건데요.
다음과 같은 단계를 밟아 이루어집니다:
- 탐지: 봇은 메모풀(미확정 거래 대기 공간)을 감시하면서, 대규모 거래나 슬리피지 허용치가 큰 거래를 포착합니다.
"오? 이 사람 물량 크네? 한탕 해먹을 수 있겠는걸?" 이렇게 판단하면 작업에 들어갑니다. - 프론트런: 봇이 여러분보다 먼저 해당 자산을 구매해 가격을 올려버립니다.
여러분: "응? 가격 왜 이렇게 올랐지?"
봇: "내가 올렸지롱~" - 사용자 거래 처리: 여러분은 이미 거래 신청을 해 놓았기에 봇이 올려놓은 가격으로 울며 겨자먹기 식으로 자산을 구매하게 됩니다.
여러분: "아... 좀 비싼데, 이미 거래 주문을 넣었으니 어쩔 수 없지."
봇: 히히히~ - 백런: 봇은 여러분의 거래 직후에 자산을 다시 매도해 시세 차익을 실현합니다.
봇: "덕분에 맛있는 샌드위치 한 끼 잘 먹었습니다~ 꺼억"
샌드위치 공격 예시
GMGN.AI 거래 화면을 예로 들며 설명해 볼게요.
자, 이 공격은 AhgEf로 시작되는 지갑이 185.34달러의 매수 요청을 하며 시작되었습니다. 3btUZ 지갑은 이 거래를 알아채고 앞뒤로 사고 팔고 거래를 끼워넣었죠. 그 덕에 3btUZ는 약 3달러(-가스비)의 돈을 앉아서 벌었습니다.
애걔, 겨우 3달러, 아니 수수료 빼면 해 봐야 2달러 벌려고 이 짓을? 싶죠?
근데 이건 상당히 안전한 거래이다 보니, 반복해서 이 공격을 하면 소액이어도 돈이 쌓이게 되는 겁니다.
다른 거래를 하나 더 보죠. 보통 차트 상에 이런 샌드위치 공격은 이렇게 표시됩니다.
위꼬리가 생겨 있죠? 차트를 실시간으로 보면 이렇게 꼬리가 생기는 모습을 눈으로 볼 수 있는데, 아, 누가 또 샌드위치 공격 당했구나 싶습니다. 오늘도 그래서 이 글을 쓰는 거고요.
자, 위 공격이 들어간 타이밍의 거래 내역입니다. bntLj 지갑이 6BAWa 지갑한테 당했네요.
근데 잘 보세요. 샌드위치 공격을 당한 사람은 원래 0.000058164일 때 거래 신청을 넣은 건데, 실제 구매한 가격은 0.000072436입니다.
본인이 사려고 생각한 것보다 약 20% 이상 비싸게 코인을 사게 되었다는 말입니다.
이건 결국 매수 주문 시 슬리피지를 20%가 넘게 설정했기에 발생한 일입니다.
이 슬리피지가 어느 정도 설정되었는지를 안 채로 샌드위치 공격이 들어오는 거거든요.
어떻게 막을 수 있을까?
그럼 이런 봇을 막을 방법은 없을까요?
1. 슬리피지 설정을 낮춰라!
슬리피지 허용치를 높게 설정하면 "가격이 좀 변동돼도 거래 처리해!"라는 신호를 주는 셈입니다. 따라서 슬리피지를 낮추면 샌드위치 공격을 피할 수 있습니다.
2. 소액으로 분할 매수하기
한 번에 대규모로 사지 말고, 소액으로 여러 번 나눠서 사세요. 소소한 거래에 굳이 샌드위치 공격을 하지는 않습니다. 수수료(가스비)가 손에 남는 돈보다 더 클 수도 있으니까요.
3. MEV 방지 DEX 사용하기
가장 쉬운 방법인데, MEV(Maximal Extractable Value)를 막아주는 기술을 가진 DEX를 이용하시면 됩니다.
GMGN.AI나 BullX 같은 텔레그램 봇 등에서도 당연히 이런 기능을 제공합니다.
물론 가스비가 더 든다는 단점은 있지만, 안전한 거래를 위해 필요하다면 돈을 조금 더 써야죠.
사실 솔라나를 기준으로 말하긴 했지만, 거래가 공개되는 블록체인의 특성상 이런 봇들은 다른 체인에서도 기승을 부립니다. 결국, 거래 시 신중한 설정과 사전 준비가 중요합니다.
관련하여 슬리피지, 가스비 등이 궁금하면 다음 글을 읽어보세요.
2024.12.13 - [솔라나 밈코인] - 우선수수료(가스비), MEV, 슬리피지란?
'솔라나 밈코인' 카테고리의 다른 글
솔라나 밈코인 거래를 편하게: BullX NEO 기초 사용법 (0) | 2024.12.23 |
---|---|
PUMP.FUN의 댓글란에서 자주 쓰이는 용어집 (2) | 2024.12.20 |
PUMP.FUN : 솔라나 체인의 천국이자 지옥 (2) | 2024.12.18 |
GMGN에서 들어가면 안 되는 코인 2 (2) | 2024.12.16 |
CTO, 최고기술책임자가 아니다? (0) | 2024.12.16 |