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

UNI:uniswap V3技術白皮書導讀:核心是流動性集中

Author:

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

uniswap V3一公布就引發廣泛關注。相對V2來說,邏輯和代碼都復雜一些。V3的核心是通過盤口區間提供流動性(集中式流動性),解決LP提供流動性時的資金利用率的問題。什么是資金利用率?V3如何推導區間流動性的計算公式?如何理解流動性?如何計算swap費用?本文先從V3技術白皮書詳細分析開始。

先給出一些uniswap官方有關V3的資料:

V3官方介紹

https://uniswap.org/blog/uniswap-v3/

技術白皮書

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

智能合約代碼

https://github.com/Uniswap/uniswap-v3-core

https://github.com/Uniswap/uniswap-v3-periphery

推薦先認真查看技術白皮書,再看智能合約代碼,最后再對照官方介紹。理解了技術白皮書,代碼非常容易理解。在技術白皮書的第一章總結了uniswap V3的技術特點,最核心的概念是"Concentrated Liquidity" (集中式流動性)。

資金利用率

先看看uniswap V2的資金利用率:

上圖為資金池中的x/y的量變化曲線。資金池中的當前價格在c點,并且假設會在a價格點和b價格點之間波動。從c點向a點滑動,消耗最大y_real,從c點向b點滑動,消耗最大為x_real。也就是說,當前價格c點,在a點和b點之間震蕩的話,最大只需要消耗x_real和y_real。理論上只要提供x_real和y_real就足夠了。而事實上,如上圖所示,在價格c點,分別提供了大于x_real和y_real的x和y。明顯可以看出,x-x_real和y-y_real的資金在這種情況下是永遠用不上的,也就稱為閑置資金。

Conflux 發起將 Uniswap V3 部署在 Conflux Network 上的提案:4月7日消息,Conflux 在 Uniswap 社區發起在 Conflux Network 上部署 Uniswap V3 的提案,以將 Web2 用戶引入 DeFi、提高亞洲市場的滲透率,并進入快速擴張的 Conflux 生態系統。該提案認為,Conflux 與小紅書、中國電信的合作造成大量 Web2 用戶的涌入,Uniswap 可以通過部署在 Conflux 上增加流動資金量,為用戶提供新的交易機會。該提案表示,鏈上投票后,Conflux 基金會可以在 Conflux eSpace 上部署 Uniswap V3,預計時間為五周;隨后進行快照投票,以確定跨鏈橋解決方案,Multichain 將是可能解決方案。[2023/4/8 13:50:55]

在這種情況下,資金利用率為x_real/x或者y_real/y。如果價格波動非常小的話,資金利用率是非常低的。uniswap V3就是嘗試解決資金利用率低的問題。想法比較簡單,所有資金可以只添加到某個區間,只添加到有可能價格波動到的區間范圍。如何在某個區間添加流動性并提供swap功能是uniswap V3的重點。先從Virtual Reserves說起。

虛擬資金池(Virtual Reserves)

uniswap的交易采用的乘積固定模型(x*y=k)。所謂的虛擬資金池(Virtual Reserves),是指還在乘積固定曲線上,只提供某個區間流動性的資金池:

圖中的墨綠色的曲線就是虛擬資金池滿足的乘積固定曲線。事實上需要的資金的曲線如圖中的橘黃色。橘黃色的曲線公式如下圖:

Uniswap社區關于延長流動性挖礦提案已創建正式治理提案:金色財經報道,Uniswap社區關于延長流動性挖礦提案第二階段共識檢查(ConsensusCheck)結束,最終該提案以超過90%的支持率順利通過,該提案將為正式治理提案進入最后的鏈上投票階段。提案提議保留所有流動性礦池,將每月UNI分配總額減少一半,即從每月1000萬枚UNI減少到每月500萬枚UNI。具體來說,該提議建議將流動性挖礦計劃延長兩個月,每個月繼續為WBTC/ETH(167萬枚UNI)、USDC/ETH(125萬枚UNI)、USDT/ETH(125萬枚UNI)和DAI/ETH(83萬枚UNI)提供流動性挖礦獎勵。[2020/11/29 22:29:53]

