以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > MANA > Info

Uniswap:自動做市商(AMM)算法的數學原理及其未來發展(上篇)

Author:

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

在本文中,我們將首先回顧由 Bancor、Uniswap、Balancer 和 Curve 協議實現的四種自動做市商 (AMM) 算法。還將討論 AMM 算法的最新發展、可能的改進和未來。

本文總共分為上、中、下篇闡述自動做市商算法、現狀及未來迭代的思考,本文為上篇。

Bancor Network的聯合曲線概念和交易公式

Uniswap 的無常損失計算?

當價格變動在2ρ之間時的正向收益

流動性分布、流動性注入、Uniswap V3 范圍訂單

Balancer 的做市函數和交易公式

智能訂單路由(SOR)算法

......

Bancor Network 的聯合曲線概念和交易公式:

Bancor1利用聯合曲線的概念來確定價格。聯合曲線是代幣價格與其總供應量之間的關系。

Bancor1?

Bancor Protocol Continuous Liquidity for Cryptographic Tokens through their Smart Contracts

https://storage.googleapis.com/website-bancor/2018/04/01ba8253-bancor_protocol_whitepaper_en.pdf

聯合曲線 Bonding Curve:

聯合曲線模型可以理解為描述“代幣買賣價格”與“代幣發行總量”之間的函數關系,可以由智能合約以去中心化的方式自動執行。

https://medium.com/linum-labs/intro-to-bonding-curves-and-shapes-bf326bc4e11a

Bancor Network選擇的不變量是F,稱為連接權重。在第一個表達式中R是指流動性池中的儲備代幣數量,S是流動性池外的BNT總供應量,P是BNT和儲備代幣 的相對價格。我們可以代入P的方程,對兩邊積分2得到P和S之間的關系。這是一個指數表達式,其中指數α與連接權重F有關(F在0和1之間)。F越小,α越大,這意味著價格相對于BNT的總供應量變化得更快。

自動做市商協議MonoX確認其合約遭到攻擊:金色財經報道,自動做市商協議MonoX在官方推特確認其合約遭到攻擊。團隊正在調查并將盡最大努力追回被盜資金。MonoX表示,攻擊者利用互換合約,推高MONO價格,然后使用MONO購買池中的所有其他資產。此外,MonoX希望與黑客進行溝通。此前消息,自動做市商協議MonoX疑遭閃電貸攻擊,損失約3100萬美元。[2021/11/30 12:41:49]

兩邊積分2

Formulas for Bancor system

https://drive.google.com/file/d/0B3HPNP-GDn7aRkVaV3dkVl9NS2M/view?resourcekey=0-mbIgrdd0B9H8dPNRaeB_TA

使用這個表達式和簡單的積分,我們可以導出T(購買的BNT代幣)和E(支付的儲備代幣)之間的關系,其中R0,S0是R和S的當前值。

如果我們想在代幣A和代幣B之間交換,則將代幣A出售給代幣B。我們首先需要使用代幣A從池A購買BNT代幣(注:如果我們沒有BNT代幣)。接下來,我們需要使用BNT從池B購買代幣B。下面是計算我們將收到多少代幣所需的精確公式。代幣A和代幣B之間的相對價格可以用BNT代幣和代幣A/B之間的相對價格表示。

優點:Bancor 允許在某些池中進行單邊流動性的注入,這由Bancor治理決定。可以存入多少單邊流動性是有限制的,這也是由Bancor治理決定的。在限額內,當用戶以其他代幣的形式存入單邊流動性時,Bancor將補充等值的 BNT 代幣。這使得用戶提供的有效流動性加倍。如果達到限額,如果人們想要存單邊流動性,就得等有人提取單邊流動性,或者有人把BNT做為單邊流動性注入。

Bancor 協議以BNT部分賺取的手續費補償用戶在存入單邊流動性時的無常損失(將在后面討論)。如果交易費用不能完全補償無常損失,Bancor將鑄造 BNT以確保無常損失為零。因此,流動性提供者如果將流動性存入一定的時間(存入滿100天可全額補償),就可以享受穩定的收入。

