이더리움의 무질서 시대가 도래하다: MEV가 일반 사용자 이익에 해를 끼칠까?

2021-04-12 17:00:36
수집
MEV-Geth 구현 메커니즘은 원래 네트워크에서 예상된 거래 정렬 규칙을 변경하였으며, 생태계 내 사용자에게 이익 손해를 초래했을 가능성이 있습니다.

이 글은 이더리움 애호가에 게시되었으며, 저자: Kai입니다.

상상해보세요: 사용자가 AMM 유형의 DEX에서 거래를 할 때, 슬리피지를 어떤 식으로 설정하든 결국 수용 가능한 최악의 가격에서 거래가 체결됩니다. 이는 사용자에게 매우 무서운 상황일 수 있습니다.

TLDR;

현재의 MEV-Geth 구현 메커니즘은 원래 네트워크에서 예상된 거래 정렬 규칙을 변경하여 여러 가지 심각한 공개 공정성 문제를 초래하고 있으며, 생태계 내 사용자에게 이익 손해를 초래했을 가능성이 있습니다.

이더리움 네트워크 거래 풀의 원래 규칙

현재 이더리움 네트워크에서 사용자가 원래 방식으로 거래를 전송하면, 이 거래는 이더리움 전체 노드로 구성된 P2P 네트워크를 통해 전파되며, 거래 내용은 완전히 투명합니다. 이는 네트워크 내의 모든 전체 노드가 대부분의 거래 내용을 볼 수 있음을 의미합니다.

따라서 이더리움 네트워크에서는 거래 전송자의 예상과 경험을 해치는 몇 가지 상황이 발생할 수 있습니다(일반적으로 어떤 정도의 "공격"으로 간주됨):

  1. 프론트 러닝(front-running): 특정 거래가 목표 거래(공격받는 거래)보다 같은 블록 내에서 먼저 배치되어 이익을 얻는 것을 의미하며, 주로 청산 및 차익 거래를 대상으로 합니다.

  2. 백 러닝(back-running): 특정 거래가 목표 거래 뒤에 배치되어 이익을 얻는 것을 의미하며, 전형적인 대상은 정보 입력 메커니즘(오라클) 거래 또는 대량 거래입니다.

  3. 샌드위치 공격: 위의 두 가지 공격 형태의 결합으로, 목표 거래가 두 개의 특정 구성 거래 사이에 끼어 이익을 얻는 것입니다. 샌드위치 공격은 공격 가능한 범위를 크게 확장하며, 일반적인 AMM DEX 거래조차도 공격 대상이 될 수 있습니다. 공격자의 첫 번째 구성 거래는 더 큰 거래 가격 변동을 발생시키고, 목표 거래가 실행된 후 즉시 두 번째 구성 거래를 실행하여 공격에 사용된 토큰을 교환하여 이익을 얻습니다.

공격의 대상은 불확실합니다. 이론적으로, 거래 내용을 알게 된 모든 사람이 당신을 공격할 수 있으며, dApp 프로젝트 팀, 전문 공격자, 지갑, 채굴 풀 등이 당신을 공격할 수 있습니다(책임 추적이 불가능함).

공격의 난이도는 네트워크의 합의 규칙과 생태계에서 일반적으로 사용 가능한 인프라와 관련이 있습니다(공격 난이도, "응답성"); 예를 들어, 모두가 현재의 거래 풀 규칙을 완전히 준수하고 Gas Price 경쟁만으로 채굴자가 거래의 정렬에 영향을 미치도록 한다면(채굴 풀은 업계 자율성을 지켜야 함), 샌드위치 공격은 비교적 어렵습니다.

현재, 자신이 패키징한 블록 내 거래의 실행 순서를 직접 결정할 수 있는 채굴자-채굴 풀은 가장 공격을 감행할 가능성이 높은 참여자로 간주되고 있으며, 이는 "MEV"(거래 정렬 능력으로 인해 채굴자가 얻는 이익)라는 개념의 유래이기도 합니다. 그러나 실제로 공격 기회는 일정한 시효성을 가지며, 순간적으로 사라질 수 있기 때문에 공격자와 채굴 풀은 더 많은 분배 협력 관계로 나타납니다.

이러한 배경은 MEV-Geth와 다른 형태의 채굴 풀이 직접적으로 샌드위치 공격을 하는 현상에 대해 불안감을 느끼게 하는 이유입니다.

현재의 MEV-Geth 구현

image