你可以想象成虛擬資金曲線在x/y軸進行平移,使得a/b點和x/y軸重合。也就是用一定量的資金就能達到“虛擬”的交易曲線的效果。

如何計算在某個區間提供虛擬資金池,先要從深入理解流動性開始。

流動性(Liquidity - L)

乘積固定的交易模型,滿足資金池中的兩種代幣金額滿足:x*y = K。如果設定K=L^2的話,x*y = L^2。L就是我們說的流動性。由乘積固定的交易模型得出如下的公式:

在已知L和sqrt(P)的情況下,也能推導出資金需求量x和y。

Maskbook發布新版產品,支持推特用戶在Uniswap和CMC詢價:Web3隱私產品 Maskbook官方宣布推出新版產品,支持Uniswap和CMC詢價交易工具,用戶將鼠標懸停在「$ + ticker」上時會自動彈出ETH和UNI價格信息,之后可以通過Uniswap直接交易且無需離開社交媒體Twitter。據悉,Maskbook后續還將在Facebook和Twitter等平臺上進一步引入一整套去中心化金融應用。[2020/9/25]

通過公式6.6,在流動性不變的情況下(不添加刪除流動性),流動性可以看成是單位“價格波動”的y資金量的變化。”價格波動“打上引號是因為事實上是sqrt(P)的變化。

這個是uniswap V3核心公式(6.7),用相對值(資金和價格相對值)來計算流動性。所謂的流動性,就是單位“價格變化”的資金量。在一定的交易量的情況下,如果流動性好,價格變化就小,流動性不夠的話,價格波動就大。

特別注意的是,一個區間上的流動性和V2的普適的流動性不同。一個區間上的流動性,重點在“區間上”。不同區間的流動性沒有可比性。V2的流動性和區間上的流動性的區別如下圖:

V2的流動性是“普適”的,在所有價格點上流動性相同。V3的流動性是由一系列不同區間上的流動性組成。相對來說,在當前價格左右的流動性比較高。流動性提供者LP只有提供了可供交易的流動性才能獲取交易費。為了獲取更多的交易費,為了提高資金的利用率,流動性提供者會將資金提供在合理的價格波動范圍內。也就是說,在某個區間swap交易產生的手續費,只有該區間流動性提供者才能獲取手續費。為了計算每個區間獲取的手續費,引入了Tick的概念和計算方法。

聲音 | DeFi貸款協議bZx聲明:并沒有用Uniswap喂價:DeFi貸款協議bZx發表聲明稱,此次操縱事件導致市面上出現很多不實流傳,但bZx并沒有用Uniswap喂價,Uniswap只是多個流動性來源之一。此前消息,去中心化金融(DeFi)貸款協議bZx被操縱導致以太坊損失,聯合創始人KyleKistner表示,部分ETH(已)損失,此次事件是因為一個合約被利用導致的,目前bZx已暫時關閉該合約。安全研究人員目前在調查導致事故的確切原因,并表示,會發布詳細的事后調查報告,目前剩余的資金是安全的。因為此次事件,bZx關閉了Fulcrum交易平臺進行維護。DeFiPulse的數據顯示,過去的24小時內,bZx協議中提出ETH達3300枚,約合93.2萬美元,業內人士估測,此次損失金額約為35萬美元。dForce&Blockpower創始人楊民道稱此次事件是利用了四個DeFi協議之間做的操縱。整個操作路徑是,操縱人從dydx的閃貸借出1萬ETH,使用其中5000ETH在Compound借出112WBTC,5000ETH到bZx上開了WBTC的空單,用Compound借的WBTC去Uniswap砸盤,導致bZx空倉大賺,bZx的ETH出借人虧損。(鏈聞)[2020/2/16]

Tick

在區間上提供流動性,帶來很多復雜的情況:區間和區間的重疊覆蓋。因為不同區間的流動性沒有可比性,某個交易費并不能混入到流動資金中,等刪除流動性時候一并提取。為了解決這個問題,uniswap V3引入了Tick的概念。交易費用實時結算并單獨記錄,并不混入流動資金中。雖然整個區間和區間的流動性沒有可比性,但是,在具體的某個價格點上(一個價格片上),流動性是可比較的。uniswap V3將整個價格范圍(負無窮到正無窮)分成一個個的Tick(價格點):

