블록체인/레벨 IX · 속도와 스펙터클/9.2 공정한 시장/수업 6
영구 커브와 자체 가격 결정 시장
마이그레이션 이벤트와 외부 가격 피드를 없애다
준비물솔라나 또는 이더리움용 블록 탐색기 인터페이스상수곱 AMM 수학에 관한 문서준비금 비율을 추적할 스프레드시트
호기심
- 커브에서 풀로 유동성을 이동시키면 왜 악용의 기회가 생기는 걸까요?
- 외부 오라클을 신뢰하지 않고 컨트랙트가 어떻게 스스로 가격을 결정할 수 있을까요?
- 고정된 내부 유동성 깊이와 가변적인 시장 유동성 공급 사이의 트레이드오프는 무엇일까요?
탐구
- 많은 런치패드 본딩 커브는 상수곱 공식으로 토큰 가격을 책정하며, 이때 가상 준비금이 시작 가격을 정합니다. 토큰이 특정 시가총액 임계값에 도달하면 일반적으로 ‘졸업’하면서 축적된 준비금을 자동화 마켓메이커 풀로 이전합니다. 이 마이그레이션 과정에서는 거래가 일시 중단되고, 컨트랙트 간에 자산 소유권을 넘기는 복잡한 상태 변경이 실행됩니다.
- 이 졸업 순간은 구조적으로 취약합니다. 유동성이 이동 중인 짧은 시간대가 생기고, 대기 중인 트랜잭션을 감시하는 숙련된 행위자들이 이 틈을 스나이핑할 수 있습니다. 설계가 허술한 시스템에서는 이 전환 과정의 버그로 자금이 영구히 잠기거나 도난당할 수 있습니다. 영구 커브는 이 이벤트 자체를 없앱니다. 컨트랙트가 마이그레이션하지 않으므로 마이그레이션 특유의 취약한 시간대도 사라집니다. 다만 커브 거래에 대한 일반적인 샌드위치 공격은 여전히 남아 있습니다.
- 영구 커브는 오직 자체 내부 준비금, 즉 네이티브 자산(SOL 등) 준비금과 토큰 준비금의 비율만으로 가격을 산출합니다. 컨트랙트가 거래의 양쪽을 모두 보유하므로, 이 잔액에서 곧바로 매수가와 매도가를 제시합니다. 이 자체 가격 결정 메커니즘은 탈중앙화 금융에서 흔한 조작 경로인 외부 가격 피드(오라클)에 대한 의존을 없애 줍니다.
- 오라클 조작으로 DeFi 프로토콜에서 상당한 자본이 빠져나갔습니다. 2022년 10월, 한 공격자는 Mango Markets의 오라클이 참조하던 유동성이 얇은 시장에서 MNGO 토큰 가격을 끌어올려 자신의 담보 가치를 부풀린 뒤, 이를 담보로 약 1억 1천만 달러를 빌렸습니다. 자체 준비금만으로 가격을 매기는 커브에는 왜곡할 외부 피드가 없습니다. 거래로 가격을 움직일 수는 있지만, 그러려면 모든 토큰에 대해 커브가 제시하는 가격을 그대로 지불해야 합니다.
- 핵심 트레이드오프는 유동성 깊이입니다. 영구 커브에서 사용 가능한 유동성은 초기 파라미터와 그 단일 컨트랙트 안에서 이어지는 거래들에 의해 정해집니다. 외부 마켓메이커나 다른 풀이 제공하는 집계된 유동성의 혜택을 받지 못합니다. 대규모 거래는 여러 공급자가 유동성을 대는 깊은 풀에서보다 가격을 더 크게 움직이며, 유동성 깊이는 오직 자체 준비금이 늘어날 때만 커집니다.
- 이 메커니즘을 확인하려면 블록 탐색기에서 본딩 커브 구현을 살펴보세요. 상수곱의 상수(k)를 초기화하는 ‘가상 준비금’ 변수에 주목하세요. 거래가 일어날 때마다 가상 준비금 필드와 실제 준비금 필드는 같은 양만큼 변합니다. 둘 사이의 일정한 차이, 즉 초기 가상 금액이 커브의 형태를 고정하며, 가격은 오직 컨트랙트 자체의 상태에서만 나옵니다.
핵심 사실
- 졸업은 준비금을 본딩 커브에서 AMM 풀로 마이그레이션하는 과정으로, 스나이핑에 취약한 일시적 상태를 만듭니다.
- 영구 커브는 모든 유동성을 업그레이드 불가능한 단일 컨트랙트 안에 유지함으로써 마이그레이션 자체를 없앱니다.
- 자체 가격 결정은 외부 오라클 대신 네이티브 자산 준비금과 토큰 준비금의 비율(상수곱)을 사용합니다.
- 2022년 10월 Mango Markets 익스플로잇은 대출 담보로 쓰이는 자산의 가치를 조작 가능한 오라클 가격 피드로 평가할 때의 위험을 드러냈습니다.
- 내부 가격 결정은 외부 데이터 조작과 관련된 공격 표면을 없애지만, 유동성 깊이를 컨트랙트 자체 준비금으로 제한합니다.
- 본딩 커브의 가상 준비금은 초기 유동성을 부풀리며, 그 값이 고정되어 있기 때문에 커브의 수학적 형태가 일관되게 유지됩니다.
연습 아홉, 여섯, 셋, 하나
9모으기토큰 출시 메커니즘 9가지를 찾아보세요. 각각 마이그레이션 이벤트(졸업)를 사용하는지 영구 구조를 사용하는지, 그리고 가격이 어떻게 산출되는지 적으세요.
6묶기이 9개를 유동성 관리 방식과 가격 산출 방식에 따라 6개 그룹으로 묶으세요.
3추리기6개 그룹을, 단순성에서 오는 보안성과 유동성 집계에서 오는 효율성 사이의 3가지 근본적인 트레이드오프로 압축하세요.
1결정화마이그레이션 이벤트를 없애면 어떤 공격이 사라지는지(사라지는 공격이 있다면) 한 문장으로 쓰세요.
팩트 체크
날짜, 수치 및 주장은 아래에 명시된 출처들을 통해 확인되었습니다.
- E. Hertzog, G. Benartzi & G. Benartzi, 'Bancor Protocol' white paper (2017)
- H. Adams, N. Zinsmeister & D. Robinson, 'Uniswap v2 Core' (2020)
- Contemporary reporting on the Mango Markets exploit (October 2022)