현재 MEV-Geth 구현(2021-04-10 기준)의 기능은 네트워크에서 MEV 기회를 검색하는 검색기(Inspect), 원자 거래 패키지를 등록된 채굴 풀 노드로 전달하는 역할(Relay), 블록 생성 노드가 줄을 서는 것을 허용하는 역할(MEV-Geth 클라이언트)로 구성되어 있습니다. 등록된 채굴 풀과 Relay 서버 간의 간단한 네트워크를 구축합니다.

MEV-Geth는 채굴자 측에서 실행되는 특별히 맞춤화된 이더리움 노드 클라이언트로, 이 클라이언트를 통해 Relay에서 배포된 MEV 번들을 저장하고 이러한 특별한 거래를 블록의 큐 헤드 위치에 패키징할 수 있도록 합니다.

image

사용자는 MEV-Geth를 사용하여 번들로 불리는 거래 패키지를 방송할 수 있습니다. 하나의 번들 내에는 다음과 같은 정보가 포함됩니다: 거래 목록(발신자가 블록체인에 올리기를 원하는 몇 개의 연속 거래를 명시), 차익 계산 블록 높이, 최소 및 최대 초과 시간. 단일 번들이 블록에 올라갈 때, 발신자는 coinbase 거래를 통해(가스 가격이 아닌) 채굴자(즉, 채굴 풀)에게 ETH를 수수료로 지불합니다.

현재 MEV-Geth 구현에서는 각 블록에 하나의 번들만 존재할 수 있으므로, 채굴자는 coinbase 지불이 가장 큰 번들을 선택하여 블록에 올립니다.

이 현재의 구현은 샌드위치 공격을 수행하는 난이도를 단순화합니다. 한편으로는 공격자가 샌드위치 거래의 전후 관계를 명시적으로 선언할 수 있으며, 둘째로는 샌드위치 공격자가 다른 샌드위치 공격자와의 블록체인 경쟁에서 패배하더라도, 그 거래는 MEV-Relay 네트워크에서 시간 초과로 무효화될 뿐이며, 가스 비용을 지불할 필요가 없습니다.

Flashbots 팀의 공개 성명에 따르면, 그들은 동일한 블록에 여러 개의 번들이 포함될 수 있도록 허용하는 방안을 개발 중이며, 아마도 우리는 곧 블록 내에 많은 제로 가스 비용의 샌드위치 공격이 가득 차는 것을 볼 수 있을 것입니다.

MEV-Geth 거래 찾기

현재 구현에 따르면, MEV-Geth 거래의 가장 두드러진 특징은 앞뒤 두 개의 샌드위치 거래의 가스 가격이 모두 0이라는 것입니다.

블록 탐색기 웹사이트 etherchain.org를 열고 임의의 블록의 거래 목록을 확인하면(이 목록은 블록 내 거래의 실행 순서를 나타냅니다), 목록의 맨 앞에 샌드위치 공격이 나타나고 그 공격 거래의 가스 가격이 0이라면, 이는 MEV-Geth를 통해 시작된 번들일 가능성이 높습니다.

image

- 12200018 높이 블록의 목록 헤드 -

image

- 특정 샌드위치 거래의 전체 과정 -

네트워크는 MEV-Geth를 전면 배포했습니다

현재 MEV 상황은 0 가스 가격이면서 가스 사용량이 21000을 초과하는 거래를 조회하여 확인할 수 있으며, 구체적인 내용은 제가 임시로 만든 dune 대시보드에서 확인할 수 있습니다:

image

그림에서 볼 수 있듯이, 많은 채굴 풀이 이미 참여하고 있으며, 매일 약 3500건 이상의 MEV 관련 거래가 발생하고, 약 1000건 이상의 MEV 거래가 발생합니다. 평균 블록 생성 시간이 12초라고 가정하면, 하루에 7200(60x60x24/12)개의 블록이 생성되며, 하루에 거의 1/3의 블록에 MEV-Geth 거래가 존재합니다. 일부 채굴 풀은 아직 MEV-Geth를 사용하지 않고 있으며, 차익 거래자는 아직 이 새로운 경쟁 모드로 전환하지 않았습니다.

다양한 환경에서의 게임 이론

우리는 몇 가지 거래 풀 운영 상황을 비교하여 사용자가 무엇을 얻고 무엇을 잃었는지 이해할 수 있습니다.

공개 게임 상태

