맨위로 가기
  • 공유 공유
  • 추천 추천

시간 가중 평균 시장 메이커(TWAMM)에 대한 종합 개요

코인이지(CoinEasy)

2025.02.27 14:11:34

Dave White, Dan McCarthy, 그리고 Hayden Adams 작성

소개

온체인에서 1억 달러 상당의 USDC로 ETH를 구매하려 한다고 가정해 봅시다. 유니스왑(Uniswap) 같은 기존 자동화 시장 메이커(AMM)에서 한 번에 이 주문을 전부 실행하면, 가격 충격(Price Impact)이 매우 커지고 샌드위치 공격(Sandwich Attack)도 당할 수 있어 비용이 막대해집니다.

이에 대한 대안으로 주문을 여러 개의 작은 주문으로 나누어 실행할 수도 있지만, 이는 실행 과정에서의 운영 복잡도가 증가하고, 트랜잭션이 많아질수록 가스 비용이 증가합니다.

바로 이 문제를 해결하기 위해 시간 가중 평균 시장 메이커(TWAMM)가 제안되었습니다. TWAMM은 대규모 주문을 여러 블록에 걸쳐 부드럽게 나누어 자동으로 실행해 주는 방식으로, 기존 AMM의 원리를 이용하되, 주문을 ‘무수히 작은 부분’으로 나누어 시간이 지남에 따라 순차적으로 체결합니다. 이 글에서는 TWAMM의 작동 방식과 이점을 살펴보고, 시장 메이킹 기본 개념, 설계, 구현 및 잠재적 공격 시나리오 등을 종합적으로 다룹니다.

 

요약

• 기존 AMM에서의 대규모 주문

• 높은 가격 충격과 불리한 선택(Adverse Selection) 비용 발생

• 샌드위치 공격 및 프론트런(Front-running)에 노출

• 주문을 여러 번 나누어 실행하면, 운영 복잡도와 가스 비용 증가

• TWAMM(Time-Weighted Average Market Maker)

• 대규모 주문을 여러 블록에 걸쳐 자연스럽게 나누어 실행

• 가격 충격 및 운영 부담 감소

• 블록 사이에서 거래가 이루어져 샌드위치 공격 위험 완화

• 핵심 이점

• 오프체인 브로커가 제공하는 시간 가중 평균 가격(TWAP) 주문과 유사한 효과를 온체인에서 구현

• 대규모 장기 주문에 특화되어, 유동성 공급자(LP)와 트레이더 모두에게 효율적

 

시장 메이킹 기본 개념

1. 시장 메이커(Market Makers)

• 정의: 시장에서 두 자산 간 호가(매수·매도)를 지속적으로 제시하여, 언제든지 거래가 일어날 수 있도록 유동성을 공급하는 참여자.

• 예시: USDC–ETH 시장에서, 시장 메이커는 USDC를 ETH로, 또는 ETH를 USDC로 바꾸고자 하는 거래에 항상 응할 준비가 되어 있음.

2. 불리한 선택(Adverse Selection)

• 대규모이면서 긴급한 주문은 미래 가격 변동 정보를 가진 트레이더(인포메이션 트레이더)가 내는 경우가 많음.

• 결과: 시장 메이커는 이러한 위험을 회피하기 위해, 대규모 매수 주문에 대해 가격을 높게 책정하거나(‘페이딩’), 대규모 매도 주문에 대해서는 가격을 낮게 책정함.

 

자동화 시장 메이커(AMM)

1. 곱 일정(constant product) 공식

• 기본 공식:

여기서

• = 자산 X의 준비금(reserve)

• = 자산 Y의 준비금(reserve)

• = 상수(거래 전후로 변하지 않음)

• 순간 가격:

트레이드 방향에 따라 달라짐.

• 예시:

• AMM에 2,000 USDC(X)와 1 ETH(Y)가 있을 때, .

• 2,000 USDC를 ETH로 매수:

• 준비금이 (2,000, 1)에서 (4,000, 0.5)로 변화.

• 트레이더는 2,000 USDC로 0.5 ETH를 받으므로, 평균적으로 4,000 USDC/ETH 가격을 치름.

 

2. 가격 충격(Price Impact)과 불리한 선택

• 가격 충격: 주문 규모가 클수록, 준비금에 큰 변화를 줘 가격이 급격히 불리하게 변동됨.

• AMM의 방어 기제: 큰 주문(잠재적으로 정보가 있는 거래)에 대해 가격이 더욱 많이 움직이도록 설계되어, 시장 메이커의 위험을 완화.

 

