MSTR Cat

블록체인/레벨 IX · 속도와 스펙터클/9.2 공정한 시장/수업 3

트랜잭션 순서 공격과 대응책

프런트러닝과 샌드위치 공격, 배치 경매, 암호화된 멤풀

준비물블록 탐색기(예: Etherscan)공개 MEV 대시보드(읽기 전용)가격 영향 대비 슬리피지를 추적하기 위한 스프레드시트거래 필터링 기능을 갖춘 블록 탐색기

호기심

  1. 트랜잭션이 확정되기 전에 그것을 볼 수 있다는 점이 왜 블록 순서를 재배열할 경제적 유인을 만들까요?
  2. 시장 메커니즘이 기술적으로는 건전하면서도 어떻게 순서 조정을 통해 자기 사용자들로부터 가치를 빼낼 수 있을까요?
  3. 손실을 제한하는 슬리피지 한도와 공격 자체를 완전히 막는 슬리피지 한도의 정확한 차이점은 무엇인가요?

탐구

    파트 I순서 공격: 프론트러닝, 샌드위치, MEV

  1. 이더리움에서는 대기 중인 트랜잭션이 모든 노드가 볼 수 있는 공개 멤풀에서 기다립니다. 솔라나에는 공개 멤풀이 없지만, 블록을 중계하거나 리드하는 쪽은 여전히 대기 중인 트랜잭션을 볼 수 있습니다. 블록 구성을 통제하는 사람은 최종 확정 전에 이 대기열을 들여다볼 수 있습니다. 이러한 가시성은 속도와 정보 비대칭이 경제적 결과를 좌우하는 경쟁 상태를 만듭니다. 실행 순서는 중립적이지 않으며, 서처들이 최적화하는 핵심 변수입니다. 먼저 포함된 트랜잭션은 그렇지 않았다면 나중 참여자들이 쓸 수 있었을 유동성을 차지합니다.
  2. 프론트러닝은 대기 중인 거래를 관찰한 뒤, 그와 동일하거나 보완적인 자신의 거래를 더 높은 우선순위 수수료와 함께 제출해 원래 거래보다 먼저 포함되도록 하는 것입니다. 관찰한 거래가 가격을 프론트러너에게 유리한 방향으로 움직이면, 프론트러너는 그 차이만큼 이익을 얻습니다. 백러닝은 그 반대로, 오라클 업데이트나 청산 트리거처럼 이미 알려진 상태 변화 직후에 거래를 실행해 새로운 상태에서만 생기는 가치를 가져가는 것입니다.
  3. 샌드위치 공격은 슬리피지 허용 범위를 악용합니다. 서처는 피해자의 대규모 스왑 직전에 자산을 매수해 가격을 끌어올립니다. 그러면 피해자는 부풀려진 가격에 거래를 체결합니다. 그 직후 서처는 피해자의 매수가 만든 더 높은 가격에 매도합니다. 피해자는 예상보다 적은 토큰을 받고, 서처는 그 차액을 챙깁니다. 이는 사용자 자신의 허용 범위 설정을 상대로 한 차익 거래입니다.
  4. P. Daian 등은 'Flash Boys 2.0'(arXiv 2019)에서 이러한 역학을 정식화하며 채굴자 추출 가능 가치(miner extractable value, MEV)라는 용어를 만들었고, 이 용어는 이후 최대 추출 가능 가치(maximal extractable value)로 바뀌었습니다. 이들은 MEV가 이상 현상이 아니라 퍼미션리스하고 순차적인 실행의 구조적 특징임을 보여 주었습니다. MEV의 상당 부분은 차익 거래와 청산이지만, 샌드위치 공격 같은 일부는 일반 트레이더가 직접 비용을 치릅니다.
  5. Flashbots(2020년 설립)는 이더리움에서 프라이빗 번들 릴레이(2021년)를, 그리고 더 머지(The Merge) 이후에는 MEV-Boost 빌더 경매(2022년)를 도입했습니다. 이로써 MEV 추출은 공개 멤풀에서 경쟁 경매로 옮겨 갔고, 질서는 생겼지만 사라지지는 않았습니다. 솔라나에서는 Jito 번들(2022년 이후)이 검증자가 팁이 붙은 번들 트랜잭션을 우선 처리하는 비슷한 시장을 만들었습니다. 인프라는 바뀌었지만, 순서 공격의 근본적인 유인은 그대로 남았습니다.
  6. 슬리피지 한도는 트랜잭션당 최대 손실에 상한을 두지만 샌드위치 공격을 막지는 못합니다. 사용자가 슬리피지를 1%로 설정해도 서처는 여전히 샌드위치 공격을 걸어 가격을 그 한도까지 밀어 올릴 수 있습니다. 근본 원인은 눈에 보이는 대기열을 대상으로 한, 순서에 의존하는 순차적 실행입니다. 이를 없애려면 순서가 확정될 때까지 주문을 숨기거나, 블록 안에서의 순서가 아무 의미가 없게 만들어야 하며, 두 방법 모두 이후 레슨에서 다룹니다.
  7. 파트 II배치 경매와 균일가 청산

  8. 연속 거래 시장에서는 체결 속도가 결과를 좌우합니다. 가격 변화를 보고 남보다 먼저 주문을 넣는 트레이더는, 그렇지 않았다면 다른 참여자와 나눠 갖거나 마켓메이커에게 넘어갔을 가치를 차지합니다. 이런 구조에서는 분석보다 인프라가 보상받습니다. 거래소 서버 가까이에 깔린 광섬유 케이블, 코로케이션 하드웨어, 저지연 네트워크가 주요 경쟁 우위가 됩니다. 그 결과 아주 작은 속도 차이가 상당한 경제적 이익으로 이어지는 시장이 되고, 그런 업그레이드에 쓸 자본을 가진 이들에게만 이로운 기술 군비 경쟁을 부추깁니다.
  9. 부디시(Budish), 크램턴(Cramton), 심(Shim)은 2015년 Quarterly Journal of Economics에 발표한 논문에서 대안으로 빈번한 배치 경매(frequent batch auction)를 제안했습니다. 주문이 들어오는 대로 연속적으로 매칭하는 대신, 시스템은 짧은 간격(이들은 100밀리초처럼 1초 미만의 간격을 제안했습니다) 동안 모든 매수·매도 주문을 모은 뒤 단일 균일 가격으로 동시에 체결합니다. 그 시간대 안에 제출된 모든 주문이 같은 청산 가격으로 체결되므로, 이 설계는 블록 내 우선순위를 없앱니다. 간격의 첫 밀리초는 마지막 밀리초보다 아무런 이점이 없습니다. 속도는 체결과 무관해지고, 경쟁은 다시 정보와 가치 평가로 옮겨 갑니다.
  10. 이 원칙을 블록체인 네트워크의 토큰 시장에 적용하면 흔한 두 가지 악용 수법인 스나이핑과 샌드위치 공격을 무력화할 수 있습니다. 일반적인 멤풀에서는 봇이 대기 중인 트랜잭션을 감시하다가 대규모 스왑을 포착하고, 그 앞뒤에 자신의 트랜잭션을 끼워 넣어 가격을 조작할 수 있습니다. 배치 청산에서는 블록 전체의 주문 흐름이 하나의 제약 조건 집합으로 취급됩니다. 프로토콜은 모든 주문에 걸쳐 거래량이나 효용을 극대화하는 하나의 가격을 동시에 산출합니다. 공격자는 피해자와 따로 체결될 수 없고 둘 다 같은 청산 솔루션의 일부이므로, 샌드위치 공격은 실패합니다.
  11. 2021년 이더리움에서 출시된 CoW Protocol은 배치 경매를 통해 이를 구현합니다. 사용자는 거래소에 직접 주문하는 대신 서명된 주문 의도(intent)를 솔버 네트워크에 제출합니다. 솔버들은 블록 안에서 이 주문들을 체결하기 위해 경쟁하며, 프로토콜은 승리한 솔루션 안에서 같은 거래쌍·같은 방향의 거래가 하나의 가격으로 정산되도록 요구합니다. 2024년에 메인넷을 출시한(거래소 기능은 이후 단계에서 활성화된) Penumbra는 블록 단위로 스왑을 일괄 처리합니다. 두 사례 모두 배치 청산이 실제 운영 환경에서 작동함을 보여 주지만, 구체적인 솔버 아키텍처와 프라이버시 보장 방식에서는 차이가 있습니다.
  12. 이 설계의 주된 비용은 지연입니다. 가격은 연속적으로가 아니라 새 배치가 청산될 때만 갱신됩니다. 간격 도중에 시장 상황이 급변하면 청산 가격이 실시간 현물 가격보다 뒤처져 일시적인 비효율이 생길 수 있습니다. 또한 블록 내 우선순위는 사라지지만 블록 간 우선순위는 남습니다. 블록 사이에 유동성이 이동하면 더 이른 블록에 들어가는 것이 여전히 이점이 될 수 있습니다. 이는 속도 경쟁의 잔재이지만 밀리초가 아닌 블록 간격이라는 더 느린 시간 척도에서 작동하므로, 인프라 군비 경쟁을 줄이고 비기관 트레이더의 참여를 더 쉽게 만듭니다.
  13. Etherscan이나 CoW Explorer에서 CoW Protocol의 정산 트랜잭션을 찾아 직접 확인해 보세요. 트랜잭션 하나가 여러 사용자의 거래를 정산하며, 한 솔루션 안에서 같은 거래쌍·같은 방향의 거래는 동일한 실효 가격으로 체결됩니다. 같은 배치 안의 서로 다른 주문들에 걸친 이 가격 균일성이 바로 청산 알고리즘이 작동하고 있다는 눈에 보이는 흔적입니다.
  14. 파트 III암호화된 멤풀과 커밋-리빌

  15. 공개 멤풀에서는 대기 중인 모든 트랜잭션이 즉시 모든 노드에 보입니다. 서처(searcher)는 그 내용을 읽고 결과를 시뮬레이션한 뒤, 더 높은 가스비를 붙인 경쟁 트랜잭션을 제출해 앞질러 갈 수 있습니다. 이러한 프론트러닝은 다른 사용자의 동의 없이 그들에게서 가치를 빼냅니다. 확인되지 않은 주문이 공개되어 있기 때문에, 속도 우위가 곧바로 금전적 이익으로 이어지는 경쟁 상태가 구조적으로 생겨납니다.
  16. 커밋-리빌 기법은 제출을 두 단계로 나누어 이 문제를 해결합니다. 먼저 사용자는 실행하려는 트랜잭션의 암호학적 해시를 브로드캐스트합니다. 이후에 실제 트랜잭션을 공개합니다. 리빌 단계 전까지는 아무도 무엇이 커밋되었는지 볼 수 없습니다. 커밋 시점에 실행 순서가 확정된다면, 주문이 대기하는 동안 아무도 그 내용을 알 수 없으므로 프론트러닝을 막을 수 있습니다. 대가는 두 번째 단계입니다. 사용자는 다시 돌아와 공개해야 하고, 프로토콜은 끝내 공개되지 않는 커밋을 어떻게 처리할지 정해야 합니다.
  17. 임계값 암호화 멤풀은 다른 접근 방식을 취합니다. 트랜잭션은 공개 키로 암호화되며, 그에 대응하는 복호화 키는 위원회 구성원들에게 나뉘어 있습니다(Shutter는 이 구성원들을 ‘Keypers’라고 부릅니다). 어떤 구성원도 전체 복호화 키를 갖고 있지 않으며, 임계값 이상의 노드가 협력해야만 트랜잭션을 복호화할 수 있습니다. 어느 한 당사자도 내용을 보기 전에 순서가 확정되므로 조작의 틈이 사라집니다. 대신 신뢰는 그 위원회로 옮겨 갑니다. 충분한 수의 구성원이 공모하면 미리 복호화할 수 있습니다.
  18. Shutter Network는 2024년부터 Gnosis Chain에서 이를 구현했습니다. 위원회가 키 셰어를 관리하며, 사용자는 암호화된 트랜잭션을 제출하고 이 트랜잭션은 블록 내 위치가 정해진 뒤에야 복호화됩니다. 마찬가지로 Flashbots Protect는 트랜잭션이 공개 멤풀을 완전히 우회해 블록 빌더에게 비공개로 전달되는 프라이빗 주문 흐름 채널을 제공합니다. 두 방법 모두 서처로부터 트랜잭션 데이터를 숨기지만, 새로운 의존성을 만들어 냅니다.
  19. 프라이빗 채널은 신뢰를 탈중앙화된 합의에서 블록 빌더나 위원회로 옮깁니다. 빌더가 악의적으로 변하거나 해킹당하면, 블록 포함 전에 주문을 들여다볼 수 있습니다. 임계값 방식은 여러 독립 당사자의 공모를 요구해 이 위험을 줄이지만, 위원회의 거버넌스와 키 관리가 치명적인 장애 지점이 됩니다. 사용자는 어떤 단일 주체도 트랜잭션을 단독으로 복호화할 만큼 충분한 키 셰어를 통제하지 않는지 확인해야 합니다.
  20. 트레이드오프는 분명합니다. 암호화된 멤풀은 암호화·복호화 오버헤드로 지연을 늘리고 위원회나 빌더에 대한 신뢰를 요구합니다. 공개 멤풀은 투명성을 유지하지만 MEV 추출에 취약합니다. 토큰 시장에서 이러한 메커니즘을 도입한다는 것은 약탈적 거래 전략으로부터 보호받는 대가로 더 느린 가격 발견과 복잡한 인프라를 감수한다는 뜻입니다. 선택은 체결의 공정성이 늘어난 복잡성의 비용보다 중요한지에 달려 있습니다.

