
Curve 안정화폐 설계 백서: 지속적인 정산/정산이 필요 없는 AMM
Curve 스테이블코인 설계 백서의 영문 및 중문 대조판으로, 이해를 돕기 위한 한글 주석을 추가하였으며 원본의 일부 오타도 수정하였습니다. 참고용으로 활용하시기 바랍니다.
개요 (Overview)
본 스테이블코인 설계에서 가장 중요한 개념은 세 가지입니다: 대출-청산 AMM 알고리즘(LLAMMA), PegKeeper(페깅 유지 메커니즘), 통화 정책입니다. 핵심 설계는 LLAMMA에 있습니다. 즉, 기존의 초과 담보 기반 대출 시스템에서 사용되는 일회성 청산 절차를 특수 목적 AMM으로 대체하는 것입니다.


그림 2: 청산 임계값을 기준으로 가격 변동에 따른 손실 의존성. 관찰 기간은 3일입니다.
본 설계에 따르면, 담보를 맡기고 차입한 경우, 청산 임계점까지 담보 가격이 하락하더라도 이후 가격이 반등하면 명확한 손실은 발생하지 않습니다.
예를 들어, 2017년 9월 이후 ETH/USD의 역사적 데이터를 기반으로 시뮬레이션한 결과에 따르면, CDP가 3일 동안 방치되었고 이 기간 동안 가격이 청산가보다 10% 낮아진 상황이 발생했을 때, 담보의 단 1%만 손실되었습니다.
지속적 청산/무청산 AMM (LLAMMA)
스테이블코인 설계의 핵심 아이디어는 Lending-Liquidating AMM 알고리즘입니다. 이 아이디어는 담보 자산(예: ETH)과 스테이블코인(여기서는 USD라 칭함) 간의 전환을 수행합니다. 담보 가격이 높으면 사용자의 예금은 모두 ETH로 유지되지만, 가격이 하락하면 USD 스테이블코인으로 전환됩니다. 이는 기존 AMM 설계와 크게 다릅니다. 기존 AMM에서는 위쪽(곡선 상단부)에 USD 스테이블코인을, 아래쪽(곡선 하단부)에 ETH를 배치합니다.
아래 설명은 완전히 자명한 수학적 증명을 제공하지는 않으며, 많은 요소들(특히 불변량)은 다양한 측면에서 고려된 결과입니다. 이를 완전한 수학적 모델링으로 설명하기 위해서는 추가 연구가 필요할 수 있으나, 아래 내용은 스마트 계약 구현을 충분히 지원한다고 여겨집니다.
이 메커니즘은 외부 오라클 가격 피드를 통해서만 실현 가능합니다. 간략히 말해, 일반적인 AMM(예: 결합 곡선이 쌍곡선 형태)을 구성하고 "중심 가격"을 하향 또는 상향 조정하면, 유동성이 두 방향 모두에서 제공되는 가운데 토큰이 USD에서 ETH로 "절연적"(adiabatic)으로 전환됩니다(그림 3 참고). 이는 양자 물리학의 "회피 교차"(avoided crossing, 또는 Landau-Zener 전이)와 유사한 개념입니다(비록 개념적 유사성일 뿐이며, 수학적 모델링은 매우 다를 수 있음).

유동성이 집중된 범위를 여기서는 "밴드(band)"라고 부릅니다. 각각의 고정된 po 밴드 내에서는 pcd에서 pcu 사이에 유동성이 존재합니다. 우리는 pcd(po)와 pcu(po)를 po의 함수로 정의하며, 이 함수는 선형보다 더 급격한 기울기를 가져야 하므로 po보다 더 빠른 속도로 증가해야 합니다(그림 4 참고). 또한, p↓(po)=po와 p↑(po)=po를 절연 극한에서 밴드의 양끝(예: p=po)으로 정의합니다.