기존 AMM에서 대규모 주문 실행 방식

1. 주문 분할(Manual Order Splitting)

• 일반적인 전략: 큰 주문을 여러 작은 주문으로 나누어 순차적으로 체결(예: 1,000만 USDC씩 10번에 걸쳐 1억 USDC 매수).

• 균형점:

• 소수의 큰 주문: 여전히 높은 가격 충격과 샌드위치 공격 위험.

• 다수의 작은 주문: 가스 비용 증가, 운영 부담 증가(매뉴얼 트레이딩, 실수 위험 등).

 

2. 부분 주문 규모의 트레이드오프(Sub-Order Size Tradeoff)

• 운영 복잡도: 아주 많은 소규모 주문을 관리하려면 인적·시스템적 부담이 큼.

• 트랜잭션 비용: 주문 1건마다 가스비를 지불해야 하므로, 주문 횟수가 많아질수록 총 비용 증가.

전통 금융에서의 유사 사례

• 전통 금융에서도, 큰 금액(예: 1억 달러 규모의 애플(Apple) 주식 매수)은 한 번에 시장가로 체결하지 않음.

• TWAP 주문: 시간 가중 평균 가격(Time-Weighted Average Price)을 목표로 장중에 일정 간격으로 매수를 분할함.

• 시장 영향 최소화

• 브로커가 자동으로 분할 주문을 관리 (인프라와 전문 인력 보유)

온체인 TWAP 주문

• 핵심 아이디어: 트레이더가 큰 주문을 여러 작은 트레이드로 꾸준히 분할하여 특정 기간 동안에만 체결하도록 설정.

• TWAMM: 이러한 컨셉을 온체인에서 구현하는 메커니즘. 내장된 AMM과 특수 수식을 사용해 무수히 작은 주문을 처리.

 

시간 가중 평균 시장 메이커(TWAMM)

1. 개요

• 내장 AMM: 곱 일정 공식(Constant Product)을 사용하는 표준 AMM이 TWAMM 안에 포함.

• 장기 주문(Long-Term Orders): 예를 들어, “2,000 블록에 걸쳐 100 ETH를 매도”와 같이, 여러 블록에 걸쳐 천천히 실행되는 주문.

• 무수히 작은 부분 주문: TWAMM은 이 장기 주문을 무수히 작은 ‘가상 주문(Virtual Orders)’으로 쪼개, 매 블록 사이에 실행되는 것처럼 처리.

• 중재(Arbitrage): 장기 주문으로 인해 내장 AMM의 가격이 다른 시장과 어긋나면, 차익 거래자들이 이 괴리를 제거하여 가격을 균형으로 되돌림.

 

2. 이더리움(Ethereum) 기초 지식

• 블록(Blocks): 대략 13초마다 한번씩 트랜잭션을 모아 블록을 생성.

• 마이너(Miners): 누구나 이더리움 네트워크에 참여해 블록 채굴 가능.

• 가스(Gas): 이더리움에서 계산/저장 자원 사용에 대해 지불하는 수수료.

 

3. 기본 설계

1. 장기 주문(Long-Term Orders)

• 특정 자산을 여러 블록에 걸쳐 일정량씩 매도/매수하는 주문.

• 예시: 2,000 블록 동안 블록마다 50,000 USDC씩 ETH 매수.

 

2. 주문 풀(Order Pools)

• 같은 방향(예: ETH→USDC 매도)의 장기 주문을 하나의 풀에 합산.

• 동일 풀 안에서, 각 주문은 자신의 비율만큼 체결된 자산을 배분받음.

 

3. 가상 주문(Virtual Orders)

• 블록마다 풀에 있는 주문들을 무수히 작은 조각으로 나눈 뒤, 순차적으로 내장된 AMM에 체결한다고 가정.

• 이론적으로는 “블록 사이”에서 끊임없이 작은 거래가 발생하는 형태.

 

4. 차익 거래(Arbitrage)

• 매수 주문이 많아 AMM 가격이 바깥 시장보다 높아지면, 차익 거래자가 외부에서 싼 가격에 사온 후 AMM에 매도해 이윤을 취하고, 가격 격차를 해소.

• 반대 방향도 유사하게 작동.

 

5. 주문 만료(Order Expiry)

• 설정된 블록에 도달하면 장기 주문이 종료.