動態 | 美國法院駁回United American針對比特大陸的訴訟:金色財經報道,本周一,美國佛羅里達州南部地區法院法官Chris McAliley駁回了United American Corp針對比特大陸及Kraken的訴訟,這意味著原告可以提交案件的修正版本。據悉,該案原告指控包括比特大陸、比特大陸聯合創始人吳忌寒、Kraken、Kraken創始人Jesse Powell和Roger Ver在內的比特幣現金支持者在2018年的硬分叉中操縱了BCH的價格,從而創造了BSV。對此,Roger Ver表示,修改后的投訴不太可能改變爭議的最終結果,他認為原告基本上已經敗訴。[2020/2/6]

后一個價格點的價格是前一個價格點價格基礎上浮動萬分之一。

每個Tick也有一個唯一的序號。區間(Position)可以由兩個Tick表示。邏輯上交易手續費可以一個個的Tick計算,并在每一個Tick上根據流動性的占比進行交易分配。先看看一個Tick范圍的swap的計算。

Tick內的SWAP

假設有一個很小的量的y,需要swap為x。通過6.13的公式,可以計算出因為y的變化導致的價格變化。

再利用6.15的公式可以算出換取的x的量。

uniswap V3針對同樣的交易對設置了不同的交易費:0.05%,0.3%以及1% (還可以添加其他費率)。如果是從Y換取X,則在換取之前先扣除手續費再進行上述的交換。

在同一交易池中只支持一種費率。也就是說,在一個交易池中支持不同的價格區間,但是都是同樣的費率。如果需要添加同樣交易對的不同交易費的交易池,必須創建新的交易池。

接下來,深入講解一下 添加/刪除流動性以及交易費用的計算邏輯。

V3的添加/刪除流動性是當前價格情況下在某個區間添加或者刪除流動性。所有的流動性添加/刪除流動性采用如下的公式:

注意,價格變化并不是指區間的大小,而是在某個區間上提供流動性,相對當前價格,“需要相應資金變化”對應的價格變化。

分為三種情況,想要添加的流動性區間和當前價格的關系。

當前價格處于流動性價格區間 (il <= ic < iu)

因為價格在區間范圍內,如果價格滑動到il,則需要提供y資金。如果價格滑動到iu,則需要提供相應的x資金。所以,對于delta_Y來說的,價格變化為sqrt(P) - sqrt(p(il));對于delta_X來說,價格變化為1/sqrt(P) - 1/sqrt(p(iu))。

當前價格低于流動性價格區間

因為當前價格遠低于il,即使從當前價格向iu滑動,也只需要x的資金,不需要y的資金。所以,在這種情況下,delta_Y = 0。因為從il滑向iu需要整個區間的x的資金,對于delta_X來說,價格變化為1/sqrt(il) - 1/sqrt(p(iu))。

當前價格高于流動性價格區間

和第一種情況類似,不重復分析了。

Swap交易費用

uniswap最復雜的邏輯是計算交易費用并分配。在添加和刪除流動性之前需要將相應的交易費用提取。

Tick上的總流動性

     在某個Tick上可以存在多個區間。在計算交易費用時,需要平攤這些費用給所有在這個Tick上多個區間的總的流動性。在每個區間的邊界的Tick上記錄下delta_L(所有以這個Tick為邊界的區間的流動性總和)。

     存在一個全局狀態:liquidity,保存當前價格對應Tick的流動性總和。當價格波動,穿過某個Tick時,會進行流動性的增加或者減少(取決于價格波動方向)。舉例來說,價格從左到右穿過區間,當穿過區間的第一個Tick時,流動性需要增加,穿出最后一個Tick時,流動性需要減少,中間的Tick都沒有流動性的增加和減少(delta_L為0)。  

