온체인 아비트라지: 아토믹 사이클, 플래시 론, 그리고 반드시 이겨야 하는 경매
온체인 차익 거래가 어렵다는 편안한 통념이 있습니다. 이는 찾는 것이 어렵기 때문이라고 합니다. 즉, 가격 그래프 어딘가에 가장 영리한 알고리즘만이 볼 수 있는 숨겨진 사이클이 있고, 가장 빨리 계산하는 사람이 돈을 번다는 것입니다. 진실은 거의 그 반대입니다. 공개 체인에서는 수익성 있는 사이클이 모든 사람에게 동시에 보이며, 거의 동일한 코드를 실행하는 수십 개의 봇이 동일한 예비금을 대상으로 계산합니다. 탐지는 해결된, 상품화된 문제입니다. 어려운 것, 즉 누가 돈을 버는지를 실제로 결정하는 것은 순서 싸움에서 이기는 것입니다. 즉, 다른 모든 검색자가 정확히 동일한 것을 찾았을 때, 올바른 블록의 올바른 슬롯에 거래를 먼저 안착시키는 것입니다. 온체인 차익 거래는 탐지하기는 쉽지만 이기기는 어렵고, 이 두 동사 사이의 간극에 전체 비즈니스 경제가 존재합니다.
이 글은 검색자의 입장에서 서술합니다. MEV 해부학에서 우리는 피해자의 관점에서 어두운 숲을 매핑하고, 온체인 가격을 정직하게 유지하는 양성 추출, 즉 차익 거래와 백러닝에 대한 후속 조치를 약속했습니다. 온체인 청산에서 우리는 플래시 론 실행 계약과 오라클 백런 번들을 구축하고, 기본 요소의 일반적인 처리를 위해 여기를 참조하도록 했습니다. 이 글은 두 가지 빚을 모두 갚습니다. 멤풀, 번들, 우선순위 수수료가 무엇인지 이미 알고 있다고 가정합니다. 그렇지 않다면 MEV 글을 먼저 읽으십시오. 여기서는 차익 거래자의 기계를 구축합니다. 즉, 손실이 없는 아토믹 거래, 자본 제약을 제거하는 차입 자본, 쉬운 절반인 그래프 검색, 그리고 마진의 거의 전부를 먹어치우는 경매입니다.
아토믹성: 손실 시 되돌려지는 거래
온체인 차익 거래의 결정적인 속성, 즉 CEX 거래자가 실행할 수 있는 모든 교차 거래보다 본질적으로 더 안전하게 만드는 것은 아토믹성입니다. 다중 홉 차익 거래는 거래를 실행하고 함께 착륙하기를 바라는 일련의 거래가 아닙니다. 이는 사이클의 모든 단계를 실행하는 단일 거래이며, 최종 잔액이 시작 잔액보다 엄격하게 크지 않으면 전체 거래가 되돌려집니다. 모든 상태 변경은 마치 발생하지 않은 것처럼 롤백되며, 실패한 거래에 대한 가스만 손실됩니다.
이것은 위험 프로필을 완전히 바꿉니다. 한 거래소에서 BTC를 구매하여 다른 거래소에서 판매하는 CEX 거래자는 그 사이에 재고를 보유합니다. 몇 초, 몇 분, 전송 및 두 번째 채우기가 걸리는 시간 동안 말입니다. 그리고 그 기간 동안 가격이 어떻게 변하든 감수합니다. 온체인 차익 거래자는 경제적으로 의미 있는 어떤 방식으로든 재고를 제로 시간 동안 보유합니다. 구매와 판매는 동일한 불가분한 작업입니다. 중간 사이클 가격 위험은 없습니다. 중간 사이클이 없기 때문입니다. 전체 루프가 하나의 아토믹 단계에서 수익성 있게 닫히거나, 전혀 발생하지 않습니다.
이를 강제하는 보호 장치는 실행 경로 끝에 있는 단일 비교입니다. 개념적으로, 아토믹 차익 계약은 다음 이상을 수행하지 않습니다.
// The whole cycle runs inside one transaction. If the closing balance
// does not clear the opening balance (plus costs), the require() throws,
// and the EVM reverts every trade that came before it.
function executeCycle(bytes calldata path, uint256 minProfit) external {
uint256 start = IERC20(baseToken).balanceOf(address(this));
_hopA(path); // e.g. USDC -> WETH on Uniswap
_hopB(path); // e.g. WETH -> DAI on Sushiswap
_hopC(path); // e.g. DAI -> USDC on Curve
uint256 end = IERC20(baseToken).balanceOf(address(this));
require(end >= start + minProfit, "unprofitable"); // atomic safety net
}
require는 전체 안전 모델입니다. 오래된 견적, 당신의 것보다 한 슬롯 먼저 풀을 이동시킨 경쟁 거래, 예상치 못한 수수료 등 사이클을 수익성이 없게 만드는 모든 것은 단순히 보호 장치를 작동시키고 되돌려집니다. 당신은 모델링한 것보다 더 나쁜 가격으로 마지막 단계를 판매하고 손실을 입지 않습니다. 돈을 잃었을 거래는 실행되지 않습니다. 이것이 차익 거래가 MEV 글의 MEV 분류에서 양성적인 끝인 이유입니다. 채우기가 저하된 피해자는 없으며, 차익 거래자는 방향성 재고 위험을 부담하지 않습니다. 실패한 시도의 유일한 실제 비용은 가스입니다. 이는 우리가 보게 될 것처럼, 경쟁 경매가 부풀리도록 설계된 비용과 정확히 일치합니다.
플래시 론은 자본 제약을 제거합니다
아토믹성은 더 강력한 것을 가능하게 합니다. 즉, 자신의 자본 없이 차익 거래를 하는 것입니다. 플래시 론을 사용하면 대출 풀에서 임의의 금액을 빌릴 수 있으며, 단 하나의 조건이 있습니다. 즉, 거래가 끝나기 전에 수수료를 포함하여 상환해야 합니다. 차입, 차익 거래, 상환이 모두 하나의 아토믹 거래 내에 존재하므로 풀은 채무 불이행 위험에 직면하지 않습니다. 상환할 수 없으면 전체 거래가 되돌려지고 대출은 취소됩니다. 대출 기관은 당신을 보호하는 것과 동일한 되돌림에 의해 보호됩니다.
패턴은 콜백입니다. 풀의 플래시 론 함수를 호출하면 풀이 토큰을 보내고 당신을 다시 호출합니다. 이 콜백 내에서 사이클을 실행하고 상환할 충분한 금액을 남겨야 합니다.
// Called by the lending pool in the middle of the flash loan.
function receiveFlashLoan(address token, uint256 amount, uint256 fee, bytes calldata data)
external
{
// 1. buy the asset cheap on venue A with the borrowed `amount`
uint256 bought = _swap(VENUE_A, token, ASSET, amount, data);
// 2. sell it dear on venue B, back into the borrowed token
uint256 repaidIn = _swap(VENUE_B, ASSET, token, bought, data);
// 3. must be able to return principal + fee, or the whole tx reverts
require(repaidIn >= amount + fee, "arb cannot cover loan");
IERC20(token).transfer(msg.sender, amount + fee); // repay in-tx
// whatever remains — repaidIn - amount - fee — is profit, kept here
}
수수료는 적고 장소에 따라 다릅니다. Aave v3는 플래시 론에 5bps(0.05%)를 부과하고, Balancer는 역사적으로 0bps를 부과했으며, Uniswap v3는 풀의 일반적인 스왑 수수료와 동일한 플래시 스왑을 통해 동일한 기능을 제공합니다. 5bp는 사이클 마진 내에서 청산되어야 하는 실제 비용이지만, 한 블록 동안 지속되는 불균형을 포착하기 위해 자신의 재고 6~7자리를 묶어두는 대안에 비하면 사소합니다.
시장 구조에 대한 결과는 명확하게 언급할 가치가 있습니다. 플래시 론은 차익 거래 이익을 자본과 분리합니다. 주어진 기회의 승자는 가장 깊은 대차대조표를 가진 검색자가 아닙니다. 몇 달러의 가스 비용을 가진 봇은 한 거래 기간 동안 천만 달러를 빌릴 수 있습니다. 자본은 해자가 아닙니다. 모든 사람이 동일한 기회에 대해 동일한 규모를 빌릴 수 있으며, 이것이 바로 경쟁이 상품화되지 않은 한 가지, 즉 먼저 주문되는 것에 집중되는 이유입니다.
작동하는 교차 DEX 사이클
숫자는 메커니즘을 구체화합니다. 0.30% 수수료()가 있는 두 개의 상수 곱 WETH/USDC 풀을 가정하고, 큰 구매가 풀 B를 풀 A 위로 밀어 올렸다고 가정합니다. 다음 섹션에서 사이클이 실제로 어디에서 오는지 보여주는 불균형의 종류입니다. 명확하게 설명하기 위해 반올림된 예비금을 사용합니다.
- 풀 A (저렴): WETH, USDC 가격 USDC/WETH.
- 풀 B (비쌈): WETH, USDC 가격 USDC/WETH.
사이클은 다음과 같습니다. USDC를 플래시로 빌리고, A에서 WETH를 싸게 사고, B에서 비싸게 팔고, 상환합니다. USDC를 빌립니다. 홉 1은 USDC를 풀 A에 팔아 WETH를 얻습니다.
홉 2는 그 WETH를 풀 B에 팔아 USDC를 얻습니다.
당신은 100,000을 빌렸고, 100,723을 받았으며, 50 USDC의 5bps 플래시 수수료를 빚지고 있습니다. 순이익: 가스 및 우선순위 입찰 전 약 $673 총 이익입니다. 두 가지를 주목하십시오. 첫째, 두 홉은 풀을 서로에게 가깝게 이동시킵니다. A에서 구매하면 가격이 오르고, B에서 판매하면 가격이 떨어집니다. 따라서 이익은 규모에 비례하지 않습니다. 너무 많이 밀어붙이면 가격 영향이 격차를 먹어치웁니다. MEV 글의 샌드위치 최적화와 정확히 같습니다. 검색자는 순이익을 극대화하는 차입 규모를 찾기 위해 에 대한 1차원 검색을 실행합니다. 둘째, $673은 모든 경쟁 봇이 동일한 예비금에서 동일한 값으로 계산하는 결정론적 숫자입니다. 이것이 전체 문제이며, 아래 경매 섹션의 주제입니다.