• 원하면 사용자는 언제든지 새 주문을 만들거나 기존 주문을 취소 가능.

 

6. 경제학적 측면

• 장기·비긴급 주문을 받으므로, 불리한 선택 리스크가 줄어듦.

• TWAMM은 이 같은 비정보성(Non-Informed) 주문을 끌어들이고, LP는 안정적인 거래량과 수수료 수익을 확보.

 

4. 무한소(Infinitesimal) 단위의 가상 주문

1. 부드러움(Smoothness)

• 거래를 무한히 작게 나누면, AMM 가격이 매우 부드럽게 변동.

• 트레이더 입장에서 실제 시간 가중 평균 가격(TWAP)에 가까운 체결 가격을 얻게 됨.

2. 효율성(Efficiency)

• 매 블록마다 대량의 작은 거래를 실제로 처리하면 가스비가 매우 커짐.

• TWAMM은 “수학 공식”을 이용해, 그 사이 누적된 결과만 나중에 한 번에 계산(지연 계산(Lazy Evaluation)).

 

구현

1. 지연 계산(Lazy Evaluation)

• 개념: 외부 트랜잭션이 발생할 때(주문 생성/취소, 트레이드 등)만, 그 이전 블록부터 현재 시점까지의 가상 주문 체결 결과를 한꺼번에 계산.

• 블록 사이: 실제로는 계산하지 않고, ‘가상’으로만 주문이 실행된다고 간주.

• 장점: 불필요한 반복 계산이 없으므로 가스 비용 절감.

 

2. 가스 최적화

1. 주문 풀(Pooling Orders)

• 같은 방향 주문을 묶어 한 번에 계산.

• 예: ETH 매도 풀, USDC 매도 풀을 각각 따로 관리.

2. 장기 주문 만료(Expiration)

• 효율성을 위해, 예컨대 250블록 단위로만 주문 만료를 처리하도록 설계 가능.

• 이로써 블록마다 주문이 하나씩 만료될 때 생길 수 있는 과도한 계산 방지.

3. 장기 주문 취소

• 언제든 취소 가능하지만, 그 취소 거래의 가스는 취소한 사용자가 부담.

• 시스템 전체로 봤을 때 추가 부하가 크지 않음.

3. 가상 거래 수학(Virtual Trade Math)

• 핵심 변수:

• , : t 블록 동안 팔린 X, Y 자산의 총량

• : 시작 시점의 AMM 준비금

• : 가상 거래 후 최종 AMM 준비금

• 결과 계산:

• AMM의 곱 일정 규칙을 유지하면서, t 블록 동안 발생한 모든 가상 거래의 누적 결과를 닫힌 형태(Closed-Form)로 계산.

• 이렇게 계산된 최종 준비금 상태와, 풀에서 빠져나간/얻은 자산량을 통해 각 주문에 배분할 수 있음.

 

잠재적 공격 시나리오

1. 샌드위치 공격(Sandwich Attacks)

• 기존 샌드위치: 공격자가 트레이더의 거래를 앞뒤로 끼워 넣어(프론트런 후 가격 상승, 뒤에서 매도) 차익을 얻는 방식.

• TWAMM에서의 차이점:

• 무수히 작은 거래가 블록 사이에서 일어남.

• 공격자는 특정 블록 내에서 트레이드를 앞뒤로 정확히 배치하기 어려움.

• 다만, 멀티블록 MEV가 발전하면 변화 가능성 있음.

2. 정보 누출(Information Leakage)

• 장기 주문은 공개 정보: 큰 규모의 장기 매수/매도 주문이 걸려 있음을 누구든 알 수 있음.

• 완화책:

• 언제든 주문을 취소할 수 있어, 과도한 프론트런을 시도하는 이들을 역으로 이용(‘스푸핑’ 전략 등).

• 시장 전체가 공공 정보에 대한 가격 반영을 진행하므로, 지나치게 크게 이익을 보기는 어렵게 됨.

• 스푸핑 예시:

• 공격자가 대규모 매수 주문을 TWAMM에 걸어 프론트런 세력을 유인.

• 실제로는 미리 외부 시장에서 사들인 자산을 높은 가격에 되팔고, 원래 TWAMM 주문은 취소해버림.

• 프론트런 트레이더만 손해를 봄.

 

Python 레퍼런스 구현

TWAMM의 기본적인 작동 방식을 실험하기 위해(주문 풀링이나 고급 지연 계산 등의 가스 최적화는 제외), 파이썬 레퍼런스 구현과 주피터 노트북 예제를 제공합니다.

