比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > Gateio > Info

Curve:從 A 參數看 Curve 技術細節和治理理念_TOKE

Author:

Time:1900/1/1 0:00:00

一年前,我做了一段時間 Uni V3 的 LP,玩得挺起勁。大約也是那段時間,有一種說法,做 Curve Tricrypto Pool 的 LP 是相當穩健的持續生利的主流資產配置方式,這吸引我閱讀了一番 Curve V2 白皮書。對 Uni 和 Curve 兩者的氣質有了一些朦朧的感覺,是有顯著差別的。Uni 追求的是盡可能充分的自由市場,而 Curve 有一些精確的計劃經濟的氣味。

為了推進這個思考,自然有必要把 Curve V2 的技術細節理解透徹,于是幾個月前開始仔細研究 Curve V2。作為曾經物理學科研人員的 Curve 創始人,Michael 在白皮書里自如地組合著一個個數學公式。作為數理素人讀者,我費力地定位到了其中很核心、卻并不直觀好懂的元素,Xcp 以及相關的 D、Virtual Price。

研究過程中也意識到,即便高手,亦非一日練成大法,Curve V2 是在 V1 基礎上改造后的復雜化、通用化版本。先去理解 Curve V1,能更清晰地把握設計的要義。重走高手當年路。

V1 的主角是 A 和 D。A 參數看似簡單,A 越大,在價格1附近分配的流動性越多,一句話就講完。但當翻閱到當年的記錄時(Discord / 治理論壇 / Telegram),不斷地蹦出圍繞 A 的各種問題,有單純技術層面的,有和協議治理有關的,林林總總,極為豐富,這也是單寫 A 參數的緣起,下文是其中的一部分。首先探討了 A 作為單個 DEX 的獨有參數,對整個市場的影響力。一個有影響力的參數,它的管理便成了個重要問題,下文進一步探討了調控A的技術細節。

落筆于 A 參數這很微觀細碎的話題,倒也沒忘了初衷,沒忘了對 Uni vs Curve 氣質比較的最初興趣。每每仍在嘗試提問,這些細節背后是否透露了一種根本性的理念差別呢?

一. A 參數和全市場價格決定的關系

2020年9月4號,Andre Cronje 在 Curve 治理論壇里發了一個 Proposal,希望把 y Pool 的 A 參數從2000調整到1000。引發了少量的討論,也有一些反對意見,幾天后還是很平靜地通過投票了。看著像是沒什么重大意義的主題,比起后來很多 DeFi 項目在一些事項上的廣泛大辯論,似乎不值一提。

Yield Protocol:已從 Euler Finance 遭攻擊影響中完全恢復:6月27日消息,固定利率借貸協議 Yield Protocol 宣布已從 Euler Finance 遭攻擊影響中完全恢復。3 月中旬,Euler Finance 遭到黑客攻擊,損失金額近 2 億美元,之后攻擊者歸還全部盜取資金。由于 Yield 的流動性提供者系統中的一些資金存放在 Euler 中,因此也受到了影響。[2023/6/28 22:04:12]

正是 Curve 的數學復雜度抬高了討論門檻,掩蓋了一些問題的重要性,甚至阻礙了對 Curve 本質的理解。本系列文章聚焦于 A 參數,回到上古時期,考察幾個歷史事件,嘗試把數學簡化,讓關于 Curve 的真正重要的一些命題顯現出來。本文是第一篇,以 AC 的這個提案切入。

A 參數可以影響市場價格么?

AC 和反對方的各自陳述

回到 AC 的這個 proposal,8月底9月初 yETH vault 極速擴張( yETH vault 的操作是吸儲 ETH,Mint DAI,存入 yDAI vault,也就是存入 Curve y Pool 做 LP,獲得 CRV  獎勵、賣成 ETH,進而實現 ETH 本位的收益)。

結果正好迎來了 ETH 快速下跌的行情,每當 ETH 急跌,DAI 的需求就大增。y Pool 里面 DAI 的份額跟著極速下降,最低到了只剩2% 的樣子。

AC 認為 y Pool 的 A 參數過高了( A = 2000 ),使得 y pool 向市場供應了很多本不該那么便宜的 DAI。比如他的以下論述。

反對聲音主要圍繞兩個角度,其中一個角度和 yETH vault 持續賣出 CRV  帶來的拋壓有關,這里暫不展開。

令我感興趣的是和價格決定機制相關的另一個角度。

比如 @iamaloop 的看法:不存在 Cheap DAI,套利者會搬平各處的價格。A 參數只會影響 Curve y Pool 里的幣價跟市價齊平后,各個幣百分比的失衡程度。