그림 3: "외부 가격 소스를 갖는 AMM"의 작동 방식. 외부 가격 pcenter는 유동성이 형성되는 중심 가격을 결정합니다. AMM은 pcd ≤ pcenter ≤ pcu 범위 내에서 유동성을 집중시킵니다. 현재 가격 p가 pcd와 pcu 범위를 벗어날 경우, AMM은 pcu에서 완전히 스테이블코인이 되거나(pcu 이상), pcd에서 완전히 담보 자산이 됩니다(pcd 이하). pcd ≤ p ≤ pcu 범위 내에서는 AMM 가격이 현재 가격 p와 동일해집니다.

그림 4: 우리가 목표로 하는 AMM. po가 증가함에 따라 pcd와 pcu가 더 빠르게 증가하는 AMM을 구축하고자 합니다. 이 경우, ETH가 비쌀 때는 AMM이 전체적으로 ETH로, 저렴할 때는 전체적으로 USD로 전환됩니다.
Uniswap V3와 유사하게 일부 밴드에서 시작하여 "가상 잔액(virtual balance)"을 추가함으로써 결합 곡선의 쌍곡선 형태를 유지합니다. USD의 수량을 x, ETH의 수량을 y라고 하면, "강화된" 상수 곱 불변량은 다음과 같습니다:

또한 x₀ ≡ x + f 및 y₀ ≡ y + g로 표기하여 익숙한 I = x₀y₀ 형태의 불변량을 작성할 수 있습니다. 그러나 f와 g는 일정하게 유지되지 않으며, 외부 오라클 가격 변화에 따라 변합니다(불변량 I 역시 마찬가지이므로, 오라클 가격 po가 일정할 때만 진정한 불변량이라 할 수 있음). 특정 po 값 하에서, f와 g는 해당 밴드 내에서 일정합니다. 앞서 언급했듯이, p↑를 밴드의 상단 가격, p↓를 하단 가격이라고 정의합니다. A(유동성 집중도를 나타내는 지표)는 다음과 같이 정의됩니다:

우리가 추구하는 특성은 다음과 같습니다: 더 높은 po 가격은 동일한 잔액 하에서 더 높은 가격을 유도해야 하며, 따라서 현재 시장 가격(평균적으로 po를 따름)은 그보다 낮아지고 밴드는 전체적으로 ETH 방향으로 거래됩니다(반대 방향도 마찬가지). 이러한 조건을 만족하는 방법은 여러 가지가 있지만, 다음 조건을 만족해야 합니다:

여기서 y₀는 ETH 단위로 표현된 현재 밴드 예금을 나타내는 po 관련 지표이며, 다음과 같이 정의됩니다: 현재 가격 p, p↑ 및 po가 모두 같을 때, y = y₀이고 x = 0이 됩니다(그림 4에서 po = p↑인 점 참조). 따라서 그 순간의 y를 대입하면:

가격은 dx₀/dy₀와 같으며, 상수 곱 불변량의 경우 다음과 같습니다:

po = p↑ 또는 po = p↓일 때 x = 0 또는 y = 0을 대입하여 위 공식이 자명하게 성립함을 확인할 수 있습니다.
일반적으로 밴드 하나에 대해 p↑, p↓, po, 상수 A, 그리고 x와 y(밴드 내 현재 예금)를 알고 있습니다. 나머지를 계산하기 위해 yo를 찾아야 합니다. 이는 불변량의 이차방정식을 풀어 구할 수 있습니다:

이것은 y₀에 대한 이차방정식으로 변환됩니다:

스마트 계약에서는 get_y0 함수 내에서 이 이차방정식을 해결합니다.
오라클 가격 po가 일정하게 유지되는 경우, AMM은 정상적으로 작동합니다(예: 가격 상승 시 ETH 매도, 하락 시 ETH 매수). x = 0을 현재 하락 가격 pcd에, y = 0을 현재 상승 가격 pcu에 각각 대입하여 불변량 방정식을 적용하면, 현재 po와 p↑ 값에서의 AMM 가격을 다음과 같이 설명할 수 있습니다:

다른 중요한 실용적 문제는 다음과 같습니다: 가격 변화가 매우 느려서 오라클 가격 po가 밴드 내에서 "절연적"으로 완전히 따라갈 수 있을 경우, 주어진 현재 x와 y 값에서 시작하여(p = po에서 시작), 최종적으로 가격이 상승하면 y↑만큼의 ETH, 하락하면 x↓만큼의 USD를 얻게 되는지입니다. 이는 수학적으로 바로 해결 가능한 문제가 아니지만, 수치 계산 결과는 비교적 간단한 답을 제시합니다:

대출 안전성 평가 및 AMM의 잠재적 손실 분석 시, 이러한 결과를 활용합니다.
이제 하나의 밴드에 대한 설명을 완료했습니다. 전체 가격 범위를 여러 밴드로 분할하며, 각 밴드의 p↓와 p↑가 서로 맞닿도록 구성합니다. 기준 가격 pbase와 밴드 번호 n을 설정하면 다음과 같습니다:

모든 밴드에 대해 공식 7과 공식 5의 해가 존재함을 증명할 수 있습니다:

이는 밴드 사이에 틈이 없음을 의미합니다.
거래는 공식 1의 불변성을 유지하면서 발생하지만, po가 변화할 때 AMM 내부의 현재 가격도 변화합니다: po가 하락하면 내부 가격은 상승하고, 반대로 상승하면 하락합니다(입방 계수). 이는 공식 8에서 확인할 수 있습니다.
LLAMMA vs 스테이블코인
스테이블코인은 불안정한 담보(암호화폐, 예: ETH)를 맡기고 스테이블코인을 빌리는 CDP입니다. 담보는 LLAMMA의 가격 범위(해당 밴드)에 로드됩니다. 담보 가격이 비교적 천천히 하락할 경우, ETH는 CDP 종료를 충당하기에 충분한 스테이블코인으로 전환됩니다(자가 청산 또는 외부 청산이 발생할 수 있으며, 담보 비율이 위험한 수준에 근접하거나 전혀 종료하지 않고 가격 반등을 기다릴 수도 있음).
사용자가 담보를 예치하고 스테이블코인을 차입하면, LLAMMA 스마트 계약은 담보가 위치한 밴드를 계산합니다. 담보 가격이 변동하면 ETH는 스테이블코인으로 전환되기 시작합니다. 시스템이 "언더워터(underwater)" 상태일 때, 사용자는 이미 대출을 상환할 만큼의 USD를 보유하게 됩니다. 얻을 수 있는 스테이블코인 수량은 공개 메서드 get_x_down을 통해 계산할 수 있습니다. 이 값이 청산 임계값에 너무 가까워지면 외부 청산인이 개입할 수 있습니다(통상적으로 담보 가격이 하락 후 횡보하는 수일 또는 수주 내에는 발생하지 않으며, 담보 가격이 회복되지 않거나 빠르게 반등하면 아예 발생하지 않을 수 있음). 가격이 청산 수준을 훨씬 초과할 경우, 건전한 상태에서는 get_x_down과 부채의 비율에 담보 가치 상승분이 추가된 값을 반환합니다.
스테이블코인이 이자를 수취할 경우, 이는 AMM 내에서도 반영되어야 합니다. 이를 위해 모든 가격 격자(grid)를 조정합니다. 따라서 스테이블코인이 이자율 r을 수취하면, AMM 내 모든 가격 격자는 동일한 비율 r만큼 상향 이동하며, 이는 기준 가격 승수를 통해 이루어집니다. 따라서 수취 이자율이 양수라면, 승수는 시간이 지남에 따라 상승합니다.
get_x_down 또는 get_y_up을 계산할 때, 먼저 현재 가격 po로 이동했을 때의 스테이블코인과 담보의 수량 x*과 y*를 찾습니다. 그런 다음 po가 절연적으로 최하단 밴드의 최저 가격 또는 최상단 밴드의 최고 가격까지 변화할 경우, 각각 얼마만큼의 스테이블코인 또는 담보를 얻게 되는지를 살펴봅니다. 이를 통해 현재 순간 가격에 의존하지 않는, 스테이블코인 획득량의 기준을 삼을 수 있으며, 이는 슬리피지 공격(sandwich attack)에 대한 저항력 확보에 중요합니다.
LLAMMA는 ETH/USD 가격으로 정의된 po를 가격 소스로 사용한다는 점을 명시해야 합니다. 우리의 스테이블코인은 페그(1달러) 아래(ps < 1) 또는 위(ps > 1)에서 거래될 수 있습니다. 만약 ps < 1이라면, LLAMMA 내의 가격은 p > po가 됩니다.
절연 근사에 따르면, p = po / ps이며, 모든 담보 ↔ 스테이블코인 전환은 더 높은 오라클 가격에서 발생합니다. 마치 오라클 가격이 낮고 다음 값과 동일한 것처럼 말입니다:

이 가격에서 전환 시 얻는 스테이블코인 수량은 1/ps 계수만큼 더 많아집니다(만약 ps < 1일 경우).
장기간 동안 ps > 1 상태는 바람직하지 않으므로, 안정기(maintainer, stabilizer)를 사용할 것입니다(다음 섹션 참조).
자동 안정기 및 통화 정책
ps > 1일 경우(예: 스테이블코인 수요 증가로 인해), 페그 예비금(reserve)이 생성됩니다. 이는 스테이블코인과 상환 가능한 기준 코인 또는 LP 토큰 간의 비대칭 예치를 통해 stableswap Curve 풀에 형성됩니다. ps > 1이 되면, PegKeeper 계약은 담보 없이 스테이블코인을 발행하여 stableswap 풀에 단방향으로 예치할 수 있으며, 이 후 최종 가격은 여전히 1 미만이 되지 않습니다. ps < 1일 경우, PegKeeper는 비대칭적으로 인출하고 스테이블코인을 소각할 수 있습니다.
이러한 행동은 비대칭 예치 및 인출이 가격을 변화시키므로, ps > 1일 때는 신속한 하락, ps < 1일 때는 상승을 유도합니다. 이 부분의 "발행"이 무담보라 하더라도, 스테이블코인은 스테이블코인 풀 내 유동성에 의해 암묵적으로 담보 지원되는 것으로 보입니다. 전체 발행/소각 주기는 궁극적으로 수익성을 가지면서 안정성도 제공합니다.
안정기에 발행된 스테이블코인 수량(부채)을 dst라고 하고, stableswap AMM의 get_dx 함수를 통해 스테이블코인 구매에 필요한 상환 가능한 USD 수량을 계산하는 함수를 fdx()라고 하겠습니다. 그러면 "예비금"이 너무 커지지 않도록 하기 위해 "느린" 안정화 메커니즘을 도입하여 차입 이자율 r을 조정합니다.

여기서 h는 ps의 변화량이며, r의 변화율은 2배입니다(ps가 높을수록 r은 낮아짐). 안정기 부채 dst의 양은 ps = 1과 r0의 비율에 따라 다양한 값에서 균형을 이룹니다. 따라서(dst/supply가 특정 목표 수치(예: 5%)를 초과할 때 r0를 감소시켜 차입자에게 차입 후 스테이블코인 매도를 유도함으로써 가격 하락 및 dst 소각을 유도하거나, 그 반대의 경우 r0를 증가시켜 대출 상환 유도 및 ps 상승, 결과적으로 dst 부채 및 안정기 예치 증가를 유도하는 식으로) 수동 설정 대신 자동 조정이 가능합니다.
결론
제안된 메커니즘이 스테이블코인 발행 및 대출 목적에서의 청산 리스크를 해결할 수 있기를 기대합니다.
또한, 안정기 및 자동 통화 정책 메커니즘은 과도하게 큰 PSM(Peg Stability Module, 페그 안정성 모듈)을 유지할 필요 없이 가격 페깅을 유지하는 데 도움을 줄 수 있습니다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














