比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 幣贏 > Info

淺談自動做市商 (AMMs) 機制:從 Uniswap 理解 Balancer_BALA

Author:

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

譯者:潔sir

在去中心化金融(DeFi)的世界中,去中心化交易所(DEX)為最重要且最核心的一環。其中最具代表性的為Uniswap,以一行簡潔且優美的數學公式作為模型核心,建構出一個全自動的交易市場。Balancer則可看作廣義的Uniswap,賦予Uniswap更大的彈性,讓任何人都能在以太坊上打造自己專屬的資產配置組合,且還具備自動再平衡的功能!相對的,Balancer的數學模型會復雜些,但本質與Uniswap無太大的差異。

本篇文將從Uniswap出發,用圖解搭配四則運算介紹交易如何發生,再以簡化的方式將其推廣至Balancer的做市機制。

Uniswap恒定乘積做市商模型簡介

一切從這行簡單的公式出發:

池中USD總量

X,池中ALT總量,K常數

在沒人增加或移除流動性的前提下,池中兩邊代幣總量的乘積為常數

然而上面那句話的敘述其實是錯誤的,每次只要有人進行交易貢獻手續費,k值就隨之改變,但改變的幅度極小。因此,為簡化討論以下的計算都先暫時忽略手續費的影響。

交易如何發生?

任何交易的發生都離不開上面那條等式,假設預期買入Δx個ALT,那會需要花費多少個USD?

買入及賣出會改變池內代幣的數量

買入ALT會讓池中ALT的數量減少;付出USD會讓池中的USD數量增加。無論如何改變x或y,池內tokens數量必須滿足前述等式,將其畫成圖如下,藍線為雙曲線的一支。

在藍線的限制條件下,給定Δx就自動決定Δy,反之亦然。

所以只要有交易發生,該點就會在藍線上移動。

成交價格如何決定?

EDE攻擊者:協議后門允許開發者強制清算任何頭寸,如開發者承認操縱價格將退還資金:5月30日消息,永續 DEX El Dorado Exchange(EDE)攻擊者在鏈上發布信息表示,開發人員實施了一個后門,允許他們強制清算任何他們想要的頭寸,這種惡意活動涉及故意簽署不正確的價格以操縱用戶的頭寸并竊取他們的資金,為阻止對用戶的攻擊,(我)啟動了白帽行動來揭示這個問題。所有執行的交易都是使用開發人員簽署 / 生成的價格進行的,任何人都可以利用這些價格輕松地通過幾筆交易清空整個 ELP 池子。

同時攻擊者稱,如果開發者承認操縱價格,將退還資金,并收取當時池子價值 10% 的資金作為白帽費用。為了最大程度地減少對流動性提供者造成直接影響,我在達到 20% 的池子價值后停止了白帽操作,但整個池子始終處于風險之中。我也想借此機會揭示其他存在漏洞(前提是您同意上述條款)。

此前消息,永續 DEX EDE 疑被攻擊,損失約 58 萬美元,攻擊者已在鏈上發送了一條消息,表示你好,我不是黑帽黑客。[2023/5/30 9:50:07]

有了Δx及Δy后就能算出此筆交易的成交價格:

單位:USD/ALT

例如:買50ALT(Δx)花了100USD(Δy),成交價格就是100/50=2USD/ALT

由圖可觀察出,成交價格即為兩點相連之直線斜率。

不同買入量對成交價格的影響

不同的買入量Δx會對應不同的Δy,而產生不一樣的價格。一次買入越多,成交價格就越高,此即為滑價的成因。BlackHoleSwap以及Curve皆以神奇的數學或DeFi樂高的堆疊,很巧妙的減少了穩定幣互換的滑價問題。

現價(SpotPrice)及總資產價值

所謂交易深度夠好,不容易滑價,在DEX中代表流動性佳,正常人一次交易不會改變價格太多,以數學來表示即為Δxx和Δyy。所以在Uniswap中我們指的現價就是Δx非常小時的成交價。

Merlin攻擊者將約16.5萬枚USDC轉至CEX:4月26日消息,據PeckShield監測,zkSync生態DEX Merlin攻擊者將約16.5萬枚USDC轉移至CEX,其中Binance收到3.1萬枚,MEXC收到13.38萬枚。[2023/4/26 14:27:59]

看起來可能有點像是廢話,但證明會用到微分

所以我們只要知道池內USD及ALT的數量就能算出現價,有了現價就可以算出池內總資產:

