프라이빗 멤풀 내의 샌드위치 봇과, 암호화 멤풀의 필요성
sm-stack · 2026.04.28 · Short
[프라이빗 멤풀 내의 샌드위치 봇과, 암호화 멤풀의 필요성] 플래시봇이 샌드위치 봇 0x841을 예시로 들며, 프라이빗 멤풀이 샌드위치 공격을 막을 수 없음을 지적했습니다. 해당 봇은 하루 약 1,500명의 사용자를 공격 중이지만 거의 포착되지 않고 있습니다. <배경: OFA 확산과 그 이면> 지난 2년간 이더리움에서는 OFA(Order Flow Auc
[프라이빗 멤풀 내의 샌드위치 봇과, 암호화 멤풀의 필요성] 플래시봇이 샌드위치 봇 0x841을 예시로 들며, 프라이빗 멤풀이 샌드위치 공격을 막을 수 없음을 지적했습니다. 해당 봇은 하루 약 1,500명의 사용자를 공격 중이지만 거의 포착되지 않고 있습니다. 지난 2년간 이더리움에서는 OFA(Order Flow Auction) 채택이 빠르게 늘면서 전통적인 독성 MEV가 크게 감소했습니다. 사용자는 트랜잭션을 프라이빗 멤풀로 보내고, 멤풀 운영자는 사용자의 트랜잭션에 대한 ‘백러닝’ 기회를 서처들에게 경매로 판매합니다. 백러닝 수익의 일부는 사용자나 오더플로우 제공자(e.g. 지갑)에게 돌아가게 되죠. 이때 정보를 제공받은 서처는 엄격하게 백러닝만 가능하게끔 제한됩니다. 일반적으로 프라이빗 멤풀은 서처를 화이트리스팅하거나, 사용자 트랜잭션에 대해 일부 정보만을 제공하는 방식으로 이를 제한하려고 하죠. 이는 중앙화되어있고 암호학적인 보장은 없는, 멤풀 운영자 혹은 빌더의 암묵적인 약속으로 동작하는 형태입니다. 0x841은 이러한 제한을 교묘하게 피해가는 방식으로 샌드위치를 수행하고 있습니다. 0x841은 백런 입찰자인 척하면서 사전 정보를 악용하여 샌드위치 공격을 수행합니다. 1. 사용자가 OFA에 스왑 의도를 전달 2. 0x841은 그 정보를 백러닝 입찰자인 척 열람 3. 사용자 거래 전에 같은 토큰을 별도 트랜잭션으로 매수 (다른 프라이빗 멤풀 활용) 4. 사용자 거래 체결 5. 같은 블록 후반부 또는 다음 블록에서 매도하여 샌드위치 공격 완료 예를 들어 블록 24,486,824에서 0x841은 tx index 5에 1.89M JUP을 매수하고, 피해자는 index 74에서 체결, 0x841은 index 178에서 매도해 수수료 차감 후 0.0021 ETH를 벌었습니다. 사용자는 3% 슬리피지를 떠안았죠. 어떤 프라이빗 멤풀에서 정보를 빼는지는 알 수 없으나, 기존 프라이빗 멤풀에서 정직한 참여자인 척 행동하는 형태로 추측됩니다. 이더리움의 일반적 샌드위치는 번들로 묶여 원자적으로 실행됩니다. buy-victim-sell이 한 묶음인 명확한 패턴을 보이기 때문입니다. 이러한 형태의 샌드위치는 프라이빗 멤풀 단에서 쉽게 거부될 수 있습니다. 그러나 0x841은 각 단계를 개별 트랜잭션으로 제출하고, 청산을 다음 블록으로 미루기도 합니다. 그렇기 떄문에, 분석 도구가 이를 같은 공격으로 묶어내기 어렵습니다. 이러한 형태의 샌드위치 공격은 옵티미스틱 혹은 블라인드 샌드위치라고 불리며, 솔라나에서 종종 관찰되던 패턴이라고 합니다. ’우리는 정보를 흘리지 않는다‘는 약한 합의에 의존하는 OFA는, 약속을 어기는 행위자 한 명만 있어도 무너집니다. 결국 주문 흐름에는 더 강력한 암호학적 보장이 필요합니다. 리서치를 작성한 플래시봇 측은, 단기적으로는 가능한 한 많은 부분을 TEE(신뢰 실행 환경)로 옮기고, 장기적으로는 실행 품질을 보존하는 암호화된 멤풀로 전환해야 한다고 주장합니다. 다만 당장 이더리움의 다다음 업그레이드인 헤고타 업그레이드에 암호화 멤풀 제안들이 모두 거절된 상황이라, 현재는 TEE 기반 프라이빗 멤풀 등의 솔루션에 의존하는 것이 최선이라고 생각됩니다. 신뢰 기반 프라이버시의 한계가 드러나는 사례인 만큼, OFA 설계가 어떻게 진화할지 주목할 필요가 있겠네요. 출처