네트워크가 원래 상태로 돌아가고, 블록 생성자가 업계 자율성을 준수하며, 모든 거래가 공개되고, 누구나 노드를 구축하거나 노드 서비스를 통해 패키징되지 않은 거래를 발견할 수 있다면, 특정 거래를 샌드위치 공격하려면 두 개의 거래를 전송하고 가스 가격을 공격받는 거래의 앞뒤로 설정하여 샌드위치 순서를 보장해야 하며, 경쟁이 있는 경우 성공률을 높이기 위해 여러 개의 복사 거래를 전송해야 하고, 마지막으로 임의의 거래 실행 실패 시 채굴 수수료를 지불해야 하는 처벌에 직면해야 합니다.

사용자 측면에서 보면, 모두가 평등하고 공개된 환경에 있으며, 자신의 거래가 샌드위치 공격이나 프론트 러닝을 당할 때, 잠재적 손실을 피하기 위해 거래를 가속화하거나 취소할 기회와 방법이 있습니다.

또한, 최종적으로 형성된 블록은 거래 풀 경쟁의 승자를 보여줄 뿐만 아니라 거래 풀 경쟁의 실제 상황을 진정으로 반영할 수 있습니다.

프라이버시 거래 서비스

여기서 "프라이버시 거래"는 채굴 풀이 전용 통로를 개설하여 해당 통로를 통해 채굴 풀 거래 풀로 들어오는 거래는 외부에 방송되지 않지만 여전히 가스 가격이 높은 거래가 우선적으로 정렬되고 패키징됩니다.

일반 사용자가 프라이버시 거래 서비스를 사용할 때, 그 거래는 외부에 공개되지 않으므로, 채굴 풀이 자체적으로 비밀 약속을 위반하거나 공격에 참여하지 않는 한 사용자는 위의 공격을 받지 않습니다.

또한, 공격자가 프라이버시 거래 서비스를 통해 공개적으로 볼 수 있는 거래를 공격할 경우, 공격받는 사용자는 사건이 발생할 것을 발견할 수 없으며 대응할 수 없습니다. 그러나 샌드위치 공격은 여전히 거래 라우팅 및 거래 풀 정렬의 무작위성에 제한을 받으며 쉽게 실행할 수 없습니다.

게다가, 여러 사람이 동일한 이익 기회를 놓고 경쟁할 때, 채굴 풀이 서로 경쟁하는 거래를 공개하지 않는 한, 그들은 경쟁자의 입찰을 알 수 없으며, 가격을 무작위로 입력하여 정렬 대기열에 들어가야 하므로 공격 비용과 난이도가 증가합니다.

또한, 최종적으로 형성된 블록은 여전히 거래 풀 경쟁의 모든 상황을 진정으로 반영할 수 있으며, 외부에서 성공 및 실패와 그 원인을 관찰할 수 있습니다.

MEV-Geth가 주류가 된다면

MEV-Geth가 등장한 후, 차익 거래자와 프론트 러너는 차익 거래 및 샌드위치 공격 가능한 거래를 이 네트워크에 제출하여 입찰하고, 채굴 풀에 가장 큰 이익을 제공하는 번들을 다음 블록에 우선적으로 실행하여 패키징된 거래가 100% 성공률을 달성하도록 보장합니다.

현재, 당신이 MEV-Geth 노드를 배포했다면, 번들 내용은 당신에게 투명하므로 누군가 당신을 공격하면 즉시 대응할 수 있습니다.

하지만 MEV-Geth가 무엇인지 모른다면, 당신의 상황은 누군가가 프라이버시 거래를 사용하여 당신을 공격하는 것과 동일합니다; 더 나쁜 것은 공격자의 확실성이 상당히 높아지며, 공격 과정의 입찰도 알 수 없게 됩니다. 형성된 블록은 승리한 거래만 노출되며 경쟁 과정은 드러나지 않습니다.

Flashbots는 이것이 네트워크에 몇 가지 이점을 가져올 것이라고 생각합니다: 차익 거래자 경쟁 게임 과정이 다른 네트워크로 이동하여 이더리움 P2P 네트워크의 부담을 완화할 수 있으며; 승리한 자만 블록 공간을 차지하여 블록 혼잡을 완화할 수 있습니다. subreddit/EtherMining에 현재 블록 내 추가 이익 상황을 나열한 보고서가 게시되었지만, 장기적으로는 채굴 수수료 감소로 인한 총 수익 감소를 따라잡지 못할 수도 있으며, 더 많은 장기 데이터 추적 연구가 필요합니다.

탈중앙화 비전