簡單證明了在Uniswap的流動池中,兩種資產永遠會保持1:1,各占50%。由上可知,在此類自動做市商模型中,價格是在交易中產生,這點跟掛單搓合式交易有極大的差別。以股票為例,若市場預期大好,開盤即漲停(+10%),則唯一能成交的價格就只有漲停價。賣方能一次獲得10%的利潤,不會有任何中間的價格成交。但在Uniswap中,兼顧買方及賣方的流動性提供者會被方程式所限制,必須沿著線一路往上賣,此時無法將利潤最大化。但相反來說,若市場大跌也會一路向下買,不用直接面對-10%的賣單。

Balancer簡介

Balancer的數學模型看似復雜,但其實能看作一個廣義的Uniswap,只需經過幾個步驟的簡化就能更直觀地去理解其運作的機制。

做市模型

為Balancer白皮書的定義:t為tokens的種類數;V為常數:W為權重,其總和為1

先將其改寫為較為親民樣,這里先假設這個池子內只有3種資產

x,y,z分別為三種資產在池內的數量,k為常數

次方上的權重W即為該資產在池子內的比例,其總和為1(100%)。若將其設為1/3、1/3、1/3,則可再簡化方程式:

Faraway和Novel Labs合作開發NFT游戲Serum City:4月6日消息,區塊鏈游戲公司Faraway和Novel Labs正在合作開發以Yuga Labs元宇宙為背景的以太坊NFT游戲Serum City,該游戲是一個獨立的城市建設游戲,ApeCoin將作為該游戲主要的貨幣,在SerumCity中,Mutant Apes是主要角色。[2023/4/7 13:49:13]

有沒有發現長得越來越像Uniswap!由于k跟k’都為常數,后面所有常數都統一以k來表示。

池中有三種資產,這樣怎么交易?

先把其中一種遮起來,留下要交易的那兩種即可。

所謂交易就是拿A幣換B幣。

假設x、y、z分別為ALT、USD、SHIT三種的數量,若今天打算用USD買入ALT,那整個過程其實跟SHIT的數量沒有關系,因此可以將z當成常數合并到k之中,如此一來方程式就變得跟Uniswap完全一樣了!

借圖像再次說明這件事情:

三維曲面為函數xyz=k所繪制的圖形,綠色為z=const.的平面,兩者相交即為雙曲線將z視為常數之后,剩下由x和y兩個自由度所構成的二維曲線與前述之Uniswap數學模型完全相同。

可以說Balancer內其實藏著Uniswap!

再復雜些:加入更多幣種,任意調整權重

實際上Balancer的運作可以更復雜,例如HakaaFinance的流動性挖礦Pool2,用的就是2%HAKKA+4%DAI+4%USDC+90%BHSc$這個配置。但從前面的說明可以了解到,無論池內有幾種幣,在做價格計算時僅會用到2種,其他皆可看作常數。

這邊以20/60/10/10比例的ALT/USD/SHIT1/SHIT2池來進一步的說明:

Connext Network宣布與Linea集成合作:3月30日消息,Layer2 互操作性協議 Connext Network 在社交媒體發文宣布與 Linea 的集成合作,目前測試網集成已經上線。Connext 的模塊化架構允許協議直接插入 Linea 與以太坊的原生橋,因此 Connext 可以提供相同級別的安全性,同時開放互操作性。Linea 的機制設計可確保更快的交易速度和更低的 gas 成本,而不會犧牲安全性。[2023/3/30 13:35:28]

若每個幣種的配置比例不均等的話,那無法將方程式化簡成Uniswap的形式,會多出一個次方項。此時可再多做一次轉換,重新定義變數,再次化簡方程式:

重新定義變數

將y的3次方重新定義成Y之后,最熟悉的Uniswap又出現了!這時就能回頭套用最初Uniswap的圖:

經過座標轉換后,Balancer跟Uniswap的數學式相同

接著就能按照前述定義計算成交價:

注:計算價格是以實際付出的token數量去計算,因此分子是Δy而非ΔY

資產配置比例如何影響價格?

有了上述概念后,接著將權重的數字以符號替代,重新再整理一次:

兩個幣種權重的比值決定價格變化的程度

MetaMask公布6周年數據:月活用戶達到3000萬:7月16日消息,MetaMask 在六周年之際首次共布若干內部數據。據數據顯示,截至 2022 年 3 月,MetaMask 月活用戶已經達到 3000 萬。此外,目前美國在 NFT、DeFi 和區塊鏈游戲方面處于領先地位,另外兩個排名靠前的國家是巴西和菲律賓,而開始使用 Web3 并且增長最快的國家包括摩洛哥、阿拉伯聯合酋長國、中國和土耳其。[2022/7/16 2:17:28]

比較Balancer與Uniswap的成交價公式

