[MEV] #0. 사이드 프로젝트: MEV 봇 프로젝트 시작

2025. 7. 8. 20:42·Project/MEV

시작과 포부와 의식의 흐름

Project 카테고리에 야심차게 MEV 카테고리를 추가했다. 회사 프로젝트 말고 개인 프로젝트를 시작하는거기 때문에 카테고리 분리가 필요하다고 생각했기 때문이다. (이야 사이드 프로젝트를 시작한 나, 대견해)

MEV에 대한 개념을 대충 접한 뒤로 "아 너무 재밌겠다." "나도 차익거래로 돈벌고 싶다." 생각을 막연히 했었는데

5월에 진짜 시간 다 갈아넣으면서 업무 + 개인적인 개발을 한 뒤로 살짝 번아웃와서 못하고 있다가 이제서야 시작을 한다.

역시 동기부여에는 MONEY 만한게 없음

MEV에 대해 아는게 솔직히 1도 없다. 그냥 트랜잭션 순서에 따라 차익거래로 돈을 번다, 의 개념 정도만 알고 있다.

이 시리즈는 어떻게 보면 약간의 블록체인 베이스의 주니어 개발자가 MEV에 대해 어떻게 지식이 쌓이고 개발을 해나가는지, 성장 곡선(?!)을 볼 수 있는 날것의 시리즈가 될 것 같다.

날것인 만큼 나는 그 어떠한 편집도 거치지 않을 생각이다. 나는 성격이 살짝 완벽주의인데다가 이런 퍼블릭한 장소에 그래도 글을 올리려면 어느정도 기승전결과 글의 뭐랄까 정갈함? 전문성 등등을 갖춰야한다고 생각하는 사람이다. 여태껏 내 블로그 글을 보면 알 수 있다.

글 갯수가 많진 않지만 나름대로 글 하나하나에 정성을 들인다는걸 알 수 있지 않나?! 스크롤이 엄청나다구! (뿌듯)

그래도 허접한 글이라고 하면 할말 없..지않음! 그런거는 혼자서 생각He

뭐 아무튼 여태껏 글을 쓸때는 목차같이 글의 흐름도 정돈하고, 편집도 며칠씩이나 하고, AI 새빠지게 돌려서 내용 보완하고 하는데 이 시리즈는 일절! 그 과정이 없을 거라고 미리 말해둔다.

 

내가 공부한 내용, 그로 파생되는 의식의 흐름, 그리고 프로젝트의 진행상황을 그냥 여과없이 전달할 예정이다.

또 그리고 할말이 더 있었던 것 같은데 이거 쓰면서 까먹음. 뭐 생각나면 그때 얘기해보도록 하고 일단 시작하자.

시작이 반이다. 일단 해보자

렛츠 기릿


MEV 봇이란? 그래서 뭘 만들고 싶니?

MEV 봇 만들고 싶어서 이리저리 검색했을 때 가장 인상에 남았던건 디스콰이엇이라는 플랫폼에 올라왔던 이 분의 글이었다.

MEV 봇을 다양한 언어로 개발하고 현재는 창업도 하고 계신듯 한데 이 분의 글을 참고할 예정이다.

 

샤라웃 합니다. 감사해요.

https://medium.com/@solidquant/how-i-built-my-first-mev-arbitrage-bot-introducing-whack-a-mole-66d91657152e

 

How I built my first DEX arbitrage bot: Introducing Whack-A-Mole

Multi-DEX arbitrage bot written in pure Python. Arbitrage strategies are just like the game Whack-A-Mole

medium.com

저는 헤이즈도 뭣도 아니지만 그냥.. 예.. 그냥 밈 넣고 싶었음

그리고 개념을 그래도 어느정도는 좀 알아야 설계하고 개발 들어가기 쉬우니까 쟁글의 글도 좀 읽어보자.

혹시나 MEV 봇을 만들고자 이 누추한 블로그까지 오셨다면 개념 설명은 링크한 글들로 참고하길 바란다.

다시 한번 강조하지만 여기는 철저히 내 의식의 흐름에 기반한 글이다. 고로 내가 이미 알고 있는 내용들은 적지 않고 암묵적으로 넘어갈 거기 때문에 누군가에게는 도움이 매우, 아주, 많이 되지 않을 수 있다.

 

아무튼 MEV 봇이 설칠 수 있는 이유는 다 돈때문이다.

이게 mempool에서 대기 중인 트랜잭션을 돈(=가스비)을 많이 준 사람 먼저 해주기 때문에 생기는 문제다 이 말이야.

난 자본주의를 사랑하지만 또 어떨때는 또 너냐 싶기도 해.

그치만 MONEY 난 널 사랑해 알러뷰 나한테로 와줘

게다가 블록체인은 모든 활동이 투명하게 공개되어 있고, 블록 생성자들은 그놈의 돈돈돈을 근거로 임의로 트랜잭션 순서를 정할 수 있기 때문에 이 MEV 봇들이 성행할 수 있게 되는거다. (= 가스비에 따라 트랜잭션 순서가 결정됨)