缺點:如上所述,所有交易都需要 BNT 代幣作為中介。因此,我們將經歷兩次滑點。由于相同的原因,所有流動性池都由 BNT 和另一個代幣組成,因此缺乏多樣性。BNT 代幣價格也可能受到影響,因為需要彈性供應才能實現無常損失補償和單邊流動性存款。

BSC鏈上自動做市商BurgerSwap再遭閃電貸攻擊:6月5日凌晨消息,PeckShield派盾預警顯示,BSC鏈上自動做市商BurgerSwap再次遭到閃電貸攻擊,致使Dekbox ($DEK) 價格大幅下跌。[2021/6/5 23:14:01]

Bancor 引入了連接代幣 BNT 的概念,它連接到所有具有不同連接權重的代幣,對應不同決定價格的聯合曲線。

Uniswap 的無常損失計算:

Uniswap 使用恒定乘積做市商 (CPMM) 來決定價格。在我們深入研究 Uniswap V2 和 V3 使用的算法之前,讓我們先了解什么是無常損失 (IL) 以及如何計算它。

恒定乘積做市商 (CPMM)

Constant Product Market Maker

強制要求兩種資產儲備量的乘積必須始終保持不變 x*y=k

https://ethresear.ch/t/improving-front-running-resistance-of-x-y-k-market-makers/1281

Impermanent Loss

是指資金在流動性池中面臨的損失。

https://finematics.com/impermanent-loss-explained/

如果 AMM 函數是凸的(注:價格隨著我們買入而增加 / 價格隨著我們賣出而減少),那么沒有交易費用補償的單筆交易總是會導致流動性提供者賠錢。假設一筆交易導致 AMM 函數從點 1 移動到點 2。點 1 和點 2 的現貨價格(函數導數的絕對值)是 P1 和 P2。P3 為實際交易價格。由于凸函數的性質,P1 > P3 > P2。無常損失定義為交易后池中流動性提供者代幣的當前價值與流動性提供者的代幣當前價值之間的差值,如果他只是持有他的代幣而不將它們用于流動性提供,則表示為V 和 Vheld。為方便起見,無常損失和價格將以代幣 Y 表示(1 個代幣 Y 的價格為單位 1)。經過一些簡單的推導,很容易證明無常損失總是小于零(x2 > x1,P2 < P3)。

AOFEX商務副總裁Vivian:DeFi走向大眾的最重要的一步是AMM自動做市商機制和流動性挖礦的玩法:據官方消息,AOFEX商務副總裁Vivian在《佟掌柜的朋友們·海外項目專場》圓桌會議上主題為“新格局競爭下 區塊鏈生態中各類角色如何搶灘市場”表示,DeFi走向大眾的最重要的一步,始終是AMM自動做市商機制和流動性挖礦的玩法,這兩者都是傳統金融無法實現的新東西。自動做市商機制讓新的資產從發行到流通的過程變得非常短,也真實地反應出用戶對資產的實際價格預期。流動性挖礦則讓每一個普通用戶都可以參與其中獲取收益,直接促成了DEFI項目的火熱。AOFEX為了也開設了專門的DEFI挖礦參與通道,用戶將幣抵押在平臺,平臺再去選擇安全優質的項目參與,并且把收益給到用戶。

AOFEX數字貨幣金融衍生品交易所,旨在為用戶提供優質服務和資產安全保障。[2021/4/26 21:00:20]

Uniswap3 V2 使用一個簡單但功能強大的公式來確定交易。池代幣儲備數量的乘積是一個常數。與 Bancor 相比,它擺脫了連接代幣的依賴。交易完全由流動性池中的代幣數量決定。

Uniswap V2 Core

https://uniswap.org/whitepaper.pdf

由于此函數的性質,池中兩個代幣的價值將始終相同(我們在本文中使用的價格將始終是相對價格)。