원래 네트워크 합의의 기대는 이더리움 DeFi 사용자와 프론트 러너가 동일한 규칙 하에 있으며, 경쟁 과정과 결과도 블록 내에서 투명하게 드러나는 것이었습니다. 그러나 채굴 풀이 개입하면서 상황이 더욱 복잡해졌고, 프라이버시 거래와 MEV-Geth는 네트워크의 하층이 상층 비즈니스에 명확하게 개입하기 시작하게 했습니다. MEV-Geth는 다양한 이점을 통해 사용자에 대한 샌드위치 공격을 정당화하고, 입찰 과정이 외부에서 관찰할 수 없는 네트워크에서 발생하게 하여 네트워크 운영 과정이 불친절하고 불투명해졌습니다.

여기 몇 가지 질문이 있습니다:

  1. 채굴 풀이 채굴자에게 이익을 제공하기 위해 현재 단계의 MEV-Geth를 배포하여 더 많은 이익을 얻는 것은 무방할 수 있습니다. 그러나 이것이 탈중앙화와 네트워크의 공개 공정성에 부합하는 것인가요?

  2. Flashbots는 이전에 이더리움의 개방성과 탈중앙화를 보호하겠다고 공개적으로 약속했으며, 현재 MEV-Geth의 프라이버시성과 공개 경매 경쟁 문제가 해결되지 않은 상태에서 현재 네트워크에 배포하는 것이 적절한 시점인가요?

  3. 채굴자(채굴 풀)의 정렬 권한에서 파생된 슈퍼 능력은 탈중앙화 네트워크에서 제거될 수 없는 것일 수 있으며, 즉 MEV는 객관적으로 존재하는 것입니다. 그러나 MEV-Geth의 출현이 MEV의 남용을 더욱 용이하게 하고, 심지어 사용자 거래를 공격하는 정당한 구실이 되는 것은 장기적으로 부정적인 영향을 초래할 수 있나요?

커뮤니티 내에서도 MEV 또는 MEV-Geth 구현에 대한 논란이 많으며, 많은 목소리가 우려하고 있습니다:

  • 코넬 대학교 교수 Ari Juels가 CoinDesk에 발표한 "채굴자, 프론트 러닝 서비스는 도둑질이다"
  • Offchain Lab 공동 창립자 Ed Felten이 발표한 "MEV 경매는 해롭다"는 이 주제를 겨냥한 것이 아니며, 하루 동안 정렬 권한을 경매하는 방법에 반대합니다. Vitalik은 이에 대한 응답을 작성했습니다.
  • 이더리움 연구 포럼의 사용자 pmcgoohan이 발표한 "MEV 경매는 이더리움을 죽일 것이다"
  • Paradigm 파트너 Charlie Noyes가 발표한 "MEV와 나"에서도 "MEV는 사용자에게 해를 끼칠 수 있으며, MEV는 이더리움에 해를 끼칠 수 있다"고 언급했습니다.

이더리움이 전 세계의 금융 기반 플랫폼이 되고자 한다면, 사용자 자산의 안전과 거래 정렬의 공정성(무작위성)을 유지하는 것이 매우 중요합니다. 모든 참여자는 채굴 수수료 입찰 규칙에 따라 경쟁하여 패키징 대기열 위치를 확보하며, 실행 실패 시 지불한 채굴 수수료를 잃게 됩니다. 채굴 풀은 패키징 과정에서 거래 내용을 완전히 무시하고, 채굴 수수료의 높낮이만으로 거래를 정렬하며, 네트워크 검증자와 애플리케이션 참여자는 격리되어 서로 간섭하지 않습니다.

MEV-Geth의 전면 배포와 채굴자가 이더리움 네트워크의 애플리케이션 계층에 점진적으로 침투하는 것은 저에게 뭔가 이상한 느낌을 주었습니다. 주말 이틀 동안 생각하고 자료를 조사한 끝에, 이 내용을 작성하게 되었으며, 이더리움에 깊은 영향을 미칠 수 있는 이 문제에 대해 더 많은 사람들이 생각해보기를 바랍니다. 또한 이틀 동안 내용을 교정해 준 친구들에게 감사드리며, 특히 논리와 순서에 대해 끊임없이 질문해 주신 아젠 선생님께 감사드립니다.

체인캐처(ChainCatcher)는 독자들에게 블록체인을 이성적으로 바라보고, 리스크 인식을 실제로 향상시키며, 다양한 가상 토큰 발행 및 조작에 경계해야 함을 상기시킵니다. 사이트 내 모든 콘텐츠는 시장 정보나 관련 당사자의 의견일 뿐이며 어떠한 형태의 투자 조언도 제공하지 않습니다. 만약 사이트 내에서 민감한 정보를 발견하면 “신고하기”를 클릭하여 신속하게 처리할 것입니다.
banner
체인캐처 혁신가들과 함께하는 Web3 세상 구축