너도 돈벌고 나도 돈벌자 개이득인 상황이다. 물론 "너"가 내 봇이 될지는 미지수긴함.

 

아무튼 채굴자들에 의해 블록이 구성되고 가치를 추출할 수 있기 때문에 원래는 Miner Extractable Value라는 의미로 MEV라고 정의 되었는데, 실제로는 채굴자들이 아닌 Searcher들(=나의 mev 봇 같은거)이 더 많은 수익 창출 기회를 찾아내어 높은 수수료를 블록 빌더에게 제시하기 때문에 Maximal Exractable Value로 이름이 바뀌었다고 한다.

MEV의 종류

MEV 종류가 몇개 좀 있다.

1. 아비트라지(Arbitrage)

말 그대로 서로 다른 거래소 간의 가격 차이를 이용해 돈을 버는 방법이다. (=차익거래)

 

아비트라지 유형은 또 3가지로 나뉜다.

1. 단일 체인, 여러 DEX 차익거래
2. 여러 체인, 여러 DEX 차익거래
3. CEX-DEX 차익거래

이 필드는 굉장히 무법지대라고 하는데, 이미 MEV 봇들이 많이 이 필드를 타겟팅하고 있기 때문이라고 들었다.

내가 아비트라징 기회를 포착해서 트랜잭션을 제출했다 하더라도, 다른 아비트라지 봇들도 기회를 틈타 동일한 트랜잭션을 제출하고, 가스비만 계속 높여서 제출하는 일종의 경매 현상이 발생하기 때문이다.

 

이러한 경매 현상을 PGA(Priority Gas Action)이라 부르며, 오늘날의 대부분의 MEV는 블록 생성자가 직접 추출하는 것이 아닌 PGA 방식으로 진행되고 있다고 한다.

앞서 MEV의 정의가 Miner -> Maximal로 바뀐 것과 같은 맥락이다.

(출처: https://medium.com/curg/mev%EC%99%80-mev-boost-c55e8cad564c)

2. 프론트 러닝(Front running)

수익성 높은 트랜잭션(ex. 아비트라지)이 멤풀에 포작될 경우, 동일한 트랜잭션을 생성한 채 가스비만 더 높게 제출하여 기회를 가로채는 행위

3. 백 러닝(Back running)

프론트 러닝과 반대로 타겟 트랜잭션 직후에 주문을 넣어 수익을 창출하는 행위.

거래 규모가 큰 트랜잭션에 의해 일시적으로 높은 슬리피지가 발생하면 MEV봇이 그 즉시 반대 주문을 넣어 시세 차익을 챙기는 것이 백러닝의 대표적인 예시다.

4. 샌드위치 공격(Sandwich Attack)

프론트 러닝과 백러닝을 동시에 수행. 유니스왑 같은 AMM DEX에서 흔히 발생하며, 성공했을 경우 두 차례에 걸쳐 수익을 낼 수 있음

ex) MEV 봇이 유니스왑에서 알트코인 A를 대량 구매하는 주문을 포착하면 곧바로 동일한 트랜잭션을 생성하여 주문자를 프론트러닝한다. 이후 기존 주문자가 더 높은 가격에 A를 구매하면 즉시 구매하였던 토큰을 매도하여 시세 차익을 챙긴다.

ex) MEV봇이 MakerDAO, Aave 같은 랜딩 프로토콜을 실시간으로 모니터링하다가 기회 포착 시 사용자의 포지션을 청산시켜 청산 수수료를 챙기는 방법도 있음.


설계를 해볼까? 구현을 위해 생각해야할 것들

난 일단 아비트라징부터 만들어볼 생각이고, 1을 먼저 거쳐서 2,3 단계로 나아갈 생각이다. (여기서 1은 단일체인을 말함)

1번이 가장 수익성이 낮지만 가장 쉽게 만들 수 있다고 하니 입문자 용으로는 딱이라고 생각한다.

아마 장기 프로젝트가 될 것 같지? 다른 종류의 MEV까지 구현한다고 하면 정말 장기일거다. 그래서 내가 카테고리를 하나 더 판거임.

첫 사이드 프로젝트가 장기 프로젝트? 오히려 좋...아?

우선 그냥 시작이 목표기 때문에 막 거창하게 계획을 세우지는 않을 예정이다.

입문하기 쉽게 이더리움 체인 기반으로 만들거고, 언어는 내가 현재 주언어로 사용하는 golang을 사용할거다. 그리고 IDE는 cursor와 claude code의 적절한 조합으로... 그리고 소량의 나의 뇌랄까..? (이제 AI는 git처럼 개발자와 뗄레야 뗄 수 없다!)

 

그리고 Uniswap V2, V3, Sushiswap V3 등 여러 DEX에서 거래를 할 생각이다.

내가 아까 링크한 글에서 "홉 스왑"이라는 용어가 나오는데, 나는 이 용어를 처음 보기에 설명을 하자면,