區間(Position)上的交易費用率

      計算一個區間上的交易費用率,采用總的費用率減去區間外的費用率的方法。在一個區間的邊界Tick上記錄feeGrowthOutside。所謂的feeGrowthOutside,就是“另外”一個方向上總的費用率。另外的一個方向是相對穿過當前Tick的方向而言。當價格從左到右穿過一個Tick,feeGrowthOutside指的是Tick左邊所有區間的費用率。簡單的說,就是價格要去方向的相反方向所有區間的費用率。feeGrowthOutside用fo表示。因為fo是一個Tick的兩個方向的總的費用率,兩個方向的費用率的總和肯定是等于fg(全局的費用率)。所以當穿過一個Tick時,這個Tick上的fo要進行翻轉:

當一個區間創建時,區間邊界上Tick的fo需要初始化:

如果當前的價格大于Tick的價格時,因為即使當前價格在設置的區間內,但是之前費用也不會分到,所以,可以簡單的假想為所有的費用發生在Tick價格之下,也就是fo=fg。如果Tick的價格大于當前價格,價格還沒有穿過Tick,因為假設了之前所有發生的費用發生在Tick價格之下,Tick之上是沒有費用的,所以fo=0。在理解了這些邏輯的基礎上,在swap的過程中,隨著價格的波動,一個區間上,超過最高Tick的費用率以及低于最低Tick的費用率可以用如下的方式計算:

以低于最低Tick的費用率的計算為例,如果ic>=i (當前的價格是高于最低Tick的),低于Tick的所有的費用率就是fo(定義如此)。如果ic<i的情況下,fo記錄的是高于Tick的所有費用率,所以需要翻轉,即fg - fo。在獲取了一個區間外的所有費用的情況下,計算本區間的費用率:

獲取的費用率的基礎上,用費用率乘以區間的流動性可以計算出該區間收取的費用。

uniswap V3版本核心思想是流動性集中。流動性提供者可以在某個區間提供流動性,提高資金使用率。在某個區間獲取的交易費,由所有在該區間的流動性提供者均分。uniswap V3設計了區間粒度-Tick,并且推導了流動性添加/刪除以及費用計算的過程。在之基礎上,uniswap V3也更新了價格預言機的實現。

Tags:UNISWAPTICICKunif幣前景uniswap幣價格預測ParticlMyBricks

以太坊
BTC:比特幣共識越來越強 加密資產的趨勢不可逆

BTC行情分析 最近區塊鏈的法律草案層出不窮,韓國、印度、老美還有其他林林總總的小國家,再加上日本準備開始搞官方加密貨幣交易所.

1900/1/1 0:00:00
API:億萬富翁馬克·庫班30%投資組合是ETH 因為它“最接近真正的貨幣”

馬克·庫班最近表示,比特幣是黃金的更好替代品,并將以太坊的智能合約與上世紀90年代末的互聯網繁榮相提并論.

1900/1/1 0:00:00
加密貨幣:鮑威爾警示美國疫情狀況 貨幣政策將怎樣決定比特幣走勢

從2021年以來,第一季度內美債收益率持續攀升,3月31日10年期國債收益率尾盤上漲3.75個基點,報1.7404%.

1900/1/1 0:00:00
比特幣:淺談涉及暗網的比特幣轉賬追蹤

在比特幣的轉賬追蹤中,不僅僅需要根據鏈上數據對轉賬鏈條進行審計,更重要的是將轉賬路線上的各地址與實體相關聯.

1900/1/1 0:00:00
比特幣:灰度GBTC負溢價創新高 轉成ETF后對市場有什么影響?

作為全球最大的加密資產管理公司,也是比特幣最大的持倉買方,灰度的一舉一動備受關注。4月5日晚間,灰度發布一篇博客文章《Grayscale’s Intentions for a Bitcoin E.

1900/1/1 0:00:00
PIPI:區塊鏈·世界志 | 對話Pippi Finance:DEX是撬動DeFi的支點

4月7日16:00,金色財經邀請Pippi Finance孵化投資人 Deo做客「區塊鏈·世界志」直播間,一起深入探討Pippi?Finance在DEX賽道的創新以及未來的發展策略.

1900/1/1 0:00:00
ads