복수의 상쇄되는 장기 주문이나 차익 거래자 시나리오 등을 데모할 수 있습니다.

바로가기:

TWAMM Python Reference

 

결론

시간 가중 평균 시장 메이커(TWAMM)는 온체인 대규모 주문 실행의 주요 문제점을 해결하는 획기적인 솔루션입니다. 주문을 무한히 작은 단위로 쪼개 부드럽게 실행함으로써 다음과 같은 이점을 제공합니다.

• 부드러운 실행: 가격 충격 완화, 실제 시장의 시간 가중 평균 가격에 근접한 체결.

• 운영 복잡도 감소: 주문 분할이 자동으로 이루어지므로 인적 실수나 과도한 신경 부담 최소화.

• 가스 효율성: 수학적 공식과 지연 계산으로, ‘무한’ 소분 주문을 한꺼번에 처리 가능.

정보 노출이나 멀티블록 MEV 등 잠재적 이슈는 남아 있지만, TWAMM은 디파이(DeFi)가 전통 금융 수준의 대규모 주문 실행 메커니즘에 한 걸음 더 가까워지게 하는 중요한 진전입니다.

읽어주셔서 감사합니다! TWAMM 개선에 대한 질문이나 제안이 있으시면 자유롭게 의견을 남겨주세요. 커뮤니티의 참여가 이 설계를 발전시키는 데 핵심적인 역할을 합니다. 행복한 트레이딩 되시길 바랍니다!

안내사항

  • (주)토큰포스트에서 제공하는 리서치에 대한 저작권 및 기타 지적재산권은 (주)토큰포스트 또는 제휴 파트너에게 있으며, 이용자를 위한 정보 제공을 목적으로 합니다.
  • 작성된 내용은 작성자 본인의 견해이며, (주)토큰포스트의 공식 입장이나 의견을 대변하지 않습니다.
  • (주)토큰포스트는 리서치 및 관련 데이터를 이용한 거래, 투자에서 발생한 어떠한 손실이나 손해에 대해서 보상하지 않습니다.
  • 가상자산은 고위험 상품으로써 투자금의 전부 또는 일부 손실을 초래 할 수 있습니다.
코인 이미지 Bitcoin (BTC)
124,081,023 (-2.46%)
코인 이미지 Ethereum (ETH)
3,367,550 (-4.80%)
코인 이미지 Tether USDt (USDT)
1,434 (-0.01%)
코인 이미지 XRP (XRP)
3,208 (-2.11%)
코인 이미지 BNB (BNB)
876,261 (-2.23%)
코인 이미지 Solana (SOL)
201,075 (+1.32%)
코인 이미지 USDC (USDC)
1,435 (0.00%)
코인 이미지 Dogecoin (DOGE)
299.7 (-0.83%)
코인 이미지 Cardano (ADA)
965.1 (-1.25%)
코인 이미지 TRON (TRX)
328.9 (-0.09%)
왼쪽
2025 2월  27(목)
오른쪽
진행기간 2025.02.27 (목) ~ 2025.02.28 (금)

29명 참여

정답 83%

오답 17%

진행기간 2025.02.26 (수) ~ 2025.02.27 (목)

45명 참여

정답 82%

오답 18%

진행기간 2025.02.25 (화) ~ 2025.02.26 (수)

47명 참여

정답 72%

오답 28%

진행기간 2025.02.24 (월) ~ 2025.02.25 (화)

47명 참여

정답 43%

오답 57%

기간 2024.08.30(금) ~ 2024.09.21(토)
보상내역 $10 상당의 밈코인 ($BOME, $DOGE, $MEW, $PEPE, $TRUMP 택1)
신청인원

35 / 200

자이언트맘모스(GMMT) 일반 마감

[Episode 15] GM Wallet 다운받고, GMMT 에어드랍받자!

기간 2024.08.09(금) ~ 2024.08.16(금)
보상내역 500 GMMT 에어드랍 (500명)
신청인원

101 / 500

자이언트맘모스(GMMT) 일반 마감

[Episode 14] GM Wallet 다운받고, GMMT 에어드랍받자!

기간 2024.08.01(목) ~ 2024.08.07(수)
보상내역 500 GMMT 에어드랍 (500명)
신청인원

32 / 500

기간 2024.07.18(목) ~ 2024.07.28(일)
보상내역 추첨을 통해 총 1000 USDT 에어드랍
신청인원

41 / 100