Sui 將地址長度從 20 字節增加到 32 字節:3月30日消息,Layer1 區塊鏈 Sui Network 發布 0.29.0 版本更新,其中包括將 Sui 地址長度從 20 字節增加到 32 字節。[2023/3/30 13:34:50]

@sjlee 有類似的表達。@angelangel0v 提出,套利者沒法因為高的 A 參數就獲得更低的價格。

這三位的看法,簡要概括就是:DAI 的價格是市場供需決定的,A 參數只能決定 Curve y Pool 在不同 DAI 價格點上的深度、決定不了市場價格。

雙方觀點的對峙,其實引出了一個問題:A 參數和市場供需的關系是怎樣的?

A 參數對供給側的重要影響

在某些情況下,A 參數在供給一側有著極其重大的影響,進而是價格決定的最重要變量之一。

在引入供需曲線圖之前,先討論幾點重要的前提假設和基本因素。

其一,Curve 是 Passive LP 模式。我的判斷是,Passive LP 作為供給方,相對而言更為穩定,即面對變化的行情時,其操作頻度相對較低(“操作”指平衡地去存取流動性、或是帶有交易屬性的單幣模式存取流動性,“相對”是相對 Uni V3 的主動管理型 LP 或是 CEX 的做市商)。

其二,Curve LP 的收益很大一部分來自和交易費關系不大的 CRV 代幣獎勵,在2020年尤甚,且回報率的絕對值較高。那么,面對絕對幅度不大的市場變化時(比如 1~2%),LP 就更加穩定。

以上兩點的共同效果是 Curve LP 更加穩定。

其三,對于部分代幣,Curve 是最大的流動性陣地。比如2020年的 y Pool 曾是 DAI 的最大兌換池子。

以上三點同時成立的話,會使得全市場的供給曲線主要由 Curve Pool 決定。記住這三點前提,以下便進入供需曲線的討論。

先看全市場供給曲線,A 值影響了曲線的形狀。A 值越高,價格 1 附近的曲線會“越平越長”,流動性越充沛。

被標記為孫宇晨的地址從 Aave V2 中撤回1000萬枚TUSD并轉入幣安:10月21日消息,PeckShield在推特上表示,被Etherscan標記為孫宇晨的地址從Aave V2中撤回1000萬枚TUSD并轉入幣安。本月至今,孫宇晨相關地址已從Aave撤回了近2億美元穩定幣。[2022/10/21 16:34:53]

全市場供需曲線圖

再看需求曲線,我們先假設在平穩的幣市行情下的曲線 - 需求曲線1。當 ETH 出現劇跌時,關閉 CDP 的需求急劇上升,市場需要更多的 DAI,因此需求曲線會向右移動 - 需求曲線2。

我們觀察供需曲線的交點,可以清晰地看出 A 參數對價格的影響。A 值越低,對應著新的價格均衡點越高。

可見,如果一個代幣的主要流動性陣地在 Curve,那么 A 參數對價格決定有著極為重要的影響。

結語

A 參數或多或少地影響了全市場的價格決定,其程度取決于 Curve Pool 代幣獎勵幅度、Curve Pool 的市占率等因素。

如此重要的參數,很自然地引申出一系列問題。A 參數的設定機制是怎樣的?誰來設定,數值的選擇標準等。

進一步,市場不是一成不變的,繼續引申出一系列動態問題。A 參數什么時候需要調整?調整 A 參數在 AMM 公式層面有何影響?等等

二. 調整 A 帶來的曲線變化及損益

2020年4月17日,離312已一個多月,DAI 依然是正向脫錨狀態,價格在1.02 左右。

Michael(Curve 創始人)在推特上發起了一個投票,看大家是否支持把 Compound pool 的 A 參數從900調到400。

49人參與了投票,但回復者僅一人。8個小時后,Michael 把 A 調到了400,又發了一則推特,0回復。

在那個當下,能真正參與討論這個議題的,寥寥無幾。Michael 可能沉浸在一個人的試驗之中,調試參數、觀測、改進,在 Telegram 的只言片語中,我感受到了他的興致和樂趣。

動態 | 2千萬枚 USDT從 Tether Treasury轉至 Bitfinex交易所:據 Whale Alert監測,剛剛2千萬枚 USDT從 Tether Treasury轉至 Bitfinex交易所。[2019/7/4]

回到這次 A 參數的調整,帶來了日化約0.1%的損失。

我的這一篇,就是想講清楚 A 調整了之后,到底意味著什么?為什么會帶來損失?

不同 A 值對應曲線的一個圖示

我挑選了一組實際參數設定,進行圖示呈現。本文的討論對象是 Curve V1 Pool,曲線公式見 V1 白皮書。