- 홉 스왑(Hop Swap)
암호화폐 거래소에서 서로 다른 블록체인 네트워크 간의 자산 교환을 가능하게 하는 DEX 기능을 의미.
기존에는 각 블록체인 네트워크마다 자체 토큰이 존재하고, 다른 네트워크로 자산을 이동하려면 중앙화 거래소나 복잡한 과정을 거쳐야 했음.
홉 스왑은 이러한 불편함을 해소하고, 사용자가 직접 다른 블록체인으로 자산을 전송할 수 있도록 지원.

 

홉 스왑을 할때 중요한건 수수료이다. 왜냐하면 대부분의 거래소는 수수료 장사를 하기 때문이다. 만약 거래소에 내야하는 수수료의 합이 내가 차익거래로 얻는 이익보다 많다면? 이건 아주 쓰레기인 MEV봇이 될것이다ㅠ 고로 수학적인 계산도 로직에 넣어줘야할 것 같다. 수수료보다 이익이 안나올 것 같으면 매매를 하지 않는 등의 방식으로 말이다.

 

뭐 또, 그 외에 세부적으로는 아래 것들도 생각을 해야하긴 할텐데 지금 단계에서 막 딥하게 생각할 필요는 없다고 생각한다.

- 가스비 최적화

- 플래시론 적용

- 빠른 실행 시간(언어 단에서, 나중에는 Rust로 구현하는게 목표긴함)

 

왜냐면 이건 사이드 프로젝트고 시작! 시작이 제일 중요하니까!!!

 

아무튼 깃헙을 하나 파봤다. 근데 여기 내 신상정보가 너무 많이 들어가 있어서 블로그에서 공개할지는 좀 고민이다. 블로그랑 내 신상이랑 너무 쉽게 연결이 되고, 이게 인터넷상에서 신분이 연결되기 시작하면 골치가 아파진다.

만약 내가 네임드가 되면 공개할 것 같긴 함ㅋㅋㅋㅋ 약간 공약같다.

방문자수 만명 찍으면~~ 깃헙 공개하도록 하겠습니다~~~

사실 내가 내킬때 공개할거긴 함

블로그로 수익창출하면 또 을매나 좋을까 돈미새냐구요? 네.

뭐 아무튼 일단 구현을 좀 해보고 다시 찾아오겠다. 뭐라도 좀 굴러가야 그 다음 글이 올라오지 않을까?

#1이 올라오기까지 얼마나 걸릴지는 모르겠지만 최대한 빠른 시간내에 찾아뵐수 있도록 하겠다.

그 전에 다른 글이 올라올수도 있고... 쓸 글이 너무 많이 밀렸다 하... 회사다니면서 하기 바쁘다 바빠

아무튼 그때까지 아디오스~!

'Project > MEV' 카테고리의 다른 글

[MEV] #1. Planning : 단일 체인, 다중 DEX Arbitrage 봇을 만들려면  (2) 2025.07.15
'Project/MEV' 카테고리의 다른 글
  • [MEV] #1. Planning : 단일 체인, 다중 DEX Arbitrage 봇을 만들려면
빵빵0
빵빵0
(아직은) 공부하고 정리하는 블로그입니다.
  • 빵빵0
    Hack Your World
    빵빵0
  • 전체
    오늘
    어제
    • 분류 전체보기 (92)
      • Error Handling (7)
      • Project (5)
        • MEV (2)
      • Architecture (0)
        • API (0)
        • Cache (0)
        • 사소한 고민거리 (0)
      • Computer Science (4)
        • Data Structure (2)
        • Database (1)
        • Cloud (0)
        • OS (0)
        • Infra, Network (1)
        • AI (0)
      • Language (8)
        • Go (8)
        • Rust (0)
        • Python (0)
        • Java (0)
      • Algorithm (40)
        • BaekJoon (18)
        • Programmers (7)
        • LeetCode (6)
        • NeetCode (9)
      • SW Books (9)
        • gRPC Up & Running (1)
        • System Design Interview (2)
        • 스프링 입문을 위한 자바 객체지향의 원리와 이해 (6)
        • 블록체인 해설서 (0)
        • 후니의 쉽게 쓴 CISCO 네트워킹 (0)
      • BlockChain (4)
        • Issues (0)
        • Research (4)
        • Tech (0)
      • Own (8)
        • TIR(Today I Read) (3)
        • Personal (2)
        • Novel (0)
        • Memo (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    큐
    BFS
    two pointer
    Hash Table
    Python
    ethereum
    DP
    BEAKJOON
    MongoDB
    백준
    chart
    MEV
    golang
    blockchain
    프로그래머스
    블록체인
    KBW
    EVM
    context
    goroutine
    Greedy
    Programmers
    Palindrome
    BaekJoon
    스택
    LeetCode
    candlechart
    go
    2024
    NeetCode
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
빵빵0
[MEV] #0. 사이드 프로젝트: MEV 봇 프로젝트 시작
상단으로

티스토리툴바