
원본 작성자: @observerdq
원본 편집자: @黑羽小斗
원본 출처: BuilderDAO
저자는 말한다
1년 전 한동안 Uni V3의 LP를 만들어서 아주 활기차게 연주한 적이 있습니다. 그 무렵 Curve Tricrypto Pool의 LP가 되는 것이 상당히 안정적이고 지속 가능한 주류 자산 배분 방법이라는 말이 있어서 Curve V2 백서를 읽게 되었습니다. 유니와 커브의 기질에 대해 약간 흐릿한 느낌이 있는데, 상당한 차이가 있습니다. Uni는 최대한의 자유 시장을 추구하는 반면 Curve는 계획 경제의 정확한 냄새를 풍깁니다.
이러한 생각을 발전시키기 위해서는 당연히 Curve V2의 기술적 세부 사항을 철저히 이해하는 것이 필요하므로 몇 달 전부터 Curve V2를 주의 깊게 연구하기 시작했습니다. Curve의 창립자이자 물리학 연구자였던 Michael은 백서에서 수학 공식을 자유롭게 조합했습니다. 나는 수학과 과학의 아마추어 독자로서 핵심 요소를 찾는 데 어려움을 겪었지만 직관적이지 않고 이해하기 쉽지 않은 Xcp 및 관련 D 및 가상 가격.
연구 과정에서 저는 심지어 마스터도 하루 만에 마스터할 수 없다는 것을 깨달았습니다.Curve V2는 V1을 기반으로 수정된 복잡하고 일반화된 버전입니다. 먼저 Curve V1을 이해해야 디자인의 본질을 더욱 명확하게 파악할 수 있습니다. 스승의 길을 되돌아보세요.
V1의 주인공은 A와 D입니다. A 매개변수는 간단해 보이지만 A가 클수록 가격 1 주변에 더 많은 유동성이 할당되며 한 문장으로 끝납니다. 하지만 그 해의 기록(Discord/Governance Forum/Telegram)을 읽을 때 A를 둘러싼 온갖 종류의 질문이 계속해서 나타났습니다. 일부는 순전히 기술적인 질문도 있고 일부는 프로토콜 거버넌스와 관련된 질문도 있었고 온갖 종류의 매우 풍부한 질문도 있었습니다. 단일 쓰기 A 매개변수의 출처는 다음과 같습니다. 먼저, 단일 DEX의 고유 매개변수인 A가 전체 시장에 미치는 영향에 대해 논의합니다. 영향력 있는 매개변수인 그 관리는 중요한 문제가 되며, A를 규제하는 기술적인 세부 사항은 아래에서 더 자세히 살펴보겠습니다.
A 매개변수의 미시적이고 상세한 주제에 대해 글을 썼지만, 초심도 잊지 않았고, Uni와 Curve 기질의 비교에 대한 초기 관심도 잊지 않았습니다. 아직도 물어보려고 할 때마다, 이러한 세부 사항 뒤에는 철학에 근본적인 차이가 있는 걸까요?
—— dq
1. A변수와 전체시장가격 결정과의 관계
2020년 9월 4일, Andre Cronje는 y Pool의 A 매개변수를 2000에서 1000으로 조정하기를 희망하는 곡선 거버넌스 포럼에 제안을 보냈습니다. 약간의 논의가 촉발됐고, 일부 반대 의견도 있었고, 며칠 뒤 평화롭게 표결됐다. 별로 의미가 없는 주제인 것 같고, 이후 많은 DeFi 프로젝트에서 일부 문제에 대해 광범위한 논의가 있었던 것에 비하면 언급할 가치가 없어 보입니다.
논의의 문턱을 높이고 일부 문제의 중요성을 모호하게 하며 심지어 Curve의 본질에 대한 이해를 방해하는 것은 Curve의 수학적 복잡성입니다. 이 기사 시리즈는 A 매개변수에 중점을 두고 고대로 거슬러 올라가 여러 역사적 사건을 조사하고 수학을 단순화하고 곡선에 대한 몇 가지 중요한 제안을 공개합니다. 이번 글은 AC의 제안으로 시작되는 첫 번째 글이다.
A 매개변수가 시장 가격에 영향을 미칠 수 있나요? AC와 상대방의 각각의 대표
AC 제안으로 돌아가서, yETH Vault는 8월 말과 9월 초에 급속도로 확장되었습니다. (yETH Vault의 운영은 ETH, Mint DAI, yDAI Vault에 예금, 즉 Curve y Pool에 예금을 흡수하여 저장하는 것입니다. LP로서 CRV 보상을 받고 ETH로 판매한 다음 ETH 표준의 이점을 실현하십시오.
그 결과, 우연히 ETH의 급격한 하락을 가져왔고, ETH가 급락할 때마다 DAI에 대한 수요가 크게 증가했습니다. y 풀에서 DAI의 점유율은 급격히 감소하여 2%까지 낮아졌습니다.
AC는 y 풀의 A 매개변수가 너무 높기 때문에(A = 2000) y 풀이 시장에 그렇게 저렴해서는 안 되는 DAI를 많이 공급하게 한다고 생각합니다. 예를 들어, 그의 다음 토론이 있습니다.
반대론자는 주로 두 가지 각도를 중심으로 전개되는데, 그 중 하나는 yETH Vault의 CRV 지속적인 판매로 인한 판매 압력과 관련이 있으며 여기서는 논의하지 않습니다.
제가 관심을 갖는 것은 가격 결정 메커니즘과 관련된 또 다른 측면입니다.
예를 들어 @iamaloop의 견해는 다음과 같습니다. 저렴한 DAI는 없으며 차익거래자는 모든 곳에서 가격을 평준화할 것입니다. A 매개변수는 곡선 y 풀의 통화 가격이 시장 가격과 동일해진 후 각 통화 비율의 불균형 정도에만 영향을 미칩니다.
@sjlee도 비슷한 표현을 사용하고 있습니다. @angelange l0 v는 높은 A 매개변수 때문에 차익거래자가 더 낮은 가격을 얻을 수 없다고 제안했습니다.
이 세 사람의 견해를 간략하게 요약하면, DAI의 가격은 시장 수요와 공급에 의해 결정되며, A 매개변수는 서로 다른 DAI 가격대에서 Curve y Pool의 깊이만 결정할 수 있을 뿐 시장 가격을 결정할 수는 없습니다. .
두 당사자의 견해의 대립은 실제로 다음과 같은 질문으로 이어집니다. A 매개변수와 시장 수요 및 공급 사이의 관계는 무엇입니까?
A 매개변수가 공급 측면에 미치는 중요한 영향
어떤 경우에는 A 매개변수가 공급 측면에 매우 큰 영향을 미치며 가격을 결정하는 데 가장 중요한 변수 중 하나입니다.
수요 및 공급 곡선 다이어그램을 소개하기 전에 몇 가지 중요한 가정과 기본 요소에 대해 논의합니다.
먼저 Curve는 Passive LP 모드입니다. 내 판단으로는 공급 측면에서 Passive LP가 상대적으로 더 안정적이라는 것입니다. 즉, 변화하는 시장 상황에 비해 운영 빈도가 상대적으로 낮다는 것입니다. -거래 속성의 통화 모드 액세스 유동성, 상대적은 Uni V3와 관련하여 적극적으로 관리되는 LP 또는 CEX 시장 조성자를 나타냅니다.
둘째, Curve LP 수입의 상당 부분이 거래 수수료와 거의 관련이 없는 CRV 토큰 보상에서 나오며, 특히 2020년에는 수익률의 절대값이 상대적으로 높습니다. 그러면 상대적으로 작은 시장 변화(예: 1~2%)에도 불구하고 LP는 더 안정적입니다.
위 두 가지 점의 결합 효과는 Curve LP가 더 안정적이라는 것입니다.
셋째, 일부 토큰의 경우 Curve가 가장 큰 유동성 위치입니다. 예를 들어, 2020년 y 풀은 한때 DAI의 가장 큰 거래소 풀이었습니다.
위의 세 가지 점이 동시에 확립되면 전체 시장의 공급 곡선은 주로 Curve Pool에 의해 결정됩니다. 이 세 가지 전제를 염두에 두고 아래에서 수요 공급 곡선에 대한 논의를 시작하겠습니다.
먼저 전체 시장의 공급곡선을 보면 A의 가치가 곡선의 형태에 영향을 미친다. A의 값이 높을수록 가격 1 근처의 곡선이 더 평평하고 길어지며 유동성이 더 풍부해집니다.
전체 시장의 수요와 공급 곡선
수요곡선을 다시 살펴보면 먼저 안정적인 통화시장 하의 곡선인 수요곡선 1 을 가정합니다. ETH가 급격히 떨어지면 CDP 마감 수요가 급격히 증가하고 시장에는 더 많은 DAI가 필요하므로 수요 곡선은 오른쪽으로 이동합니다. 수요 곡선 2.
우리는 공급 곡선과 수요 곡선의 교차점을 관찰하고 A 매개변수가 가격에 미치는 영향을 명확하게 볼 수 있습니다. A 값이 낮을수록 새로운 가격 균형점이 높아집니다.
발문
발문
A 매개변수는 전체 시장의 가격 결정에 어느 정도 영향을 미치며, 그 정도는 커브 풀 토큰의 보상률, 커브 풀의 시장 점유율 등 요소에 따라 달라집니다.
이러한 중요한 매개변수는 자연스럽게 일련의 질문으로 이어집니다. A 매개변수의 설정 메커니즘은 무엇입니까? 누가 정할지, 가치의 선택 기준 등은 무엇인가.
게다가 시장은 정적인 것이 아니기 때문에 계속해서 일련의 역동적인 문제가 발생하고 있습니다. A 매개변수는 언제 조정해야 합니까? AMM 공식 수준에서 A 매개변수를 조정하면 어떤 효과가 있습니까? 등.
2. A가 가져온 곡선 변화와 손익을 조정합니다.
2020년 4월 17일, 312에서 한 달 이상 남은 DAI는 여전히 고정되지 않은 긍정적인 상태에 있으며 가격은 약 1.02입니다.
Michael(Curve의 창립자)은 모든 사람이 컴파운드 풀의 A 매개변수를 900에서 400으로 조정하는 것을 지지하는지 알아보기 위해 Twitter에서 설문 조사를 시작했습니다.
49명이 투표했는데 단 한 명만 응답했습니다. 8시간 후 Michael은 A를 400으로 조정하고 또 다른 트윗을 보냈으며 답글은 0개였습니다.
그 당시에는 이 문제에 대한 논의에 실제로 참여할 수 있는 사람이 거의 없었습니다. 마이클은 한 사람의 실험, 디버깅 매개변수, 관찰, 개선에 몰두할 수도 있는데, 텔레그램의 몇 마디 말에서 그의 관심과 재미가 느껴집니다.
이번에 매개변수 A의 조정으로 돌아가면 일약 약 0.1% 정도의 손실이 발생했다.
이 글은 A가 조정된 후의 의미가 무엇인지 명확하게 설명하기 위한 것입니다. 손실이 발생하는 이유는 무엇입니까?
A의 다양한 값에 대한 곡선의 그래픽 표현
실제 매개변수 설정 세트를 선택하고 이를 그래픽으로 표시했습니다. 본 글에서 논의할 대상은 Curve V1 Pool이며, 곡선 공식은 V1 백서에서 확인할 수 있습니다.
검은색 곡선에 해당하는 매개변수는 다음과 같습니다. A = 10 D = 20,000
현재 풀은 블랙 포인트에 있고 X_token과 Y_token의 수는 각각 2500 / 18105이며 가격은 약 1 X_token = 1.36 Y_token입니다.
이제 A를 3으로 낮추면 곡선이 빨간색 선으로 변합니다. 이 곡선의 매개변수는 다음과 같습니다. A = 3 D = 19,022
빨간색 곡선과 검은색 곡선을 비교해 보면 검은색 곡선이 직선에 접근하는 비율이 더 많다는 것이 분명하며 이는 A의 핵심 기능이기도 합니다. A가 클수록 가격 1 주변의 유동성이 높아지고 A(10) )는 검정색 곡선의 A(3)보다 높습니다. 이에 따라 가격 1에서 멀리 떨어진 범위의 유동성은 검은색 곡선보다 빨간색 곡선에 더 많습니다.
트위터 투표 당시 DAI는 다소 고정되지 않은 상태였는데, A값이 낮은 빨간색 곡선을 사용하면 A값이 높은 검은색 곡선보다 더 많은 유동성을 제공할 수 있다는 점에서 마이클은 A값을 조정하려고 합니다. 그는 수영장이 더 많은 수수료를 받을 수 있기를 바랍니다.
A를 3으로 줄여서 가져온 변화를 다시 살펴보자. 3으로 줄어드는 순간 풀에 있는 두 토큰의 개수는 변하지 않았지만 D의 값이 바뀌었다. 또한, 현재점에서의 접선의 기울기가 변하고, 곡선의 형태도 변한 것을 그림을 통해 알 수 있다.
이러한 변경 사항은 아래에서 구체적으로 설명됩니다. 접선의 기울기 변화와 곡선의 형태는 다른 각도에서 보면 더욱 직관적이 될 것입니다. D 값의 변화는 풀 손익 평가 주제와 관련이 있습니다.
주문장 관점에서 A 값의 조정된 변화
커브 풀은 주문서의 관점에서 이해할 수 있습니다. A 및 D 매개변수에 따라 단일 풀은 모든 가격대에서 지정가 주문 수의 다양한 분포에 해당하며 모든 지정가 주문은 전체적으로 연결되어 존재합니다.
이전 섹션의 경우 A가 10에서 3으로 떨어졌을 때 모든 지정가 주문이 검은색 지정가 주문 세트에서 빨간색 지정가 주문 세트로 순식간에 전체적으로 큰 조정을 수행한 것으로 이해할 수 있습니다.
위 이미지에 대한 몇 가지 기본 설명부터 시작하겠습니다.
가로 축은 가격이고, 1.00은 1 X_token = [ 1.00 ~ 1.01 ) Y_token을 나타내고, 1.01은 1 X_token = [ 1.01 ~ 1.02 ) Y_token을 나타냅니다. 공간을 절약하기 위해 가격이 1.00 미만인 보류 주문을 생략했습니다.
세로 축은 Y_token의 수량(즉, X_token의 구매 및 보류 주문)을 나타냅니다. 검정색 부분에는 가격 > 1.36 범위의 데이터가 없습니다. 이는 검정색 곡선의 현재 가격이 1.36이기 때문입니다. > 1.36은 X_token의 더 높은 가격 매도 주문 및 보류 주문을 의미합니다. 이 그림은 보류 중인 구매 주문에 대해 Y_token을 사용하는 부분만 검사하므로 1.36보다 큰 부분에 대한 데이터는 없습니다.
검정색과 빨간색의 대비를 살펴보겠습니다. 첫째, 이전 섹션에서 언급한 접선의 기울기 변화에 따라 현재 가격이 변경되었습니다. A 조정 후 현재 가격은 즉시 1.92로 변경되었으며 빨간색 부분의 보류 주문은 1.92로 확장되었습니다. 즉, 특정 수의 Y_token이 1.36 - 1.92의 가격 범위 내에서 일괄적으로 X_tokens에 대한 구매 주문을 했습니다.
이것은 실제로 매우 이상한 변화입니다.DEX의 현재 가격은 스왑 없이 변경되었습니다. 우리는 이것이 시장 가격과 가격 차이를 형성할 것이라고 즉시 상상할 수 있으며, 차익거래자가 개입하여 가격을 순간적으로 1.36으로 올릴 것이라고 가정합니다.
또한 1.00~1.36까지 가격대별로 대기주문량이 다르며 전체적으로 대기주문량이 더 많은 것을 알 수 있다. 이는 이전 섹션에서 언급한 곡선 모양의 변화에 해당합니다.
A 조정으로 인한 손익 - 계산하는 가장 직접적인 방법
Michael의 트윗은 복합 풀 A 매개변수의 감소가 일부 손실을 가져올 것이라고 언급했습니다('하루의 이익 삭제'). 그 뒤에 숨어 있는 수학적 관계를 논의하기 전에, 손실/이익과 손실을 명확하게 정의할 필요가 있습니다.
가장 직접적인 아이디어에 따르면 손익을 정의하는 것은 매우 간단합니다. 두 Token의 값을 U 또는 둘 중 하나(X_token 또는 Y_token)로 변환하고, 2차원을 1차원으로 변환한 다음 합계를 비교합니다. 조정 전과 조정 후의 A 값. 이것은 또한 마이클이 언급한 '영구적 손실이 있음'(With Impermanent Loss)이기도 합니다.
이러한 의미에서 손익에 대해 간략하게 살펴보겠습니다. 단순화를 위해 모든 논의에서는 수수료 = 0으로 가정합니다.
여전히 이전 기사에서 사용된 예를 기반으로 하면 A가 낮아진 후 X_token의 순간 가격이 더 높아지고 차익거래자가 개입하여 A의 조정 전 가격으로 가격을 되돌리므로 손실이 발생합니다. 그 이유는 간단합니다.앞 절에서 언급했듯이 A가 낮아진 후에는 X_token에 대해 시장 가격보다 높은 가격으로 대량 구매 주문을 하는 것과 같습니다. 손실을 가져옵니다.
그래프를 보면 더 명확해질 것이다.
검은 점과 검은 곡선은 조정 전 풀의 상태이며 해당 가격은 1.36입니다. A 낮추고 나면 풀은 빨간색 곡선을 따라 움직입니다. 낮추는 순간 풀의 가격은 1.92가 됩니다. 차익거래자가 개입하여 풀의 상태는 가격에 해당하는 검은색 지점에서 빨간색 지점으로 빠르게 이동합니다. 1.36의.
A 조정 전후 풀의 총 가치를 비교하는 것이 필요하며 방법은 비교적 간단합니다.
먼저 (차익거래자의 개입 후) A의 조정된 총 가치를 살펴보세요. 빨간색 점과 Y축에서 빨간색 곡선의 접선의 교차점을 찾습니다. 이는 현재 가격에서 단일 Y_token으로 변환된 두 토큰의 수량입니다.
조정 전 A의 총값을 살펴보세요. 검은색 점과 Y축에서 검은색 곡선에 대한 접선의 교차점을 찾습니다. A 조정 전과 후(차익거래자가 개입한 후)의 가격이 동일하기 때문에 이 접선은 첫 번째 단계의 접선과 평행합니다.
당연히 검은색 접선과 Y축의 교차점이 더 높습니다. 즉, A 조정 전의 총 값이 더 높습니다. 다운그레이드하면 총 가치가 손실됩니다.
위의 논의는 A가 낮아진 후의 순간적인 손실에 국한되며 이는 매우 간단합니다. 그러나 추적 시간이 연장되면 다양한 가격 추세에 따른 A 하락으로 인한 장기적인 손익을 논의하기가 다소 복잡해집니다. 가격이 좀 더 고정되지 않은 방향으로 전개되는지 아니면 완벽한 고정으로 돌아가는지에 따라 달라지며 조정 후 A의 총 가치는 조정이 없는 A의 상태보다 낮을 수도 있고 높을 수도 있습니다. 여기서는 더 확장하지 않겠습니다.본 글의 목적은 A의 조정이 풀의 총 가치에 어떤 영향을 미치는지 간략하게 설명하는 것일 뿐, 완전하고 체계적인 논의를 추구하지는 않습니다.
비영속성을 제거하는 손익 평가
두 개의 토큰의 현재 가격에 따라 환산하는 것, 즉 비영속성을 고려하는 것이 가장 직관적인 측정 방법이지만 이 방법이 더 번거롭습니다. Curve는 비영구적 요인을 제거하고 계산을 단순화하며 대부분의 경우에 적용할 수 있는 또 다른 고유한 손익 평가 방법을 도입합니다.
이는 A 외에 Curve 곡선 공식의 또 다른 핵심 매개 변수인 D 값입니다. Curve 공식 웹사이트의 각 풀에서 볼 수 있는 가상 가격은 D 값을 기준으로 계산됩니다.
D 값은 풀 가격이 1(완벽한 앵커링)일 때 풀에 있는 두 토큰의 총 수입니다. 현재 가격은 1이므로 간단하게 Token 2개의 수량을 합산하면 됩니다. 풀 가격이 1이 되는 지점이 곡선과 직선 x=y의 교차점입니다.
이전 예로 돌아가서 A를 낮추면 D의 값이 작아지는 것이 분명합니다. 따라서 장기적으로 가격이 앵커까지 회복될 수 있다면 D 값의 변화는 A 조정으로 인한 손실을 반영할 수 있습니다.
위에서 사용한 예에서 현재 가격은 1.36으로 실제로 매우 극단적입니다. 주류 스테이블코인/LSD 풀과 같은 Curve V1 풀을 살펴보면 가격이 1에서 크게 벗어나지 않을 것입니다. 가격이 1에 가까울 때는 비영속성의 영향이 매우 작기 때문에 D값의 변화를 직접적으로 활용하여 손익을 대략적으로 반영할 수 있습니다.
발문
발문
A 매개변수의 조정은 주문장의 모든 가격대에서 보류 주문을 재배치하는 것과 동일하며, 이는 현재 가격대를 변경하고 D 값을 변경하며 손익을 가져옵니다.
따라서 A 매개변수의 일회성 대규모 조정에는 갑작스러운 느낌이 들며 심지어 결함이 있는 느낌도 있습니다. A의 동적 관리는 백서에서 다루지 않습니다. 아마도 Curve가 일정 기간 동안 온라인에 접속한 후 Michael은 A 매개 변수의 조정 방법을 수정해야 한다는 것을 점차 깨달았을 것입니다. 컴파운드 풀 A의 매개변수가 조정되었음을 알리는 트윗에서 Michael은 후속 댓글을 달았습니다. 후속 새 버전의 풀에서는 A 매개변수의 조정이 일정 시간에 걸쳐 그라데이션이 완료되는 모드로 변경되었습니다.
기존 풀의 A 매개변수를 일회성으로 조정하는 방법이 단지 결함일까요? 그렇게 간단하지도 않고, 그 뒤에는 공격할 수 있는 숨겨진 지점이 있습니다. 다행스럽게도 이 취약점을 발견한 것은 바로 화이트 해커들이었습니다(프로토콜에 대한 이해의 깊이는 정말 놀랍습니다). 이 공격 방법에 대해서는 나중에 별도의 글을 작성해 설명하겠습니다.