黑色曲線對應的參數為:A = 10     D = 20,000

當前池子處于黑色點,X_token、Y_token 的數量分別為 2500 / 18105,價格約為1X_token = 1.36 Y_token。

此刻將 A 降為3,曲線將變成紅色線。這條曲線的參數為:A = 3     D = 19,022

比較紅黑二曲線,很明顯的,黑色曲線中趨近直線的比例更多,這也是 A 之核心作用,A 越大,價格1附近的流動性越多;黑色曲線的 A(10)高于紅色曲線的 A(3)。相應地,遠離價格1的區間的流動性,則是紅色曲線要多過黑色曲線。

在那則推特投票的時刻,DAI 有些脫錨,如果是使用低 A 值的紅色曲線,就能比高 A 值的黑色曲線提供更多的流動性,這也是 Michael 想調整 A 的原因,他希望池子能捕獲更多手續費。

我們再回到將 A 降為3帶來的變化,降為3的那個瞬間,池子內兩種 Token 的數量并沒有變化,但 D 值發生了變化。此外,圖中還能看出,當前點的切線斜率發生了變化,曲線形狀亦發生了變化。

以下專門探討這些變化。切線斜率、曲線形狀的變化,若換一角度考察,會更加直觀。D 值的變化,則涉及到了池子損益評估的話題。

聲音 | BM:從 EOS 回到 ETH 就像從光纖回到了撥號一樣:據 IMEOS 報道,BM 昨夜在推特發了兩條推文,分別表達了 EOS 的領先和 DPOS 的優勢

1.用戶回饋使用 EOS 幾個月后重新使用 ETH 就像是從光纖回到了撥號一樣。一旦你在 EOS 上,你永遠都不想在回去。

當計算或算法發生巨大突破時,工作證明就變得完全中心化...無論技術發展如何,DPOS 都會一直保持去中心化。你可以輕松分叉 DPOS,但創建新的抗性工作證明非常困難。[2019/4/15]

訂單簿視角來看 A 值調整后的變化

Curve 池子可以從訂單簿的角度去理解。單個池子,根據其 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_token 的買單。

這其實是很奇怪的變化,一個 DEX 的當前價格在沒有 Swap 的情況下,竟然發生了變化。我們立刻可以想到,這將形成和市場價格的價差,我們假設套利者會瞬間介入把價格打到1.36。

此外,可以看到從1.00 - 1.36的每一個價格點上的掛單數量都有所不同,整體而言,高位掛單的數量更多。這對應著上一節提到的曲線形狀的變化。

A 調整帶來的損益 - 最直接的計算方式

Michael 的推提及了 Compound Pool A 參數的調低會帶來一些損失( ‘Wipe One Day’s Profits’ )。在討論背后的數學關系之前,需要先把“損失/損益”定義清楚。

按照最直接的想法,定義損益很簡單,將兩個 Token 的價值折算成 U 或是其中任意一個(X_token 亦或 Y_token),二維轉一維,然后對比 A 調整前后的總價值。這也是 Michael 提到的 ‘With Impermanent Loss’。

不妨先簡要討論這個意義上的損益。為求簡化,所有的討論暫且假設手續費 = 0。

還是基于前文一直用的示例,A 調低后,X_token 的瞬時價格變高,套利者介入,把價格打回 A 調整前的價格,這便會帶來損失。道理很簡單,上一節提到,A 調低后,相當于按照高于市場價的價格掛了很多對 X_token 的買單,這些不正常的買單被套利者吃掉,這必然會帶來損失。

從曲線圖上看得會更加清晰。

黑色點和黑色曲線是調整前池子的狀態,對應價格為1.36 。A 調低后,池子按紅色曲線運行,調低的瞬間,池子價格變成1.92,套利者介入使得池子的狀態很快從黑色點移到紅色點,對應著1.36的價格。

需要比較 A 調整前后的池子總價值,方法比較簡單。

先看 A 調整后的總價值(套利者介入后)。找出紅色曲線在紅色點處的切線和 Y 軸的交點,即為兩種 Token 按現價折算成單一 Y_token 的數量。

再看 A 調整前的總價值。找出黑色曲線在黑色點處的切線和 Y 軸的交點。因為 A 調整前后的價格是一樣的(套利者介入后),因此這條切線和第一步里的切線平行。

顯然,黑色切線與 Y 軸的交點更高,也就是 A 調整前的總價值更高。A 調低帶來了總價值的損失。

