MEV(최대 추출 가능 가치)
다른 이름: MEV · 샌드위치 공격 · maximal extractable value
정의
MEV는 블록 생성자나 봇이 블록 안 거래의 순서를 정하거나 끼워 넣어 얻을 수 있는 추가 이익을 말하며, 샌드위치 공격이 대표적인 예입니다.
MEV의 작동 방식
거래는 블록에 들어가기 전 멤풀에서 공개적으로 대기합니다. 봇은 이 대기 거래를 보고 더 높은 수수료를 내 내 거래 앞에 자기 거래를 넣거나, 뒤에 붙여 차익을 얻습니다. 이렇게 거래 순서에서 나오는 이익이 MEV입니다.
모든 MEV가 해로운 것은 아닙니다. 거래소 간 가격 차를 메우는 차익거래나 디파이 청산 처리도 MEV에 포함되고, 시장 효율을 높이는 면이 있습니다. 문제는 샌드위치 공격처럼 일반 사용자에게 직접 비용을 떠넘기는 경우입니다.
샌드위치 공격은 내 슬리피지 허용치만큼 가격을 밀어 올린 뒤 내 거래가 체결되면 바로 팔아 차익을 챙깁니다. 슬리피지 허용치를 필요 이상으로 높이지 않고, 지원되는 경우 MEV 보호 RPC나 프라이빗 전송 기능을 쓰면 피해를 줄일 수 있습니다.
예시
DEX에서 20,000 USDC로 ETH를 사려는데 예상 수령량이 6.00 ETH이고 슬리피지 허용치를 2%로 설정했다고 가정합니다. 최소 수령량은 5.88 ETH입니다. 봇이 내 거래 직전에 ETH를 사서 가격을 올리고, 내 거래는 5.90 ETH로 체결되며, 봇은 바로 ETH를 팔아 차익을 얻습니다. 나는 0.10 ETH, ETH당 약 3,333 USDC 기준으로 약 333 USDC를 덜 받은 셈입니다. 허용치를 0.5%로 낮췄다면 봇이 끼어들 여지가 크게 줄었을 것입니다.
자주 하는 실수
- 거래가 실패할까 봐 슬리피지 허용치를 5% 이상으로 습관적으로 설정합니다.
- MEV를 해킹으로만 이해하고 내 거래 설정과의 관계를 놓칩니다.
- 유동성이 얕은 풀에서 큰 금액을 공개 멤풀로 거래합니다.
배우고 실습하기
자주 묻는 질문
샌드위치 공격을 당했는지 어떻게 알 수 있나요?
블록 익스플로러에서 내 거래 바로 앞뒤로 같은 주소가 같은 토큰을 사고판 기록이 있으면 샌드위치 공격일 가능성이 높습니다.
MEV 피해를 줄이는 방법은 무엇인가요?
슬리피지 허용치를 낮게 잡고, 큰 주문은 나눠 실행하며, MEV 보호 기능을 지원하는 지갑이나 RPC를 사용하는 방법이 있습니다.