使用相同的邏輯,不難計算 Uniswap V2中單筆無手續費的無常損失。假設交易將價格從P更改為Pk。以百分比衡量的無常損失可以單獨表示為k的函數。

毫不奇怪,這個函數總是小于或等于零,正如我們從上面沒有費用的無常損失圖中可以看出的。如果在對數空間中繪制橫軸,則 IL(k) 將是對稱的。結論是:相對價格變化越大,無常損失就越大。這可以解釋為流動性提供者的更有價值的代幣從池中被買出,留給他們更多價值較低的代幣。

V神:預測市場在過去一個月才意識到自動做市商對用戶重要性:The Block研究總監Larry?Cermak在推特表示,對于預測市場,我很驚訝在這次選舉中賠率(OI值)還這么低,這可能是歷史上最大的投注事件。對于非加密用戶來說,用戶界面和用戶體驗仍然是一個問題。但我也認為,預測市場將在未來幾年崩盤。對此V神回復稱,公平地說,預測市場(PM)社區似乎在過去的一個月才意識到自動做市商(AMMs)對于用戶體驗的重要性。今日消息,V神推薦Libra項目負責人關注預測市場類DeFi項目。[2020/11/3 11:33:03]

當價格變動在2ρ之間時的正向收益:

接下來,讓我們看看如果我們添加交易費用,IL(k) 會如何表現:

導出的無常損失函數 IL(k, ρ) 看起來與無費用的無常損失函數非常相似。我們可以通過將ρ設置為零來進行合理性驗證,得出相同的結果。典型的 Uniswap V2 費用百分比為ρ= 0.3%。在繪制無常損失函數時,我們可以看到在大約k= 0.994 到 1(大約 2ρ跨度)之間有一個高于零的部分。在該地區,無常損失是正的,這意味著流動性提供者實際上獲得了價值(在該地區賺取的交易費用優于損失)。通過引入交易費,當價格在一定范圍內波動時,流動性提供者將獲得正收益。

當價格變動更加波動時,流動性提供者似乎總是會出現虧損。然而,實際情況并非如此。我們知道 Dave White4(注:Paradim風險投資基金研究員)等人解決了這個難題。遺憾的是,它超出了這篇介紹性論文的范圍。我們打算在未來進一步研究這個問題。

Dave White4

Uniswap’s Financial Alchemy

https://research.paradigm.xyz/uniswaps-alchemy

至于其他流行的 AMM 算法(包括 Uniswap V3)的無常損失推導,我們向讀者推薦Jiahua Xu?等人的這篇論文。這些推導將是下一次的主題。

SoK: Decentralized Exchanges (DEX) with Automated Market Maker (AMM) protocols

SBF:Serum首個自動做市機制Serum Swap已啟動:10月 28日,FTX創始人、Serum顧問Sam Bankman-Fried(SBF)宣布Serum上首個AMM(自動做市機制)Serum Swap已啟動,并開啟流動性挖礦。[2020/10/28]

https://arxiv.org/abs/2103.12732

優點:第一個用池中代幣數量的凸函數來確定價格。

缺點:流動性供應均勻分布于所有價格范圍,這意味著資本效率較低。

流動性分布、流動性注入、Uniswap V3 范圍訂單:

為了提高流動性效用并降低無常損失風險,Uniswap? V3 允許用戶僅在特定價格范圍內提供流動性。

Uniswap V3 Core

https://uniswap.org/whitepaper-v3.pdf

From Uniswap V3 whitepaper

這是通過對 Uniswap V2 函數進行平移來實現的:

將函數向下平移a點的y值,向左平移b點的x值,如上圖和等式所示,確保a 和b之間的有效交易結果,就像我們使用綠色曲線作為我們的價格決定函數。當價格超出此范圍時,其中一個代幣儲備將被售罄,從而有效地將流動性集中到此價格范圍內。

