왜 샌드위치 공격이 발생하는가
샌드위치 공격이 발생하는 이유를 설명합니다.
공개 메모풀 (Mempool)
- 사용자가 보낸 트랜잭션은 블록에 포함되기 전, 메모풀(대기 큐)에 공개됩니다.
- 공격자는 메모풀을 모니터링하여 대형 스왑이나 슬리피지 허용치가 큰 거래를 감지하고 즉시 공격 트랜잭션을 구성합니다.
- 이런 “투명성”은 블록체인의 특징이지만, 프런트러닝의 온상이 되기도 합니다.
RPC 악용
- 많은 사용자와 dApp은 RPC(Remote Procedure Call) 서버를 통해 네트워크에 접속합니다.
- 악의적인 RPC는 전송된 트랜잭션을 가로채어 공격자에게 먼저 넘길 수 있습니다.
- 일부 “무료 RPC”나 불투명한 인프라를 쓰면 오더플로가 유출·악용될 위험이 커집니다.
밸리데이터에 대한 뇌물(MEV-Boost)
- 이더리움 PoS에서는 밸리데이터가 블록 내 트랜잭션 순서를 결정할 수 있습니다.
- 서처(공격자)는 유리한 위치에 자신의 트랜잭션을 삽입해 달라며 밸리데이터/빌더에게 뇌물(bribe)을 지불합니다.
- MEV-Boost에서는 이러한 순서 최적화가 경제적으로 경쟁되며, 해로운 시퀀스도 합법적 경매를 통해 실현될 수 있습니다.
밸리데이터의 일탈
- 밸리데이터가 직접 블록을 구성하는 경우, 직접 샌드위치 공격을 할 수도 있습니다.
- MEV-Boost로 단일 밸리데이터의 자의적 일탈 유인은 줄었지만, 위험이 완전히 사라지진 않았습니다.
- 소규모 네트워크나 검증자 집중도가 높은 체인일수록 위험은 커집니다.
요약
- 블록체인의 투명성(공개 메모풀)
- 트랜잭션 처리의 비대칭성(순서를 조작할 권한)
이 둘이 겹치면서 샌드위치 공격이 성립합니다. 투명성은 블록체인의 강점이지만, 역으로 공격에 악용되기도 합니다.