A&T View: 이더리움 MEV 추출 메커니즘의 현황, 문제 및 개선
저자: Liam, A&T Capital
01 개요
TL; DR
MEV는 특정 순서로 N개의 거래를 실행함으로써 이 순서를 설계한 주체에게 가져다주는 경제적 이익을 의미합니다. 거래 정렬이 관련된 경우, MEV의 발생은 거의 피할 수 없으며, MEV 추출을 규제하는 것이 블록체인 네트워크의 탈중앙화와 검열 저항성에 매우 중요합니다.
이더리움 병합 이후, MEV의 추출 및 분배는 Flashbots가 제안한 MEV-Boost 시스템에 의해 주도되고 있습니다. MEV 이익은 네 가지 주체로 흐르며, MEV 탐색자(Searcher), 블록 건설자(Block Builder), 블록 제안자(Block Proposer\Validator) 및 이더리움 네트워크 자체입니다.
MEV가 전체 시스템에 미치는 결과를 보면, 유익한 것, 중립적인 것, 해로운 것의 세 가지로 나눌 수 있습니다. 해로운 MEV 추출을 피하고 유익한 MEV 이익과 중립적인 MEV 이익을 어떻게 분배할 것인가는 MEV 분야의 프로젝트가 해결해야 할 핵심 문제입니다.
현재 존재하는 개인 RPC 솔루션은 신뢰 가정에 기반하고 있으며, 사용자의 거래는 여전히 유출되거나 선점당할 수 있으며, 심지어 검열될 수도 있습니다. 일부 블록 건설자는 개인 주문 흐름에 대한 독점적 지위를 가지고 있어 MEV 추출을 더욱 불투명하고 중앙집중화되게 만들 수 있습니다.
MEV-Boost 시스템의 MEV 이익 분배 계획에서는 사용자의 이익이 고려되지 않았습니다. 사용자는 MEV 추출 기회를 창출하는 역할로서, 그들의 합리적인 이익이 침해되지 않도록 보장하는 것은 기본적인 사항이며, 단순히 그들의 거래가 선점당하지 않도록 하는 것뿐만 아니라 일부 MEV 이익을 반환해야 합니다.
"선점" 문제를 해결하기 위해서는 암호화 기술을 활용해야 합니다. "암호화-정렬-복호화-실행"을 기반으로 하여 사용자의 거래를 로컬에서 암호화하고, 아무도 거래 내용을 읽지 못하는 상태에서 정렬 합의를 완료한 후 내용을 복호화하고, 마지막으로 합의된 순서에 따라 거래를 실행합니다.
MEV 이익을 "MEV 기회를 발견한 탐색자", "최고 가치 블록을 구축한 건설자", "새로운 블록 생성 권리를 가진 제안자"에게 분배하는 것 외에도 "MEV 기회를 창출한 일반 사용자"에게도 분배해야 합니다.
02 본문
1. MEV의 이해관계자는 누구인가?
- MEV란 무엇인가? MEV는 서로 다른 맥락에서 지칭하는 내포가 완전히 동일하지 않으므로 혼란을 피하기 위해 본문에서는 상대적으로 좁지만 가장 정확한 정의를 선택합니다:
MEV(최대 추출 가능 가치, Maximal Extractable Value)는 특정 순서로 N개의 거래를 실행함으로써 이 순서를 설계한 주체에게 가져다주는 경제적 이익을 의미합니다.
MEV의 이해관계자는 누구인가? 이더리움 병합 이후, MEV의 추출 및 분배는 Flashbots가 제안한 MEV-Boost 시스템에 의해 주도되고 있습니다. mevboost.pics의 통계에 따르면, 2022년 11월 이후 약 90%의 블록이 MEV-Boost 시스템에서 발생했습니다.
(그림 1: mevboost.pics 통계의 슬롯 점유율)
현행 시스템 하에서 이더리움 메인넷의 MEV 이해관계자는 사용자, 지갑 및 RPC, MEV 탐색자(Searcher), 블록 건설자(Block Builder), 블록 제안자(Block Proposer\Validator)입니다. MEV 가치 사슬은 기원과 상하류 네 부분으로 나눌 수 있습니다:
(그림 2: MEV의 가치 사슬)
기원: MEV 기회를 창출하고 MEV 추출을 위한 편집 가능한 공간을 제공합니다.
사용자: 블록체인의 일반 사용자로, MEV 추출 목적이 아닌 거래를 시작하는 주체입니다. 최종 사용자, 프로젝트 측, 오라클 및 거래소 등이 될 수 있습니다. 이러한 거래는 MEV 추출의 "원자재"로 간주될 수 있습니다.
상류: 서명을 완료한 후 거래를 로컬에서 네트워크로 방송합니다.
RPC 제공자: 사용자의 거래 내용을 가장 먼저 읽을 수 있으며, 사용자의 거래가 어디로 전송될지를 결정합니다.
지갑: 사용자의 기본 RPC를 결정합니다.
중류: 공개 또는 비공식 환경에서 MEV 기회를 경매하고 MEV 이익 분배 방식을 결정합니다.
메모리 풀(Mempool): 이더리움 네트워크 내 공개적이고 투명한 거래 풀로, 누구나 볼 수 있으며, 블록에 패킹될 거래를 저장합니다.
개인 주문 흐름: 신뢰할 수 있는 비공식 거래 풀로, 특정 MEV 탐색자나 블록 건설자에게만 열려 있으며, 마찬가지로 블록에 패킹될 거래를 저장합니다. 개인 거래 풀을 생성할 수 있는 것은 RPC 제공자, 블록 건설자 또는 제3자 프로젝트입니다.
MEV 탐색자: 사용자가 방송했지만 아직 패킹되지 않은 거래를 지속적으로 모니터링하여 MEV 기회를 탐색하고, 사용자의 거래와 MEV를 추출할 수 있는 거래를 일정한 순서로 묶어 거래 패키지(Bundle)로 만들어 블록 건설자에게 전송합니다.
블록 건설자: 수신 가능한 거래 중에서 일련의 거래를 선택하여 새로운 블록으로 패킹하고 중계에 전송합니다. 거래 출처는 Mempool, MEV 탐색자가 제출한 번들 및 개인 주문 흐름입니다.
중계: 수신 가능한 블록 중에서 가장 높은 수수료를 지불하는 블록을 선택하여 블록 제안자에게 전송합니다.
하류: 새로운 블록을 제안하여 사용자의 거래와 MEV 거래가 네트워크 합의를 얻고 최종성을 확보하여 MEV 이익 분배를 실현합니다.
블록 제안자: 수신 가능한 블록 중에서 자신에게 가장 유리한 블록을 선택하여 체인에 제안합니다. 가장 유리한 것은 일반적으로 가장 높은 수수료를 받을 수 있는 것을 의미하며, 실제로는 다른 목적을 위해 상대적으로 낮은 수수료의 블록을 제안하기도 합니다. 블록 제안자(Block Propose) 자체도 검증자(Validator)이며, 블록체인 합의 메커니즘에 따라 선택됩니다.
2. MEV는 어떻게 분배되는가?
MEV-Boost 시스템 하에서 MEV는 네 가지 주체로 흐르며, MEV 탐색자, 블록 건설자, 블록 제안자 및 이더리움 네트워크 자체입니다.
MEV는 직접적으로 MEV 탐색자에 의해 포착되며, 가스 요금(Gas Fee) 형태로 블록 건설자, 블록 제안자 및 이더리움 네트워크로 흐릅니다.
MEV를 추출하는 거래가 실행됨으로써 이러한 거래를 생성한 MEV 탐색자에게 수익이 발생하며, 이 수익의 비용은 MEV 탐색자가 지불한 가스 요금입니다. 가스 요금의 일부는 EIP-1559 프로토콜에 따라 소각되며, 나머지 일부는 팁 형태로 블록 건설자에게 흐릅니다. 블록 건설자는 대부분의 팁을 MEV 보상(MEV Rewards) 형태로 블록 제안자에게 직접 이체합니다(대부분의 경우 블록 건설자는 일부 팁을 보유하지만, 추가로 블록 제안자에게 보조금을 지급하는 경우도 있습니다).
(그림 3: MEV의 분배도)
MEV = 특정 순서의 거래가 실행되어 발생한 수익
MEV = MEV 탐색자 이익 + 블록 건설자 이익 + 블록 제안자 이익 + 이더리움 네트워크가 포착한 가치
MEV = (번들 수익 - 가스 비용) + (팁 - 블록 제안자에게 지급된 비용) + (블록 제안자에게 지급된 비용) + (EIP-1559에 의해 소각된 ETH)
MEV 탐색자에게 MEV 이익은 "MEV 탐색자가 제출한 거래 패키지(번들)가 실행되어 발생한 수익에서 거래 패키지의 가스 비용을 뺀 것"으로 반영됩니다.
블록 건설자에게 MEV 이익은 "블록 건설자가 제출한 블록의 실행 레이어 수익에서 블록 제안자에게 지급된 비용을 뺀 것"으로 반영됩니다.
블록 제안자에게 MEV 이익은 "블록 건설자가 지급한 비용"으로 반영됩니다.
이더리움 네트워크에게 MEV 이익은 "EIP-1559에 의해 소각된 ETH"로 반영됩니다.
3. MEV의 유형
MEV의 전략 유형에 따라 "뒤따라 실행" 전략(Back-running)과 "앞서 실행" 전략(Front-running)으로 나눌 수 있습니다.
MEV가 전체 시스템에 미치는 결과에 따라 유익한 것, 중립적인 것, 해로운 것의 세 가지로 나눌 수 있습니다:
실제 운영에서 MEV 이익을 추출하는 전략은 다양하게 존재하며, 서로 다른 성격의 MEV에 대해 가장 일반적인 예를 하나 들어보겠습니다.
대출 프로토콜의 청산 거래:
이는 "뒤따라 실행" 전략을 기반으로 MEV를 추출하는 거래입니다. "뒤따라 실행" 전략은 특정 거래 뒤에 긴밀하게 따라야만 성과를 낼 수 있습니다. 예를 들어, 과도한 담보 대출 프로토콜에서 오라클 가격 변동으로 인해 특정 대출자의 계좌가 청산 가능한 상태가 되었을 때, 오라클 가격 변동 직후 청산을 시작하는 것이 수익성이 있습니다.
적시에 청산하는 것은 부실 채권 발생 확률을 낮추고 전체 대출 프로토콜의 안정성을 유지하는 데 유리하므로, 이러한 MEV 추출 거래는 유익한 것으로 간주됩니다. 본질적으로 수익의 출처는 대출자의 손실이지만, 이는 대출자가 채무를 제때 상환하지 못한 것에 대한 처벌이기도 하며, 대출자는 자금을 대출할 때 이러한 잠재적 위험을 명확히 인지하고 있습니다.
DEX 간의 차익 거래:
역시 "뒤따라 실행" 전략을 기반으로 MEV를 추출하는 거래입니다. 사용자가 DEX에서 거래를 완료한 후 슬리피지(slippage)로 인해 서로 다른 DEX에서 동일한 토큰의 가격 차이가 발생할 수 있습니다. MEV 탐색자는 차익 거래를 통해 가격이 낮은 DEX에서 구매하고 가격이 높은 DEX에서 판매하여 수익을 얻을 수 있습니다.
샌드위치 공격:
이는 "앞서 실행" 전략을 기반으로 MEV를 추출하는 거래입니다. MEV 탐색자가 사용자의 DEX 거래가 아직 패킹되어 확인되지 않은 상태에서 사용자의 거래 앞에 거래를 삽입하여 사용자의 슬리피지를 높이고 실행 가격을 악화시킨 후, 사용자의 거래 뒤에 반대 방향의 거래를 삽입하여 사용자의 추가 슬리피지 손실에서 수익을 얻습니다.
샌드위치 공격 자체도 차익 거래이지만, 그 수익의 출처는 일반 사용자의 손실이며, 다른 사용자를 불리한 상황에 두는 전제 하에 수익을 얻는 것으로 해로운 것으로 간주됩니다.
대부분의 "뒤따라 실행" 전략에서 발생하는 MEV는 유익하거나 중립적인 것으로 간주되며, 이러한 거래는 이전의 어떤 거래에도 영향을 미치지 않고 다른 사용자의 합리적인 이익을 해치지 않으며, 일부 전략은 DeFi 시스템의 안정성에도 유익합니다. 반면, 대부분의 "앞서 실행" 전략에서 발생하는 MEV는 해로운 것으로 간주되며, 이러한 거래의 수익은 종종 다른 사용자를 불리한 상황에 두는 것을 기반으로 합니다.
4. MEV 분야의 프로젝트가 해결한 문제와 남은 문제는 무엇인가?
거래 정렬과 관련된 MEV 추출 기회는 거의 피할 수 없습니다. 이러한 배경 하에 MEV 분야의 프로젝트는 두 가지 문제를 해결하는 데 주력하고 있습니다:
- 해로운 MEV를 어떻게 예방할 것인가?
- 유익한 MEV와 중립적인 MEV를 어떻게 공정하게 분배할 것인가?
현행 솔루션의 접근 방식은 다음과 같습니다:
"예방" 문제에 대해:
프로젝트 측은 사용자에게 개인 RPC를 제공하고, 해당 RPC를 통해 방송된 거래는 선점당하지 않을 것이라고 약속합니다. 예를 들어, Flashbots Protect와 Sushi Guard에 서비스를 제공하는 OpenMEV가 있습니다.
실제로 개인 RPC는 사용자의 거래를 "개인 주문 흐름"으로 집계하여 특정 MEV 탐색자와 블록 건설자에게 방송하며, "개인 주문 흐름"을 누릴 수 있는 조건은 "앞서 실행" 전략의 MEV 추출 방식을 포기하는 것입니다. 그렇지 않으면 화이트리스트에서 제외됩니다.
(그림 4: MEV의 현행 솔루션)
"분배" 문제에 대해:
MEV-Boost는 체인 외부에서 MEV 기회를 경매하는 시장을 창출하여 MEV 탐색자, 블록 건설자 및 블록 제안자가 각자의 역할을 수행하며 MEV 이익을 공동으로 나누게 합니다.
MEV 탐색자는 하드웨어와 알고리즘을 경쟁하여 제한된 시간 내에 MEV를 추출할 수 있는 기회를 찾아야 하며, 충분한 이익(가장 높은 가스 요금 지불)을 양보해야 합니다;
블록 건설자는 주문 흐름 자원을 경쟁하여 자신이 구축한 블록이 더 높은 실행 레이어 보상을 포함할 수 있도록 해야 하며, 그래야 블록 제안자에게 수용될 가능성이 높아집니다;
블록 제안자는 새로운 블록을 제안할 권리를 가지며, 어떤 거래가 체인에 패킹될지를 결정할 수 있지만, 반드시 MEV 탐색자만큼 MEV를 추출할 수 있는 능력을 가지지는 않으며, 블록 건설자처럼 풍부한 주문 흐름 자원을 가지지도 않습니다. 메모리 풀 자체를 통해 블록을 구축하기보다는 MEV-Boost에 접속하여 블록 건설자의 계획을 따르는 것이 더 높은 실행 레이어 보상을 얻는 방법입니다.
남은 문제는:
개인 RPC 솔루션은 신뢰 가정에 기반하고 있으며, 사용자의 거래는 여전히 유출되거나 선점당할 수 있으며, 심지어 검열될 수도 있습니다.
개인 RPC는 개인 주문 흐름을 가져오며, 일부 블록 건설자는 개인 주문 흐름에 대한 독점적 지위를 가지고 있어 MEV 추출을 더욱 불투명하고 중앙집중화되게 만들 수 있습니다.
MEV-Boost의 분배 계획에서는 사용자의 이익이 완전히 고려되지 않았으며, 사용자는 MEV 추출에서 어떤 이익도 얻지 못했습니다.
5. 개선 방향은 무엇인가?
"선점" 문제를 해결하기 위해서는 암호화 기술을 활용해야 합니다. "암호화-정렬-복호화-실행"을 기반으로 하여 사용자의 거래를 로컬에서 암호화하고, 아무도 거래 내용을 읽지 못하는 상태에서 정렬 합의를 완료한 후 내용을 복호화하고, 마지막으로 합의된 순서에 따라 거래를 실행합니다. 이러한 솔루션은 신뢰 가정을 깨뜨리며, 더 이상 개인 주문 흐름이 필요하지 않습니다.
더 공정한 분배를 실현하기 위해서는 사용자가 받아야 할 MEV 이익을 반환해야 합니다. 사용자는 MEV 추출 기회를 창출하는 역할로서, 그들의 합리적인 이익이 침해되지 않도록 보장하는 것은 기본적인 사항이며, 단순히 그들의 거래가 선점당하지 않도록 하는 것뿐만 아니라 일부 MEV 이익을 반환해야 합니다.