由上比較可看出,在成交價的計算中Uniswap與Balancer的形式基本相同,唯一的區別只在次方項,且該數值由權重決定。

現價(SpotPrice)及總資產價值

如前所述,知道成交價的計算方式后,只要讓Δxx即可求得現價:

有了現價就能計算出池內各個幣種的價值:

池中ALT的資產價值

以上計算可證明個別資產=總資產×權重這個基本的事實。

代表無論池內資產數量如何變化,每個幣種的價值都會維持在最初設定的比例。

在Balancer中打造自己專屬的資產配置

如前所述,Balancer內部的每種資產會固定于初始設定的比例,我想這也是為什么要叫做“Balancer”的原因。因此我們可以利用此性質,在Balancer中打造自己專屬,且全自動的投資組合!

假設舉例來說:我希望自己加密貨幣的資產配置能固定為10%DAI+45%PERP+45%HAKKA。

狀況1:單純持有現貨,將其放于錢包/交易所。當其中一個幣種的價格產生了變化,整體的比例就會失衡,需自行在三個幣種之間買賣以調整比例,此動作稱為再平衡。要想一直維持比例必須頻繁的執行,且還須精算每個幣種要買賣的數量,既麻煩又花時間,還要花額外的手續費。

狀況2:利用Balancer打造自己專屬的流動池。若想將上述的流程自動化,則可直接在Balancer上增加自己專屬的流動池。建好池后,當其中任一種幣的價格產生變化,就會有人前來套利以平衡價格,相當于有人替我執行了再平衡的操作,如此不僅不需花手續費,還會有手續費的收入(Swapfee)。

備注:Balancer的router會自動在現有的池中挑選價格最好的交易,所以套利者不需逐池檢查最優價格在哪。值得特別注意的是,以上說明必須在資金量體足夠大時才能被妥善執行,因為要是流動池太淺,會非常容易滑價,滑價代表價格差,則router就會優先讓其他深度好的池先被交易,此狀況在比例不均的池尤其嚴重。

深度不足解決方式有二種:

1.多準備一些錢,讓流動池變深。2.讓別人加入你的池(SharedPool),或找現成的池去去增加流動性。

構建自己的ETFs

固定資產比例+再平衡即為市面上大部分ETF的運作模式。所以其實任何人都可以很容易用Balancer發行自己專屬且指數成分自定義的ETF,LP代幣即為該ETF的代幣。此基金不僅不會有內扣的管理費用,且還會有額外的手續費收入!因為不需主動執行再平衡,會有套利者送錢來幫你做。

滑價(Slippage)分析

當有人建立了流動池后,任何人就能對其進行交易(Swap),而身為交易者最關心的就是價格。本節將簡單探討池子的權重如何影響交易深度。

先來個小測驗:假設有三種BalancerPool,流動性都是100M(USD+HAKKA)權重分別為:(1)20/80(2)50/50(3)80/20

試問:假設我手上有10M的USD要入場買HAKKA,哪個比例的池滑價會最小?

答案:(2)50/50-溢價20%其他兩個分別為:(1)20/80-溢價29.67%(3)80/20-溢價33.08%

在這類Uniswap-like的DEX中,只要任一邊的資產數量被大幅度改變,就會對價格造成嚴重影響。

10MUSD入場購買HAKKA,在20/80池中相當于一次增加池內50%的USD總量;在80/20池中則等同于于一次買走池內37.57%的HAKKA。所以50/50會是對兩邊影響皆最小的比例*,因而滑點最小。

此為10MUSD入場買HAKKA時的滑點圖。橫坐標為USD的權重

由圖可觀察出,比例越極端,滑點越高,這也是為什么當初DAI/YFI的98:2池開挖之后YFI會暴漲的主要原因之一,那時很多人在沒研究透徹的情況下直接單邊增加流動性,或者直接在Balancer買入YFI,從上圖可以看出這種買法會瘋狂的拉抬幣價,使YFI瘋狂的翻倍。

注*其實理論上滑價最小的比例非剛好50/50,而是會略小于50%(USD)。

提醒:實際交易時,滑點的大小在Balancer中會以“PriceSlippage”來表示,在Uniswap中則是寫“PriceImpact”。但若以不同的單位去計算滑價會得到不一樣的數值,所以建議在交易時不要看Uniswap或Balancer上Slippage的數字,請直接看它預估的成交價格。

損益(ProfitandLoss)及無常損失(ImpermanentLoss)分析

無常損失不等于幣價下跌后總資產的虧損。假設一個狀況:我看好HAKKA將來會漲,所以想買入持有,且手上有一筆能拿來投資的資金1,000USDC。依據個人風險承受能力的不同,每個人的做法會不同。