Dan Robinson? (注:Paradim風險投資基金研究員主管)發表了一篇關于計算多個 AMM 的流動性分布的優秀論文。

Uniswap V3: The Universal AMM

https://www.paradigm.xyz/2021/06/uniswap-v3-the-universal-amm/

也可以簡單地證明,兩個流動性提供者在同一價格范圍內的流動性可以簡單地加在一起。

在存入流動性時,如上所示,Uniswap V3中每個資產的價值不一定相等。只有當P等于Pa和 Pb 的幾何平均值時,每個資產的價值才相等。當P小于幾何平均值時,資產X的價值大于資產Y的價值。當P大于幾何平均值時,資產X的價值小于資產Y的價值。

當當前價格完全超出流動性提供者設定的價格區間時,Uniswap V3將流動性提供者的輸入算作范圍訂單(Range Order),只允許其存入一種代幣(類型取決于價格區間是否完全高于或低于當前價格)。例如,考慮一個由 ETH 和 Dai 組成的流動性池。如果設定的價格區間完全高于 ETH 的當前價格,則只允許用戶存入 ETH。如果價格區間完全低于 ETH 的當前價格,則只允許用戶存入 Dai。當價格完全越過流動性提供者設定的價格區間時,他存入的資產將全部轉換為另一種的代幣。由于用戶只能存入一種代幣,范圍訂單只能實現傳統限價訂單中四分之二的訂單(獲利訂單、買入限價訂單)。另一方面,買入止損訂單和止損訂單無法實現。截至目前,我們不知道限制范圍訂單代幣類型的目的是什么。

Range?Orders

本質上并不是真正的訂單,而是 LP 向資金池某個特定價格點提供的聚合流動性。雖然不是真正的訂單,但「范圍訂單」所表現出的特性,卻很好地模擬了限價單的基本功能。

https://docs.uniswap.org/protocol/concepts/V3-overview/range-orders

優點:Uniswap V3 引入了流動性分布的概念,允許其用戶在價格范圍內存入流動性。通過集中流動性,提高資本效率。當存入相同價值的資產時,可以獲得更高的流動性和更低的滑點。在某個價格范圍內提供流動性也在某種程度上降低了無常損失的風險。

缺點:用戶在進行范圍訂單時只能存入某些類型的代幣。因此無法實現買入止損訂單和止損訂單。

Uniswap V2 和 V3 在其 AMM 算法中引入了 CPMM 和流動性分布。提供價格范圍內的流動性本質上使 Uniswap V3 成為一個通用的 AMM,能夠通過改變其流動性分布成為任何可能的 AMM。

Balancer 的做市函數和交易公式:

Balancer? 將 Uniswap V2 的 雙代幣池擴展到多代幣池。Balancer 池中每種資產的價值都持有一個不變的權重,加起來為 1。不難證明,這相當于每種資產的儲備數量的冪乘積是一個常數。資產 n 相對于資產 t 的價格也可以導出為資產 t 和 n 的儲備數量之間的比率,通過它們的權重進行歸一化。

A non-custodial portfolio manager, liquidity provider, and price sensor

https://balancer.fi/whitepaper.pdf

基于常數不變式,我們可以求導出有不同輸入值的交易公式(資產 o 和資產 i 之間的交易)。在這種記法標準中,資產 o 始終是買出的資產。資產 i 是賣出的資產。A 和 B 是打入/接收的代幣和當前的代幣儲備數量。我們還可以根據價格的變化計算打入的代幣或買出的代幣數量。

智能訂單路由(SOR)算法:

Balancer 還引入了智能訂單路由(SOR?) 算法。

Smart Order Router V2

https://docs.balancer.fi/developers/smart-order-router

來源:https://docs.balancer.fi/v/v1/smart-contracts/sor/