핵심 사실

  • MEV, 즉 채굴자(이후 '최대') 추출 가능 가치는 2019년 Daian 등이 이름 붙였습니다.
  • Flashbots는 이더리움의 MEV 추출을 프라이빗 경매로 옮기기 위해 2020년에 출범했습니다.
  • 2022년부터 솔라나의 Jito 번들을 통해 검증자들은 팁이 포함된 거래를 우선적으로 처리할 수 있습니다.
  • 샌드위치 공격은 피해자의 트랜잭션에 설정된 슬리피지 허용 범위를 이용해 이익을 얻습니다.
  • 슬리피지 한도는 금전적 손실을 제한해 주지만, 샌드위치 트레이딩의 실행을 막지는 않습니다.
  • 순서 공격의 근본 원인은 눈에 보이는 트랜잭션 대기열을 대상으로 한 순차적 실행입니다.
  • 부디시, 크램턴, 심은 2015년 Quarterly Journal of Economics에 빈번한 배치 경매에 관한 제안을 발표했습니다.
  • CoW Protocol은 2021년 출시 이후 이더리움에서 배치 경매를 사용해 왔습니다.
  • 2024년에 출시된 Penumbra는 블록 단위로 스왑을 일괄 처리합니다.
  • 배치 청산은 일정 간격 내의 모든 주문을 단일 균일 가격으로 체결하여 블록 내 우선순위를 없앱니다.
  • 이 설계는 공격자와 피해자의 주문을 같은 청산 솔루션에 포함시켜 샌드위치 공격을 무력화합니다.
  • 트레이드오프는 연속 시장에 비해 가격 갱신이 느리다는 점이며, 블록 간 속도 우위는 여전히 남아 있습니다.
  • 공개 멤풀은 대기 중인 모든 트랜잭션을 프론트러닝을 노리는 서처들에게 노출합니다.
  • 커밋-리빌 기법은 내용을 숨기기 위해 해시 제출과 트랜잭션 공개를 분리합니다.
  • 임계값 암호화 멤풀은 주문 순서가 확정된 뒤 위원회가 보유한 키 셰어로 복호화합니다.
  • Shutter Network는 임계값 암호화를 사용해 2024년 Gnosis Chain에서 출시되었습니다.
  • 프라이빗 주문 흐름 채널은 공개 멤풀을 우회하지만, 신뢰를 블록 빌더에게 집중시킵니다.
  • 암호화된 멤풀은 공개 체인에 비해 지연과 신뢰 가정을 추가합니다.

연습 아홉, 여섯, 셋, 하나

9모으기2023~2024년 이더리움이나 솔라나에서 관찰된 MEV 추출의 구체적인 사례나 유형 9가지를 나열하세요. 각각 어느 계층(빌더, 서처, 사용자)이 그 가치를 가져갔는지 적으세요.
6묶기손실을 누가 부담하는지에 따라 9개를 6개로 묶으세요.
3추리기6개를, 순서상의 우위가 이익으로 바뀌는 3가지 메커니즘으로 압축하세요.
1결정화MEV가 컨트랙트 코드의 결함인지 트랜잭션 순서의 결함인지, 그리고 그 이유는 무엇인지 한 문장으로 쓰세요.

팩트 체크

날짜, 수치 및 주장은 아래에 명시된 출처들을 통해 확인되었습니다.

인터랙티브 아카데미에서 열기 →

EN PT ES ZH JA RU DE FR MS