買比特幣 買比特幣
Ctrl+D 買比特幣
ads

TIC:Uni V3的數學原理_JUNI

Author:

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

前言——Uniswap V3(如下簡稱 Uni V3)放出了很多 feature,然而其最為本質的迭代依然是對 AMM 數學曲線的再思考。在過去的兩年中,我們也躬身入局 AMM 領域,認為 AMM 最基本的曲線形態已經定型,后續的創新應該會在 AMM 基本曲線形態的基礎上實現“策略化”,于是我們創造了 MOV 超導 V2。而如今我們看到了 V3,突然有一種“久別重逢”的感覺,在尋找這種感覺之余,我們也希望為大家呈現 AMM 最為深刻的思考路程。因為 AMM 的時代將會比想象得更為恢弘壯闊。

讓我們直切正題,Uniswap V3 最耀眼的創新——在 AMM 上實現集中流動性。

V3 給出了一個虛擬儲備金(virtual reserves)的概念,舉例講解:

在傳統 V2 中,Alice 一次性將 500,000 DAI 和 333.33 ETH 注入儲備池,總價值 $1m,提供全區間(0,\infty)的流動性,但實際上 ETH 的價格波動范圍在很長一段時間內是有局部范圍的,這種為全區間無私提供流動性的行為大大浪費了資本利用效率。

(注:在一個逐步走向成熟化的金融市場中,無套利原理和提升資本利用效率永遠是兩大核心訴求,也是后續 DeFi 產品向先驅 DeFi 發起挑戰的出發點。)

數據:Uniswap上USDC的交易量達到4個月低點:金色財經報道,據glassnode數據顯示,Uniswap上USDC的交易量剛剛達到4個月低點的47,511.58美元。

此前2022年5月21日觀察到的低點為112,906.39美元。[2022/9/6 13:10:42]

所謂的集中流動性便是讓 LP 自主選擇波動范圍,只為該范圍提供局部流動性,例如 Bob 認為未來一段時間內 ETH 的價格區間在(1000,2250),并且如果未來真的是在這個區間波動,Bob 希望自己獲得的收益能夠跟百萬富豪 Alice 一樣多,于是 Bob 一開始只需要投入 91,751 DAI 和 61.17 ETH,總價值 $183,500,遠遠小于 Alice 實際投入的資金。我們對照下圖來解釋其中的道理。

即 Bob 所獲得的虛擬曲線(D 值)幾乎跟 Alice 一樣。

dForce社區發起DIP007治理投票,提議dForce借貸協議上線UNI和DF等五種數字資產:3月8日消息,dForce目前正在進行第7次治理投票,根據社區意見,提議dForce借貸協議新增UNI、DF、GOLDx、BUSD、HBTC五種數字資產。DF(dForce治理代幣)持有者可以通過Snapshot系統進行投票并達成最終決策。提案詳情、資產風險參數、資產評估結果,請參見dForce論壇。

dForce社區號召大家通過論壇為自己希望借貸協議增加的資產進行提名,團隊將對最受歡迎的資產進行風險評估,符合標準的資產將會被加入下一批上線資產候選名單,由DF持有者投票并達成最終的治理決策。[2021/3/9 18:28:19]

上述計算過程是一種反證法,實際上用戶 Bob 會向系統算法提出自己的需求輸入,包括預測價格區間范圍、當前價格點、最終想要獲得的一個 virtual reserves 規模(即虛擬曲線 D 值)。有了虛擬曲線表達式的確定,可以輕松算出 a、b、c 三個確定的點坐標,進而便算出 ?x_{real}=61.17以及y_{real}=91751。

同時,也可以看到,一旦未來價格越出了區間,Bob 其中一種資產將徹底消失。

Uniswap創始人:團隊正在招聘全職開發人員優化前端路由:Uniswap創始人Hayden Adams發推稱,人們有時候會抱怨Uniswap的前端路由應該可以更好。最優路由是一個有趣的問題,它的復雜性永無止境,現在至少需要一名全職開發人員。如果有人想接受這份工作,可以進行申請。根據Uniswap Protocol 1月6日發布的消息,Uniswap開發團隊正在招聘高級前端工程師、智能合約工程師、全棧工程師以及軟件工程師實習生。

此前報道,UNI突破10 USDT創歷史新高,市值排名第20。[2021/1/24 13:20:19]

全局狀態中有feeGrowthGlobal0(f_{g},0) 和 feeGrowthGlobal1 (f_{g},1)—f_{g},用來從全局角度統計總的手續費收益。例如,當在一個 tick 內發生了一筆交易,系統會計算出該筆交易產生的手續費:

UNI突破6.1美元關口 日內漲幅超100%:火幣全球站數據顯示,UNI短線持續上漲,突破6.1美元關口,創歷史新高,現報6.1093美元,日內漲幅達102.57%,行情波動較大,請做好風險控制。[2020/9/19]

f_{a}變量是對所有高于 i tick 的區間的 fee 統計,f_{b}是對所有低于 i tick 的區間的 fee 統計,因此在上述總公式中,我們從全局總累計手續費f_{g}中減去所有低于下界i_{l}的累計手續費,再減去所有高于上界i_{u}的累計手續費,便是(i_{l},i_{u})?之間的累計手續費。

f_{o}可以理解為一個計算單元,用于累積截止到i?tick 的手續費,在它的初始化過程中,我們約定如下:

<img ?src="https://img.jinse.com/4923026_image3.png" ? auto";'>

再來看f_{a}的計算,分成了兩段,可以理解為——

如果當前 tick 等于 i 或者高于 i,此時從全局總手續費f_{g}中減去“累積到 i tick”的手續費f_{o}(i),剩下的便是對所有高于 i tick 的區間的 fee 統計;

SEC文件顯示Uniswap在6月籌集1100萬美元:金色財經報道,根據6月份提交給美國證券交易委員會的文件,去中心化交易所Uniswap背后的公司從12位投資者處籌集了1100萬美元。尚不清楚該文件是否反映Uniswap在此特定籌資活動中籌集的總金額。[2020/8/7]

但如果當前 tick 還未抵達 i,此時根據對f_{o}的初始化定義為 0,則所有高于 i tick 的區間的 fee 統計尚未產生,為 0。

同樣對于f_{b}——

如果當前 tick 抵達或者超過了 i,f_{o}(i)表示累計到 i 的手續費,也即對所有低于 i tick 的區間的 fee 統計;

如果當前 tick 還未抵達 i,對所有低于 i tick 的區間的 fee 統計值即為當前的全局變量f_{g}(當前總手續費)。

通俗來概括,系統算法要統計某一個 range 內累計的手續費,

如果當前 tick 已經處于 range 內部,即i_{l}\leq i_{c} < i_{u},只需要從全局手續費f_{g}減去所有低于i_{l}組成的 range 累計的手續費;

如果當前 tick 不處于 range 內部,且低于下界i_{l},說明尚未在(i_{l},i_{u})區間內產生交易,也就未產生手續費,因此該 range 內累計量為 0;

如果當前 tick 不處于 range 內部,且高于上界i_{u},需要從全局總量中分別去除“兩頭”各自的累計量,即從全局f_{g}中減去所有低于i_{l}區間累計量,再減去“從i_{u}到當前 tick 區間累計量”。

Uni V3 計算手續費的過程是一種從微觀走向宏觀的思想,它將空間劃分成離散的,每一個時間刻度只會在一個離散空間上產生交易,從而產生手續費,每一個微觀 tick 都在各自記錄著自己從最低 tick 到自身這段區間內的累計手續費總和,然后供上述公式不斷調用,以計算各種宏觀結果。

Uni V3 已經改變了傳統 AMM 對 LP 行為的設定,也不再基于全局流動性(Global Liquidity)和份額(Share)來為每一個 LP 計算手續費收益。對 V3 來講,它只關注在每一個 tick 里存在多少“虛擬”流動性,以及這些虛擬流動性產生了多少手續費,算得單位虛擬流動性對應的手續費值;在這個時空之下,我們再把視角切到具體每一個 LP 上,對于任何 LP,都會存在一個“開倉”(Position)的區間設定,他在自己設定的區間提供了虛擬流動性,可能是一個 tick,也可能是連續多個 tick,從最簡單的“一個 tick”角度解釋,系統會記得同一時空下每一個 LP 在此 tick 注入的虛擬流動性值,并為他們確定出一個比例(注意這個比例只與最開始注入的虛擬流動性大小有關,并不涉及手續費轉流動性,這與 V2 是不同的),以此分得該 tick 內所有手續費累計。

<img ?src="https://img.jinse.com/4923027_image3.png" ? auto";'>

在實際情況中, LP 們還會存在復雜的行為,比如注入/退出的時間紛雜、選擇的 range/tick 紛雜。但 Uni V3 的大道至簡之處正是利用全局計算來屏蔽掉單個 LP 視角,只關心 ticks 視角和 Position 視角。在確定好上述所述的一系列全局狀態變量的定義后,認真記錄好每一筆 swap 交易在 ticks 中發生的情況(包括只在一個 tick 內完成該筆 swap 交易,和需要跨多個 tick 才能完成該筆 swap 交易),同時只記錄每個 tick 內虛擬流動性的大小,以此為根本去提供 swap 交易公式以及 swap 后手續費如何分配給參與該 tick 的所有 LP 們。LP 的復雜行為體現在空間的不連續性和時間的不統一性兩方面,對于時間不統一性(即會出現很多 LP 不斷加入和退出流動性),Uni V3 還會引入 Position 這一級別的全局變量為每一個身份(address)記錄下其對 range/tick 加入/退出(“setPosition”)時手續費的統計(uncollected fee/feeGrowthInside),確保后來的 LP 不會參與到前序 LP 們已經累計的收益分配。

如果總結來講 ,tick-level 是對空間上發生的統計,確保起點一致的 LP 們 fee 分配,而 Position-level 是對時間上發生的統計,確保不同起點的 LP 們 fee 累計起點不一樣。建議實現者深入 V3 代碼,才能真正獲得安全計算法。

最后,Uni V3 過于復雜,但大道至簡,即便去模仿,模仿者依然需要下功夫深刻了解其“微積分”思維。這篇文章只選擇了 fee 這一個角度呈現 Uni V3 的“數學原理”,也是其實現集中流動性的核心邏輯。而在數學之外,我們有更多驚喜的“哲學意義”發現與大家分享,例如 LP token 的進化、NFT 其實并不只屬于藝術領域(更有助于金融)、V3 會存在一個策略博弈、V3 對基金池/合成資產的啟示等等,當然也包括與 MOV 超導 V2 的“心有靈犀”——AMM 的本質是連續性的無限網格,Uni V3 是在這個無限網格基礎之上再實現了微觀無限網格,是“無數網格機器人的疊加”,MOV 超導 V2 則是在無限網格基礎之上進行了更為宏觀的無限網格,是超級網格。請期待下一篇《Uni V3 的自然哲學》。

作者:比原鏈研究院

Tags:TICICKUNISWAPAtlantic FinanceWICKEDJUNIAnchorSwap

火必下載
TIM:Optimistic Rollup并非萬能 了解Metis Rollup的擴容思路_PLC Ultima

第二層 L2 去中心化組織(DAO)協議 Metis 警告稱,市場中很多高人氣 Optimistic Rollup 解決方案存在「嚴重問題」.

1900/1/1 0:00:00
FIL:上線后陷入“水牢” 算法穩定幣協議FEI或迎來5個緊急改進_FEI價格

自去中心化穩定幣協議FEI完成創始階段并上線以太坊主網以來,其穩定機制未能如期將FEI穩定在1美元,而其設置的燒傷機制,也導致參與者們被迫困在了協議內,一時間,FEI協議陷入了巨大的爭議當中.

1900/1/1 0:00:00
ETHE:解密USDT出現高溢價的原因:老玩家換U挖礦 新人入場_SDT

近些天來,在許多交易所的場外交易平臺,USDT兌換人民幣的價格出現了溢價,以貨幣為例,4月4日,火幣OTC上USDT的價格達到了6.79元,而美元的外匯牌價則為6.56元,出現了多達3%的溢價.

1900/1/1 0:00:00
GALAXY:四季度收入同比上漲近12倍 Galaxy Digital謀求在美二次上市_GALAXY價格

以區塊鏈投資為主、財務公開透明的上市加密貨幣投資銀行Galaxy Digital近期宣布了其2020年第四季度的財務狀況并宣布新的首席財務官Alex Loffe.

1900/1/1 0:00:00
DOT:波卡:回答關于驗證人和平行鏈的 11 個問題_POL

本文整理自波卡官方文檔 Polkadot Wiki,主要是對于波卡驗證人和平行鏈相關問題的一些回答。本文由波卡第一中文社區 PolkaWorld 翻譯.

1900/1/1 0:00:00
ARK:V神:分片是以太坊可擴展性的未來 揭開分片的神秘面紗_MINAR

特別感謝Dankrad Feist和Aditya Asgaonkar對本文內容的審核。分片(sharding)是以太坊可擴展性的未來,它將是幫助以太坊生態系統每秒支持數千筆交易并允許世界上大部分.

1900/1/1 0:00:00
ads