탐지는 쉬운 절반입니다
시장을 그래프로 볼 때(자산을 노드로, 거래 쌍을 가중치 있는 엣지로), 차익 거래 사이클은 환율의 곱이 1을 초과하는 루프입니다. 각 환율의 로그를 취하고 음수로 만들면 수익성 있는 사이클은 음수 가중치 사이클이 됩니다. 이를 찾는 고전적인 도구는 벨만-포드(Bellman-Ford)이며, SPFA와 최근의 RICH 알고리즘은 실제 시장이 생성하는 작고 빠르게 변하는 그래프에 맞춰 더 빠른 변형입니다. 로그 변환, 음수 사이클 조건, Rust 구현, 대부분의 이론적 사이클을 제거하는 수수료 조정 엣지 가중치 등 이 모든 도구는 차익 거래 탐지를 위한 그래프 알고리즘의 주제이며, 여기서는 반복할 필요가 없습니다.
이 글에서 중요한 것은 단 하나의 회계 지점입니다. 수수료는 엣지 가중치에 포함되어야 합니다. 그렇지 않으면 사이클은 환상입니다. 3단계 루프는 3개의 풀 수수료와, 빌렸다면 플래시 론 수수료를 지불하며, 음수 사이클 테스트는 이 모든 것을 확인해야 합니다.
from math import log
def cycle_log_gain(rates, pool_fee=0.003, loan_fee=0.0005):
"""Log-gain around a cycle. > 0 means gross profit before gas and priority bid.
`rates[i]` = units of the next asset per unit of the current one on hop i."""
gross = 1.0
for r in rates:
gross *= r * (1 - pool_fee) # each hop pays the venue's swap fee
gross *= (1 - loan_fee) # one flash-loan fee for the whole cycle
return log(gross) # still ignores gas and the auction bid
여기에 중요한 관찰이 있습니다. 이 함수는 결정론적입니다. 현재 온체인 예비금을 입력하면(모든 노드가 동일하게 보유합니다. 체인은 공유되고 복제된 상태 머신이기 때문입니다), 모든 검색자는 동일한 cycle_log_gain를 동일한 블록 높이에서 동일한 값으로 계산합니다. 사적인 신호, 독점적인 데이터셋, 정보적 우위는 없습니다. 대규모 스왑이나 새 블록이 예비금을 재정렬하면, 구조적으로 동일한 탐지 코드를 실행하는 수십 개의 봇이 서로 몇 밀리초 내에 동일한 사이클에서 모두 활성화됩니다. 검색은 모든 사람에게 동일한 답변을 반환합니다.
토폴로지에 대한 참고 사항입니다. 검색이 실제로 얼마나 어려운지를 결정하기 때문입니다. 가장 저렴한 사이클은 삼각형 및 DEX 내 사이클입니다. 즉, WETH → USDC → DAI → WETH가 하나의 Uniswap 배포 내에서 완전히 이루어지는 것입니다. 세 번의 홉, 세 번의 풀 수수료, 교차 거래소 조정은 없습니다. 교차 DEX 사이클(Uniswap에서 구매, Sushiswap에서 판매)은 거래소를 추가하지만 아토믹 보호 장치는 동일하게 유지됩니다. 더 길고 이국적인 사이클은 더 많은 홉을 연결하지만, 추가 홉마다 또 다른 요인이 곱해지므로 수수료 조정 음수 사이클 조건은 긴 사이클을 빠르게 제거합니다. 이것이 바로 실제 검색자가 사이클 길이를 3~5홉으로 제한하고 적극적으로 가지치기하는 이유입니다. 이는 그래프 알고리즘 글의 RICH 알고리즘이 실행하도록 구축된 계층화되고 길이 제한이 있는 검색입니다.
따라서 탐지는 거래를 이기게 하지 않습니다. 단지 경쟁할 자격을 부여할 뿐입니다. log(gross) > 0 테스트는 기회가 존재한다고 알려줍니다. 당신이 그것을 포착할 주소가 될지는 아무것도 말해주지 않습니다. 그것은 한 단계 아래, 즉 순서에서 결정되며, 순서는 당신의 알고리즘이 계산하는 것이 아닙니다. 그것은 당신이 입찰하는 것입니다. 온체인 차익 거래에 대한 모든 어려운 일은 사이클이 발견된 후에 발생합니다.

