為何流動性池的兩種通證總是初始價值相同?Defi無常損失分析

2020年夏天,Defi集中爆發,Uniswap,Compound,Sushi,YFI等項目紛紛展現出強勁的成長能力,將來自各方的目光牢牢吸引。其中自動做市與以往的中心化交易所匹配規則完全不同,不需要買方和賣方分別報價,而是通過簡單而又精巧的模型設計,實現算法自動確定交易價格。


為何流動性池的兩種通證總是初始價值相同?Defi無常損失分析


不過,雖然這種交易方式非常簡便,但卻也存在自身的問題,而“無常損失”就是其中非常重要的一個。無常損失是指由於自動做市模式無法承擔價格發現功能,從而在通證價格發生變化時,會出現套利的空間。套利者利用流動性池裡通證價格和中心化交易所之間通證價格的差異進行套利,而這部分套利的利潤則會成為流動性提供者(LP)的損失,亦即無常損失。


如上所述,無常損失最終的承受者是LP,而LP又是Defi流動性的來源和生存之本。因此,如何避免或減輕無常損失將是重中之重。本篇文章中,我們僅從數學角度,探討在最常用的xy=k模型下,將流動性池的兩種通證的初始價值設置為相同,是如何能夠降低無常損失的空間的。


假設一個交易對中的兩個通證分別為A和B,在初始狀態,流動性池中共有A通證x個,B通證y個,其價格(法幣本位)分別為px與py。此時,B的價格在外部出現了上漲,新的價格為py’,此時流動池中的py小於池外的py’,出現了套利空間,套利者會在流動池中用A購買低價的B。


假設某套利者向池子中注入一定量的A,使得A的數量從x變為x’,並從池子中獲得一定量的B。那麼在這次交易過程中,該套利者獲得了多少利潤?也就是產生的無常損失是多少?


設流動性的初始總價值為TV,則TV=x*px+y*py


當B的價格上漲,TV’=x*px+y*py’


當套利者完成交易,TV’’=x’*px+y’*py’


則無常損失TL=TV’-TV’’

且因為xy=k=x’y’,所以y’=xy/x’


因此TL=(x*px+y*py’)-(x’*px+py’*xy/x’)


=(y-xy/x’)py’-(x’-x)px


兩邊同時乘以x’,那麼


x’TL=(x’y-xy)py’-x’(x’-x)px


兩邊再同時除以(x’-x),則


x’TL/(x’-x)=y*py’-x’*px


因此TL=(y*py’-x’*px)(x’-x)/x’


=(1-x/x’)(y*py’-x’*px)


由此我們得到最終公式:


TL=(1-x/x’)(y*py’-x’*px)

由於x一定小於x’,因此(1-x/x’)一定大於0。故只要(y*py’-x’*px)大於0,就會產生無常損失。


為何流動性池的兩種通證總是初始價值相同?Defi無常損失分析


由此我們可以看出,從大體上來講,A和B之間的價值差距越大,無常損失的空間越大。這也就是為什麼流動池的設計都要設計成A和B之間的價值相等,就是為了儘量避免無常損失;同時,這也是為什麼帶穩定幣的交易對無常損失小的原因——穩定幣的價格波動小,因而會產生的無常損失的空間也會更小。


因此,這就是流動性池的初始狀態會安排成兩種通證的價值相等的原因。


分享到:


相關文章: