uniswapV3一公布就引發廣泛關注。相對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
推薦先認真查看技術白皮書,再看智能合約代碼,最后再對照官方介紹。理解了技術白皮書,代碼非常容易理解。在技術白皮書的第一章總結了uniswapV3的技術特點,最核心的概念是"ConcentratedLiquidity"。
資金利用率
先看看uniswapV2的資金利用率:
長江商學院推出Global Unicorn Programs將為入選者提供Web3.0、區塊鏈等技術支持:金色財經報道,長江商學院正在推出的全球獨角獸項目(Global Unicorn Programs)在與阿聯酋世界政府峰會、迪拜行政委員會、新加坡黃埔集團(Whampoa Group)、首爾市政府和 Maekyung Media Group 的合作下,將先后在迪拜(2 月 15 日)、新加坡(5 月 16-19 日)與韓國首爾(9 月 12-15 日)落地。
據悉,Global Unicorn Programs 是一個高管教育項目,專注于歐亞大陸創造獨角獸和具有社會責任與全球視野的企業家生態系統。該項目將為入選者提供 Web3.0、區塊鏈、智能制造和人工智能等技術支持。[2023/1/16 11:14:27]
上圖為資金池中的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的資金在這種情況下是永遠用不上的,也就稱為閑置資金。
硅谷王川:Uniswap等撮合交易的智能合約是以太網絡擁堵,費用高企不下的最重要原因:獨立投資人硅谷王川表示,以太坊網絡上的不同操作,傳輸的數據大小不一樣,因此消耗費用也不一樣。Uniswap等撮合交易的智能合約,消耗了網絡上20%的流量,是以太網絡擁堵,費用高企不下的最重要原因。可以把這些智能合約看成一個完全開放的國際倒爺做買賣的貿易自由港。從這個角度看,70美元的gas成本其實不貴,如果嫌貴,那是因為你做的生意太小。Paypal做國際支付,一旦涉及到匯率不同的國家之間支付,支付費用可以到金額的4.5%,而且清算常常有延遲。從這個角度看,以太網的費用,即使在現在的相對高位,仍然是良心價格。
最終解決問題的方案,可能是Uniswap或者其競爭者推出一個rollup的智能合約,把交易批處理,費用可以壓縮到忽略不計 (但清算會有些延遲)。只要有一家推出,競爭者必須馬上跟進,否則別人就不用了,這樣主網絡上的費用也會迅速大幅下降。現在已經有二層rollup解決方案,如zkswap上線,但和Uniswap相比,鎖倉金額不到后者的5%,主要交易對的流動性不到Uniswap的十分之一,還需要一段時間市場檢驗。[2021/2/25 17:51:22]
在這種情況下,資金利用率為x_real/x或者y_real/y。如果價格波動非常小的話,資金利用率是非常低的。uniswapV3就是嘗試解決資金利用率低的問題。想法比較簡單,所有資金可以只添加到某個區間,只添加到有可能價格波動到的區間范圍。如何在某個區間添加流動性并提供swap功能是uniswapV3的重點。先從VirtualReserves說起。
DeFi用戶總數突破100萬 Uniswap占比58.6%:Dune Analytics數據顯示,截至目前,DeFi用戶總數已突破100萬。其中,Uniswap用戶數量高達58.6萬名,占比58.6%;排名第二為Compound,達25.4萬名;其次為Kyber(11萬)、1inch(4.3萬)和OpenSea(3.3萬)等。[2020/12/5 14:05:31]
虛擬資金池(VirtualReserves)
uniswap的交易采用的乘積固定模型(x*y=k)。所謂的虛擬資金池(VirtualReserves),是指還在乘積固定曲線上,只提供某個區間流動性的資金池:
圖中的墨綠色的曲線就是虛擬資金池滿足的乘積固定曲線。事實上需要的資金的曲線如圖中的橘黃色。橘黃色的曲線公式如下圖:
你可以想象成虛擬資金曲線在x/y軸進行平移,使得a/b點和x/y軸重合。也就是用一定量的資金就能達到“虛擬”的交易曲線的效果。
如何計算在某個區間提供虛擬資金池,先要從深入理解流動性開始。
流動性
乘積固定的交易模型,滿足資金池中的兩種代幣金額滿足:x*y=K。如果設定K=L^2的話,x*y=L^2。L就是我們說的流動性。由乘積固定的交易模型得出如下的公式:
Uniswap 24h交易量約3.54億美元 YFIE漲超700%:智能交易平臺Uniswap當前流動代幣總價值約為6.44億美元(+7.87%),24h交易量約為3.54億美元(+54.59%)。漲幅前三代幣:YFIE(+713%)、NEWTON(+318%)、YFII(+278%);跌幅前三代幣:PASTA(-100%)、NUGS(-75.85%)、SPID(-56.14%)。
提示:任何人都可以在Uniswap上創建和命名任何ERC20代幣,兌換代幣請注意風險。[2020/8/30]
在已知L和sqrt(P)的情況下,也能推導出資金需求量x和y。
通過公式6.6,在流動性不變的情況下,流動性可以看成是單位“價格波動”的y資金量的變化。”價格波動“打上引號是因為事實上是sqrt(P)的變化。
這個是uniswapV3核心公式,用相對值來計算流動性。所謂的流動性,就是單位“價格變化”的資金量。在一定的交易量的情況下,如果流動性好,價格變化就小,流動性不夠的話,價格波動就大。
特別注意的是,一個區間上的流動性和V2的普適的流動性不同。一個區間上的流動性,重點在“區間上”。不同區間的流動性沒有可比性。V2的流動性和區間上的流動性的區別如下圖:
V2的流動性是“普適”的,在所有價格點上流動性相同。V3的流動性是由一系列不同區間上的流動性組成。相對來說,在當前價格左右的流動性比較高。流動性提供者LP只有提供了可供交易的流動性才能獲取交易費。為了獲取更多的交易費,為了提高資金的利用率,流動性提供者會將資金提供在合理的價格波動范圍內。也就是說,在某個區間swap交易產生的手續費,只有該區間流動性提供者才能獲取手續費。為了計算每個區間獲取的手續費,引入了Tick的概念和計算方法。
現場 | POC共識大會暨POC Community圓桌辯論:POW、POS、POC共識戰亂:金色財經現場報道,7月30日,首屆POC共識大會暨POC Community成立儀式于深圳舉辦,圓桌辯論以《POW、POS、POC共識戰亂》為主題,HPool CEO POC生態布道者Alex、幣印聯合創始人朱砝、Hello EOS創始人梓岑進行辯論,并分享了精彩觀點,在爭辯中HPool CEO POC生態布道者Alex提到,目前POW的缺點最大最明顯的發生在礦業,普通人很難參與底層的共識建設,DPOS最大的問題就在于它本身更像一個叫傳統的公司股份制的方式,用這種方式去發行貨幣其實跟國家發行貨幣沒太大區別,關鍵是看項目、應用、信用等級適不適用。
幣印聯合創始人朱砝表示,花200億人民幣的礦機去攻擊一個價值萬億的網絡是不可能的,一是網絡攻擊的是一個交易,并不是整個網絡生態價值,并且單筆交易金額不可能與比特幣生態價值相當;二是很難買到礦機。
Hello EOS創始人梓岑談到,在2014年、2015年Dpos剛剛誕生的時候,Dpos和POW的沖突是非常激烈的,曾經以為我們要挑戰POW,經過多年認知的更新,要挑戰的根本就不是POW,當然也更不會是POC,POW和POC做不了DPOS要做的事情,DPOS是為應用而生的,DPOS賽道是非常安全,DPOS要的是最低成本,運行最多的應用,服務最多的用戶,可以用任何的貨幣體系,可以支持任何的貨幣,并不需要挑戰POW或者POC已經構建好的貨幣體系。[2019/7/30]
Tick
在區間上提供流動性,帶來很多復雜的情況:區間和區間的重疊覆蓋。因為不同區間的流動性沒有可比性,某個交易費并不能混入到流動資金中,等刪除流動性時候一并提取。為了解決這個問題,uniswapV3引入了Tick的概念。交易費用實時結算并單獨記錄,并不混入流動資金中。雖然整個區間和區間的流動性沒有可比性,但是,在具體的某個價格點上,流動性是可比較的。uniswapV3將整個價格范圍(負無窮到正無窮)分成一個個的Tick:
后一個價格點的價格是前一個價格點價格基礎上浮動萬分之一。
每個Tick也有一個唯一的序號。區間可以由兩個Tick表示。邏輯上交易手續費可以一個個的Tick計算,并在每一個Tick上根據流動性的占比進行交易分配。先看看一個Tick范圍的swap的計算。
Tick內的SWAP
假設有一個很小的量的y,需要swap為x。通過6.13的公式,可以計算出因為y的變化導致的價格變化。
再利用6.15的公式可以算出換取的x的量。
uniswapV3針對同樣的交易對設置了不同的交易費:0.05%,0.3%以及1%。如果是從Y換取X,則在換取之前先扣除手續費再進行上述的交換。
在同一交易池中只支持一種費率。也就是說,在一個交易池中支持不同的價格區間,但是都是同樣的費率。如果需要添加同樣交易對的不同交易費的交易池,必須創建新的交易池。
接下來,深入講解一下添加/刪除流動性以及交易費用的計算邏輯。
6
添加/刪除流動性
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))。
當前價格高于流動性價格區間
和第一種情況類似,不重復分析了。
7
Swap交易費用
uniswap最復雜的邏輯是計算交易費用并分配。在添加和刪除流動性之前需要將相應的交易費用提取。
Tick上的總流動性
???在某個Tick上可以存在多個區間。在計算交易費用時,需要平攤這些費用給所有在這個Tick上多個區間的總的流動性。在每個區間的邊界的Tick上記錄下delta_L。
???存在一個全局狀態:liquidity,保存當前價格對應Tick的流動性總和。當價格波動,穿過某個Tick時,會進行流動性的增加或者減少。舉例來說,價格從左到右穿過區間,當穿過區間的第一個Tick時,流動性需要增加,穿出最后一個Tick時,流動性需要減少,中間的Tick都沒有流動性的增加和減少。?
區間上的交易費用率
???計算一個區間上的交易費用率,采用總的費用率減去區間外的費用率的方法。在一個區間的邊界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的所有的費用率就是fo。如果ic
獲取的費用率的基礎上,用費用率乘以區間的流動性可以計算出該區間收取的費用。
總結:
uniswapV3版本核心思想是流動性集中。流動性提供者可以在某個區間提供流動性,提高資金使用率。在某個區間獲取的交易費,由所有在該區間的流動性提供者均分。uniswapV3設計了區間粒度-Tick,并且推導了流動性添加/刪除以及費用計算的過程。在之基礎上,uniswapV3也更新了價格預言機的實現。
2020年提供了寶貴的經驗教訓,說明了技術業務領導者需要以及如何需要對未來的業務模型進行過時驗證。這場大流行使正常運營無法實現,并迫使公司在采用和發展新技術方面取得巨大飛躍.
1900/1/1 0:00:00尊敬的LBank藍貝殼用戶:為更好的服務用戶,LBank藍貝殼將于4月7日17:00(UTC8)上線ETF5倍杠桿.
1900/1/1 0:00:00幣友們下午好,清明小長假剛過幣圈可謂是風生水起。FIL迎來沖高回落大殺四方,幾多歡喜幾家愁。瑞波自即日起以及邁入1.0時代,柚子強勢拉升回到6.0上方.
1900/1/1 0:00:00項目簡介: NKN是區塊鏈技術驅動的一種開放、去中心化和社區共建共享的新型網絡基礎設施和生態系統.
1900/1/1 0:00:00人生總是在做選擇,也總是在等待結果,道路不可能一帆風順,總會有坎坎坷坷,平庸不是每個人都追求的目標。投資市場,也是如此,不可能順風順水。關注“席幕楓”,享受全網公開策略,把握行情動脈.
1900/1/1 0:00:00幣圈的投資朋友下午好,老規矩我們來回顧一下昨天行情策略布局,昨天的比特幣以太坊策略布局在急速下跌的行情中失效,我們也是撲了空。在這樣的行情中踏空也許是最好的結果,沒有什么比本金安全更重要.
1900/1/1 0:00:00