以上討論僅限于 A 調低后的瞬時損失,還算簡單。但若把追蹤時間拉長,想探討后續不同價格走勢下 A 調低所帶來的長期損益,就變得有些復雜。這取決于價格往更加脫錨的方向去發展、還是回歸完美的錨定,A 調整后的總價值可能會不如不調整 A 的狀態、也有可能會高過。這里暫不展開,本文的目的僅在簡要演示一番 A 調整是如何影響到池子總價值的,并不求完整系統的論述。

剔除無常的損益評估

按照兩個 Token 的當前價格折算,也就是考慮進無常,這是最直觀的度量方法,但這種方法較為麻煩。Curve 引入了另一種獨特的損益評估法,剔除了無常的因素,簡化了計算,在大部分情況下也能夠適用。

這就是 D 值,D 值是 Curve 曲線公式在 A 之外的另一核心參數。我們在 Curve 官網每個池子里看到的 Virtual Price 即為根據 D 值計算得出。

D 值,就是當池子價格是 1(完美錨定)的時候,池子內兩種 Token 的總數量。因為此刻價格是 1,因此可以把兩種 Token 的數量簡單相加。池子價格等于1的點,即為曲線和 x=y 這條直線的交點。

回到前述示例,A 調低以后,很顯然,D 值變小了。因此,長期來講如果價格能夠恢復錨定的話,D 值的變化能夠反映出因為 A 調整帶來的損失。

我上文使用的示例中,當前價格是1.36,這其實是比較極端的情況。我們看 Curve V1 類池子,比如主流的穩定幣/ LSD 池子,價格都不會偏離1太多。在價格接近1的時候,無常的影響很小,因此可以直接用 D 值的變化來近似反映損益。

D 值,作為一維的度量衡,且作為池子的參數之一,便于計算、便于追蹤歷史數值,比較適合用來近似地評估損益。

A 參數的調整相當于在訂單簿所有價格點上的掛單的一次重排,改變了當前價格點,改變了 D 值,帶來了損益。

因此,A 參數的一次性大幅調整有一種突兀感,甚至有一種瑕疵感。白皮書內對 A 的動態管理并無涉及,或許是在 Curve 上線實際運行了一段時間后,Michael 才漸漸認識到了對 A 參數的調整方式需要修正。在宣布 Compound Pool A 參數調整完畢的那則推特下,Michael 跟了一句評論。后續新版本的池子,A 參數的調整改成了一段時間漸變完成的模式。

老池子 A 參數的一次性調整方式僅僅是瑕疵感么?沒這么簡單,背后還深藏了一個可被攻擊的點。幸運的是,發現這個脆弱點的是白帽(對協議理解的深度真是天外有天)。后續會單寫一篇講述這個攻擊方法。

Foresight News

金色財經 Jason.

白話區塊鏈

金色早8點

LD Capital

-R3PO

MarsBit

深潮TechFlow

Tags:CurveCURTOKETOKENYCURVEcurve幣最新消息Jetmint TokenROAD Token

Gateio
ALD:“Bald”跑路 低級騙局如何騙過所有人_BAL

作者:金色財經記者 Jessy近日,Coinbase的親兒子layer 2項目Base鏈上不太平.

1900/1/1 0:00:00
加密貨幣:美國國會首次審議數字資產立法 試圖確定管轄權_SEC

作者:Andrew Throuvalas,CryptoPotato;編譯:松雪,金色財經周三,美國國會對數字資產立法進行首次審議,試圖為美國主要市場監管機構建立明確的管轄權.

1900/1/1 0:00:00
ZK Bridges: 零知識證明如何賦能跨鏈世界?

作者:ScalingX 確保其跨鏈橋的安全性是一個重要挑戰,因為需要保護存儲在智能合約或中央托管方中的資產.

1900/1/1 0:00:00
BLU:Blur 如何趕超 Opensea?_blur幣初始價格

PART 1 行業分析 NFT市場與去年相比大幅下降非同質化代幣(NFT)的銷售量本周下降至每日平均約19,000美元,比去年9月的高峰(約225,000美元)下降了92%.

1900/1/1 0:00:00
INE:為什么選擇去中心化交易平臺_Kingdom Game 4.0

隨著區塊鏈技術的飛速發展,去中心化交易平臺在數字資產交易領域嶄露頭角,其中Kine Protocol以其卓越的安全性和獨特性吸引著越來越多的用戶加入Kine Protocol.

1900/1/1 0:00:00
DAO:中國區塊鏈DAO組織涉刑被抓 DAO如何解決錢的問題?_abs幣什么時候發行

對于參與DAO組織的志愿者朋友而言,DAO作為一種新興的組織,在參與之前,務必要進行充分的調查和了解,以避免自己用愛發電,反而給自己帶來傷害,陷入刑事責任風險.

1900/1/1 0:00:00
ads