백러닝: MEV의 양성 형태
이러한 사이클은 애초에 어디에서 오는 것일까요? 압도적으로, 다른 사람들의 거래에서 옵니다. Uniswap 풀에서의 대규모 스왑은 해당 풀의 가격을 더 넓은 시장에서 멀어지게 합니다. 이제 풀은 바이낸스에 비해, 커브 풀에 비해, 스시스왑에 비해 잘못된 가격이 책정되어 있으며, 이를 재조정하는 행위는 수익성 있는 차익 거래입니다. 이를 수행하는 검색자는 불균형을 생성한 스왑 직후에 거래를 배치합니다. 이것이 백러닝이며, 온체인 MEV의 지배적이고 양성적인 형태입니다.
MEV 글의 상수 곱 메커니즘을 상기하십시오. 풀은 와 를 가진 예비금 를 보유하며, 현물 가격은 입니다. 누군가 기본 자산의 대량 를 풀에 판매합니다. 불변량에 의해 풀은
를 지불하고, 새로운 현물 가격은 더 낮아집니다. 판매자가 가격을 낮춘 것입니다. 외부 시장 가격이 여전히 라면, 풀은 이제 보다 낮은 가격을 제시하며, 이익을 극대화하는 백런은 풀의 한계 가격이 로 다시 상승할 때까지, 즉 예비금이 다시 ](/blog/mev-sandwich-frontrunning-mempool)를 만족할 때까지 풀에서 구매합니다. 차익 거래자는 풀의 실행 곡선과 평평한 외부 가격 사이의 영역을 포착합니다. 즉, 대규모 스왑이 풀을 이동시켜 테이블에 남겨둔 가치입니다.
핵심적인 구조적 사실, 즉 백러닝을 장부의 양성적인 측면에 두는 사실은 순수한 백런은 대상의 실행을 저하시키지 않는다는 것입니다. 이는 피해자의 스왑 이후에 엄격하게 실행됩니다. 백런이 실행될 때쯤에는 스왑퍼의 가격은 이미 고정되어 있습니다. 백러너가 하는 어떤 것도 되돌아가서 가격을 악화시킬 수 없습니다. MEV 글의 유해한 샌드위치와 대조해 보십시오. 샌드위치에서는 피해자의 채우기를 악화시키기 위해 피해자 앞에 프론트런이 삽입되어 백런이 확대된 불균형을 수확할 수 있습니다. 동일한 백런 메커니즘이지만 도덕성은 반대입니다. 샌드위치는 피해자의 비용으로 잘못된 가격을 만듭니다. 양성 백런은 피해자가 어쨌든 만들었을 잘못된 가격을 단순히 정리합니다. 차익 거래자는 온체인 가격이 외부 세계를 추적하는 메커니즘입니다. 이는 금융의 모든 곳에서 교차 거래소 차익 거래를 안정화하는 힘으로 만드는 것과 동일한 역할입니다.
이것이 현대 MEV 보호 스택이 샌드위치를 억제하면서 백런을 보존하고 재분배하려고 노력하는 이유이기도 합니다. Flashbots의 MEV-Share 및 주문 흐름 경매는 사용자가 거래에 대한 부분적인 힌트를 노출하고, 검색자가 백런 권리에 입찰하도록 초대하며, 발생한 이익의 대부분을 기회를 생성한 사용자에게 환불합니다. 백런은 여전히 발생합니다. 가격은 여전히 재조정됩니다. 그러나 가치는 그것을 생성한 거래로 다시 흘러 들어가며, 가장 빠른 사람에게 도난당하지 않습니다.
사이클은 어디에서 오는가
거의 모든 수익성 있는 사이클은 가격을 움직인 다른 온체인 이벤트의 하류에 있습니다. 출처를 아는 것은 전체 그래프를 맹목적으로 폴링하는 것과 실제로 엣지를 생성하는 소수의 트리거를 관찰하는 것의 차이입니다.
- 대규모 스왑. 위에 설명된 정식 출처: 풀을 더 넓은 시장에서 벗어나게 할 만큼 큰 모든 거래는 이를 재조정하기 위한 백런을 엽니다. 스왑이 클수록, 풀이 얇을수록 사이클은 커집니다.
- 오라클 업데이트. 오라클에서 가격을 책정하는 모든 거래소(머니 마켓, 영구 DEX)는 피드가 움직이는 순간 차익 거래가 가능해집니다. 청산 글에서 분석된 청산을 유도하는 오라클 업데이트 백런은 스왑 대신 가격 피드에 적용된 동일한 움직임입니다. 업데이트는 시작 신호이며, 검색자는 그 직후에 착륙합니다.
- 새로운 또는 제거된 유동성. 대규모 LP 발행 또는 소각은 풀의 깊이를 변경하고 일시적으로 가격을 벗어나게 할 수 있습니다. JIT(Just-In-Time) 유동성은 적대적인 버전으로, 단일 보류 중인 스왑 주변에 깊이를 추가하고 직후에 제거합니다.
- 교차 풀 라우팅 잔여물. 스왑을 여러 풀에 분할하는 라우터는 모든 풀을 정확히 동일한 가격으로 남겨두는 경우가 거의 없으며, 남겨진 작은 불균형은 백런 가능한 사이클입니다.
실용적인 시사점: 차익 거래 봇은 주로 이벤트 리스너이지 그래프 솔버가 아닙니다. 이러한 트리거를 관찰하고, 각 트리거가 영향을 미치는 하위 그래프만 다시 계산하고, 번들을 실행합니다. 이것이 그래프 알고리즘 글의 증분 업데이트 설계가 전체 그래프에 대한 원시 검색 속도보다 훨씬 더 중요한 이유입니다.
경매가 마진을 먹어치웁니다
이제 불편한 부분입니다. 당신은 사이클을 찾았습니다. 다른 모든 사람들도 찾았습니다. 기회는 결정론적이고, 아토믹하며, 자본이 필요 없습니다. 즉, 남은 유일한 변수는 누가 승리 슬롯에 착륙하느냐이며, 이는 우선순위 경매로 결정됩니다.
제안자-빌더 분리 및 MEV-Boost(향후 [MEV 공급망: PBS 및 MEV-Boost에서 자세히 설명될 배관)로의 전환 이후, 검색자들은 더 이상 멤풀에서 공개 가스 전쟁을 벌이지 않습니다. 그들은 비공개로 블록 빌더에게 번들을 제출하고, 높은 우선순위 수수료 또는 빌더에게 직접 지불하는 방식으로 입찰합니다. 빌더는 만들 수 있는 가장 가치 있는 블록을 조립하여 제안자에게 전달합니다. 검색자의 입장에서 이것은 알려진, 결정론적인 상을 실행할 주소가 될 권리에 대한 봉인 입찰 경매입니다.
모델링해 봅시다. 총 차익 거래 이익을 $라고 합시다. 예를 들어 위에서 설명한 사이클의 673입니다. 각 검색자의 비용(가스, 플래시 론 수수료)을 라고 합시다. 슬롯을 얻기 위해 당신은 동일한 를 계산한 다른 모든 검색자에게 를 입찰합니다. 당신이 이겼을 때의 순이익은
당신은 를 가능한 한 낮게 유지하고 싶습니다. 또한 이기고 싶습니다. 그러나 당신의 경쟁자들은 동일한 에 대해 동일한 계산을 합니다. 모든 사람이 정확히 계산할 수 있는 공통 가치 상에 대한 봉인 입찰 경매에서는 균형 입찰이 거의 모든 잉여를 소비할 때까지 상승합니다. 이며, 승자는 다음으로 높은 입찰자보다 약간 더 높은 마진인 $만 유지합니다. 그 require(end >= start + minProfit)673은 사이클을 찾은 사람에게 남지 않습니다. 거의 모든 것이 빌더에게, 궁극적으로는 순서를 판매한 제안자에게 직접 입찰됩니다. 이것은 시장 실패가 아닙니다. 경쟁 경매가 해야 할 일입니다.
되돌림은 무료가 아닙니다. 실패율 경제학
순진한 모델이 생략하는 두 번째 비용이 있으며, 이는 실제로 운영자를 구분하는 비용입니다. 경매에서 졌을 때, 당신의 번들은 단순히 착륙하지 않습니다. 당신은 아무것도 지불하지 않습니다. 이것이 오래된 공개 가스 전쟁 대신 번들 제출의 핵심입니다. 그러나 시뮬레이션이 오래된 번들로 경매에서 이겼을 때(읽기와 포함 사이에 예비금이 이동했을 때), 당신의 보호 장치가 작동하고 거래가 온체인에서 되돌려지며, 당신은 되돌림에 대한 가스를 지불합니다. 아토믹성은 당신의 원금을 보호하지만, 가스는 보호하지 않습니다.
따라서 검색자의 기회당 실제 기대 가치는 다음과 같습니다.
여기서 는 착륙했지만 되돌려진 번들에 소모된 가스입니다. 입찰 를 높이면 더 많은 슬롯을 얻지만, 더 많은 오래된 슬롯도 얻게 되어 되돌림 항을 증가시킵니다. 살아남는 운영자는 더 많은 사이클을 찾는 사람이 아니라(모든 사람이 동일한 사이클을 찾습니다) 더 낮은 ](/blog/onchain-liquidations-aave-compound)(더 저렴하고, 더 엄격한 실행 경로), 더 낮은 되돌림 확률(더 신선한 시뮬레이션, 더 나은 포함 예측), 그리고 기대되는 되돌림 비용이 얇은 잉여를 압도하는 한계 기회에 입찰하지 않는 규율을 가진 사람입니다. 우위는 이러한 2차 비용에 전적으로 존재합니다.
경험적 형태는 모델과 일치합니다. 많은 봇이 동일한 온체인 기회를 동일한 이익 수치로 시뮬레이션할 때, 승리 번들은 총 이익의 대부분을 빌더와 검증자에게 정기적으로 제공합니다. 이는 [청산에서 측정된 것과 동일한 90% 이상의 누출이며, 동일한 이유 때문입니다. 즉, 공통 상에 대한 완벽한 정보와 봉인 입찰 경매는 한계 패자의 비용까지 마진을 경쟁적으로 낮춥니다. 검색자의 우위는 모든 사람이 보는 의 크기가 아닙니다. 그것은 (더 저렴한 실행, 더 나은 라우팅, 더 낮은 실패율) 또는 군중보다 먼저 를 보는 것에 대한 사적인 이점입니다.
이는 이익이 여전히 살아남는 곳을 정확히 알려줍니다.
- 롱테일 체인 및 미성숙한 빌더 시장. 소수의 정교한 검색자만 운영하고 빌더 경매가 얇거나 없는 체인에서는 입찰 가 낮게 유지됩니다. 당신을 더 높게 입찰할 사람이 없기 때문입니다. 이더리움 메인넷에서 를 얻는 동일한 사이클은 조용한 L2 또는 alt-L1에서 ](/images/blog/onchain-arbitrage-atomic-flash-loans-priority-auction.webp)의 대부분을 얻을 수 있습니다. 우위는 경쟁이지 영리함이 아닙니다.
- 경쟁이 적은 풀 및 이국적인 자산. 수익성 있는 출구가 얇고 경로 의존적인 DEX 유동성을 먹어야 하는 기회는 정확하게 시뮬레이션하기 어렵습니다. 비유동성 토큰에 대한 출구 슬리피지를 포함하여 전체 왕복을 모델링하는 검색자는 순진한 봇이 놓치거나 잘못된 가격으로 되돌려지는 사이클을 포착합니다. 여기서는 우위가 진정으로 실행 품질이지 지연 시간이 아닙니다.
- CEX-DEX 차익 거래. 가장 큰 단일 범주이며, 아토믹성을 깨뜨립니다. 다음 섹션에서 자체적으로 다룹니다.
아토믹 온체인 게임에 대한 솔직한 요약: EVM 내부, 빌더 배관, 경매 이론을 어려운 방식으로 배우는 훌륭한 방법입니다. 그러나 생계를 유지하기에는 잔인한 방법입니다. 당신이 판매하는 것, 즉 결정론적 사이클을 찾고 실행하는 능력은 경쟁자들도 판매하는 것과 정확히 같으며, 경매는 이를 비용으로 책정하기 때문입니다.
는 없습니다. 검색자는 Uniswap에서 스왑을 백런하여 온체인에서 WETH를 싸게 구매하고, 별도로 바이낸스에서 WETH를 판매하여 스프레드를 실현합니다. 그리고 이 두 이벤트 사이에 가격이 움직일 수 있습니다. CEX-DEX 차익 거래는 아토믹 차익 거래가 제거하는 바로 그 재고 위험을 수반합니다.
이러한 위험은 비즈니스의 전체 형태를 바꿉니다.
- 두 거래소 모두에 재고를 미리 배치해야 합니다. CEX 다리를 플래시 론할 수 없습니다. 온체인 구매가 확인되는 즉시 바이낸스에서 WETH를 판매하려면 이미 바이낸스에 WETH를 보유하고 있어야 합니다(그리고 온체인에 인용 통화를 보유하고 있어야 하며, 다른 방향의 경우 그 반대). 플래시 론이 아토믹 차익 거래에서 추방했던 자본은 여러 거래소에 노출된 채로 앉아 있는 재고라는 엄격한 요구 사항으로 다시 돌아옵니다.
- 개방된 다리를 헤지해야 합니다. 온체인 채우기와 CEX 채우기 사이에 당신은 자산에 대해 방향성으로 롱 또는 숏 포지션을 취합니다. 진지한 CEX-DEX 운영자는 이를 지속적으로 델타 관리되는 장부로 운영합니다. 그들은 영구 선물로 노출을 헤지하고, 해당 헤지의 자금 조달 비용을 사업 비용으로 처리하며, 현물과 선물 간의 베이시스를 관리합니다. 이것은 새로운 문제가 아닙니다. 이는 교차 거래소 자금 조달 비율 차익 거래의 메커니즘과 정확히 같습니다. 여기서 전체 게임은 거래소 간에 상쇄되는 다리를 보유하고 자금 조달을 통해 헤지를 조달하는 것입니다. CEX-DEX 차익 거래는 한 다리가 블록에 고정된 상태에서 그 규율을 적용하는 것입니다.
- 우위는 부분적으로 정보적이고 구조적입니다. CEX 가격이 DEX 가격을 선도하기 때문에(중앙 집중식 주문서는 지속적으로 업데이트되고, AMM 견적은 누군가 거래할 때만 움직입니다), CEX 주문서를 읽는 검색자는 온체인 가격이 따라잡기 전에 다음 백런이 어느 방향으로 가야 하는지 압니다. 그리고 점점 더 빌더 자체가 이 흐름을 내재화합니다. CEX-DEX 데스크도 운영하는 빌더는 자체 거래를 중심으로 블록을 주문할 수 있습니다. 이것은 검색자와 빌더 사이의 경계를 모호하게 하며, [MEV 공급망
require(end >= start + minProfit)의 중앙 집중화 요인 중 하나입니다. 즉, 가장 많은 주문 흐름을 보고 가장 많은 주문을 제어하는 주체가 가장 많은 비아토믹 차익 거래를 포착합니다.
따라서 트레이드오프는 아토믹 사례와 정확히 반대입니다. 아토믹 차익 거래는 안전하지만(손실 시 되돌림, 재고 없음, 자본 없음) 무자비하게 경쟁적입니다(결정론적 상, 경매가 마진을 먹어치웁니다). CEX-DEX 차익 거래는 위험하지만(실제 재고 위험, 실제 자본, 자금 조달 및 관리해야 할 헤지) 훨씬 더 크고 덜 완벽하게 경쟁적입니다. 이는 위험과 자본 요구 사항이 위험 없는 아토믹 루프만 실행할 수 있는 봇을 배제하기 때문입니다. 추가 수익은 추가 위험에 대한 보상입니다. 이는 금융에서 가장 평범한 사실이며, 위험 없는 돈이 테이블에 있다고 가장하는 데 한 섹션을 보낸 체인에서 마침내 다시 주장되고 있습니다.
요약
주장을 핵심 요점으로 압축합니다.
- 아토믹성은 전체 안전 모델입니다. 다중 홉 차익 거래는 ](/blog/complex-arbitrage-graph-algorithms) 보호 장치가 있는 단일 거래입니다. 수익성이 없게 만드는 모든 것은 되돌려지므로, 차익 거래자는 중간 사이클 재고 위험을 부담하지 않으며 마지막 다리를 손실로 판매하지 않습니다.
- 플래시 론은 이익을 자본과 분리합니다. 하나의 아토믹 거래 내에서 빌리고, 차익 거래하고, 상환합니다. 대출 기관은 당신과 동일한 되돌림에 의해 보호됩니다. 승자는 가장 많은 자본을 가진 검색자가 아닙니다. 자본은 해자가 아닙니다.
- 탐지는 쉽고 상품화된 절반입니다. [차익 거래를 위한 그래프 알고리즘의 음수 사이클 검색은 결정론적이며 모든 사람에게 동일합니다. 사이클을 찾는 것은 단지 경쟁할 자격을 부여할 뿐입니다.
- 백러닝은 양성적이고 지배적인 형태입니다. 대규모 스왑 또는 오라클 업데이트 직후에 착륙하는 것은 누구의 채우기도 저하시키지 않고 잘못된 가격의 풀을 재조정합니다. 이는 유해한 샌드위치와 반대이며, MEV-Share가 억제하기보다는 재분배하려고 노력하는 것입니다.
- 경매가 마진의 거의 전부를 먹어치웁니다. 공통적이고 계산 가능한 상에 대한 봉인 입찰 빌더 경매에서는 입찰이 ](/blog/funding-rate-arbitrage-cross-exchange)로 수렴하고 90% 이상이 빌더와 제안자에게 유출됩니다. 이익은 경쟁이 얇은 곳에서만 살아남습니다. 즉, 롱테일 체인, 비유동성 풀, 그리고 시뮬레이션하기 어려운 출구입니다.
- CEX-DEX는 가장 큰 범주이며 아토믹하지 않습니다. CEX의 한 다리는 실제 재고 위험, 실제 자본, 그리고 자금 조달해야 할 헤지를 의미합니다. 교차 거래소 자금 조달 플레이북이 한 다리가 블록에 고정된 상태로 적용되며, 가장 많은 흐름을 보는 빌더에게 [MEV 공급망ZXQPROTECTED00077QXZ을 끌어당기는 힘 중 하나입니다.
온체인 차익 거래는 밖에서 보면 숨겨진 사이클을 찾는 퍼즐처럼 보입니다. 안에서 보면 경매이며, 퍼즐은 모든 사람에게 동시에 해결되었습니다. 사이클이 어디에 있는지 아는 것은 결코 우위가 아니었습니다. 슬롯을 얻거나 다른 사람이 입찰하지 않는 곳에서 거래하는 것이 항상 우위였습니다.
참고 자료
- Daian, Goldfeder, Kell, Li, Zhao, Bentov, Breidenbach, Juels (2019), Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges. arXiv:1904.05234.
- Heimbach, Pahari, Schertenleib (2024), Non-Atomic Arbitrage in Decentralized Finance. arXiv:2401.01622 (IEEE S&P 2024).
- Robinson & Konstantopoulos (2020), Ethereum is a Dark Forest.
- Aave v3 플래시 론 및 Balancer / Uniswap v3 플래시 스왑 문서 (수수료 일정).
- Flashbots 문서: MEV-Boost, MEV-Share, 주문 흐름 경매 (docs.flashbots.net).
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.