該算法的總體思路是將一個訂單分成幾個小塊在不同的Balancer池中進行交易,以獲得更好的交易結果。假設我們要在代幣池1和代幣池2進行交易,如果我們要交易的總金額N低于上圖中的A,我們將只在代幣池1進行交易,因為代幣池1的價格總是比代幣池2價格好。如果總金額超過A,我們將部分訂單在代幣池1中交易,部分在代幣池2中交易。在每個代幣池中交易的數量將使每個池中的價格相等(B + C = N)。

很容易證明最優策略總是使每個池中的價格相等的策略(如果價格不相等,我們總是可以找到一個價格更好的池來改善我們的交易結果)。

價格函數,相對于交易量,通常是一個非線性函數。Balancer 將價格函數簡化為線性函數。如果有n個代幣池,最優策略可以表示為:

如果存在一個價格函數總是大于或小于范圍 (0, N) 的其余價格函數,則應從上述計算中刪除該價格函數和相應的池,以確保結果有效。如果價格函數總是較小,那么顯然的最佳策略將是在該池中交換所有代幣。

在這個計算中,不用考慮gas費用。實際上,最優策略應該是在路由收益和gas費用損失之間保持平衡。

SOR 算法,我們相信可以在更廣泛的背景下使用。例如,價格函數可以是其他 AMM 協議池的函數。由于我們目前知識的限制,我們不確定實際的 AMM 聚合器是否使用相同的邏輯來實現更好的價格。沒有任何價格函數近似的更通用的解決方案將在本文后面討論。

優點:Balancer 將 2 個代幣池推廣到多個代幣池,并引入 SOR 算法為其用戶實現更好的價格。

缺點:“流動性池的強度取決于其最弱的資產。” 一個池中的代幣類型越多,風險就越高。

Balancer 是一種多代幣投資組合管理工具,允許靈活的代幣價值分配,具有價格優化算法。

由于本論文過長,Curve的討論及后續內容將于中篇和下篇 公布。

原文鏈接:https://link.medium.com/ynEydZUihjb? ? ??

Tags:ANCSWAPUNIUniswapMoonshield FinanceMSWAP價格uniswap幣總量有多少layer幣和uniswap的關系

MANA
NFT:金色DeFi日報 | 1inch Network上線Arbitrum One

1.DeFi總市值:1162.64億美元 DeFi總市值數據來源:Coingecko2.過去24小時去中心化交易所的交易量:36.

1900/1/1 0:00:00
ROLL:Layer2季節將至? 一文讀懂其分類與未來

Layer2 分類 二層擴容主要有三種方案:Plasma、Rollup 和 Validium。根據數據存儲位置可分為鏈下數據和鏈上數據,前者包括 Plasma 和 Validium,后者為 Ro.

1900/1/1 0:00:00
NAT:V神:Nathan Schneider談加密經濟學的局限性

注:原文作者為Vitalik,以下為全文編譯。Nathan Schneider最近發表了一篇文章?,描述了他對加密經濟學的看法,特別是關于加密經濟學治理方法的局限性,以及加密經濟學可以用什么來增.

1900/1/1 0:00:00
COI:為何Ergo堅守UTXO模型而棄用賬戶模型?

Ergo承襲了比特幣最安全、最完善的功能,并在其堅實的基礎上實現全新高級加密功能。本系列文章探討了我們在創建Ergo時所做的選擇。作為系列中的首篇文章,本文展示了UTXO模型的優勢.

1900/1/1 0:00:00
LOOT:在向Web 3.0范式轉變的過程中 Loot該何去何從?

Loot的熱度已經漸漸走下坡路,當財富效應逐漸褪去,冷靜之后,或許才是真正思考以及創造價值的時候。無論成功與否,這都是一場有趣的實驗,指引NFT前進的方向.

1900/1/1 0:00:00
SOC:SocialFi是否會成為下一個熱點?

加密市場中NFT板塊的熱度似乎有所減退,但人們毫不懷疑,加密市場總會有新的熱點出現,前不久GameFi借力元宇宙概念和Play to Earn模式大放異彩.

1900/1/1 0:00:00
ads