可能出現的狀況如下:

1.100%梭哈買入,承擔所有大起大落的波動風險。2.98%近乎梭哈買入,僅保留2%現金。3.80%部分買入,稍微降低些波動風險。4.50%一半買入,預留一半現金,保守投資。

此時手上會有部分HAKKA及部分USDC,這時除了單純握著現貨之外,還能選擇將所有資產都投入流動池,池內總資產變化如下圖:

在Balancer中,各種比例的流動池內的總資產變化。

顯而易見的,一次買入越多HAKKA,資產變化得越劇烈。若有預留現金,雖然漲的時候會少賺些,但跌時也會少賠點。一旦投入流動池之后任何人都能前來交易,好處是能獲得手續費,但壞處是會有無常損失,相較于不進池,可能會有額外的損失。

相較于拿著現貨,進池后因價格發生變化而產生的額外損失

50/50的池會有最大的無常損失,價格變化越多,額外損失越大。但對于流動性提供者而言,只要交易手續費的收入大于無常損失,那就會比在池外的HODLers有更高的收益。

到底要用什么比例

先簡單整理一下以上資訊,以兩個極端來舉例:

50/50:基本上是最不易滑價格的比例,能提供最穩定的交易,這也是為什么Uniswap使用起來很香的原因,能有最大的交易量及最多的手續費收入,但是會有最大的無常損失。

98/2:幾乎沒有無常損失,但此交易對非常容易滑價,價格十分不穩定,無法吸引人前來交易,因此交易量勢必較小,手續費也因此較少。

這是天秤的兩端,需要在兩者中做取舍:無常損失越大,滑價越小;無常損失越小,滑價越大。

流動性的增加對于一個項目的發展來說是很重要的,好的交易深度能讓更多人參與二級市場,因此出現了各種獎勵機制吸引大家主動增加流動性。

80/20是個折衷的選項,有不太大的無常損失,同時也具有不錯的價格穩定性,此即為PerpetualProtocol選擇此以比例作為獎勵池的原因。另一方面還能降低投資者的風險,不用梭哈PERP,手中能保有一些現金,降低整體資產的波動率,面面俱到,兩全其美。

結論

個人認為Uniswap及Balancer等AMMs的出現是去中心化世界的一大里程碑,能以一條簡單的方程式建構出一個全自動且完整的交易系統,再搭配獎勵機制吸引更多人投入,以正向的循環讓整個生態更加完善。若有興趣參與這個市場,除了關注商業模式外,多了解運作原理也能避免自己不小心落入陷阱——至少要知道自己如何歸零的。

原文鏈接:AutomaticMarketMakers(AMMs)Mechanism:UnderstandingBalancerfromUniswap

Tags:SWAPNCEANCBALAEDDASwapMinions FinanceBafi Finance TokenTor Cabala

幣贏
比特幣今日帶動市場強勁反彈,這種強勢能持續嗎?_ECH

免責聲明:本專欄內容概不構成任何投資意見,內容亦并非就任何個別投資者的特定投資目標、財務狀況及個別需要而編制。投資者不應只按本專欄內容進行投資.

1900/1/1 0:00:00
數DeFi 9月:市場“退燒”,資金盤“冒尖”_SWAP

轉自: PANews 很早之前就有人預言Uniswap的發幣可能標志著本輪牛市的終結,不管是否如此,但9月的DeFi市場確實迎來了轉折點,收益率下降,安全事故頻發.

1900/1/1 0:00:00
DeFi+Layer2已成趨勢,Layer2誰更受青睞?有哪些機會?_DEF

Synthetix、Uniswap們都使用了哪種Layer2方案?DeFi戰事正酣,領軍者另辟戰場.

1900/1/1 0:00:00
13家上市公司共持有69億美元的比特幣,僅有一家虧損_比特幣

要點: 統計數據顯示,目前有13家上市公司共持有了大約69億美元的比特幣,其中有12家公司的投資實現了盈利;Microstrategy、GalaxyDigital、Square及灰度是關注或持有.

1900/1/1 0:00:00
秋天的第一口“菠蘿”真的那么好吃嗎?_DEF

烤仔觀察 開放的精神、獨特的視角、認真的態度,觀時事、察熱點,闡態度,《烤仔觀察》站在不一樣的角度,帶你看世界.

1900/1/1 0:00:00
YFI創始人Andre Cronje遭受死亡威脅,宣布退出公眾視野_CRO

據報道,YearnFinance創始人兼開發人員AndreCronje已經決定退出公眾視野,原因是據說他收到了去中心化金融社區的“死亡威脅”,并且對他非常“不道德”.

1900/1/1 0:00:00
ads