什麼是自動化做市商AMM,以Uniswap為例

買賣虛擬貨幣
AMMAMM(Automated Market Maker):即自動化做市商。我們常認知的交易方式為訂單簿交易模式,即透過訂單簿掛單或吃單由交易所撮合成交。曾經的去中心化交易所也都是透過掛單方式在鏈上撮合成交,或者鏈下掛單撮合鏈上成交。而AMM沒有訂單簿,沒有掛單吃單,AMM的買賣雙方都和鏈上流動池在進行互動交易,而流動性提供者,基於其在流動池的佔比獲取交易手續費(透過提供流動性後給予的LP Token佔比來確認)。首先出現的AMM型別叫恆定乘積做市商(CPMM),最廣為人知的就是Uniswap,下文透過Uniswap更加清晰的介紹AMM。恆定乘積做市商Uniswap 和我們以前理解的訂單簿交易所不同,沒有訂單簿,沒有掛單吃單,而是使用了一種叫恆定乘積的方案。沒有訂單簿,怎麼定價?Uniswap 的核心思想是一個簡單的公式:x * y = k其中 x 和 y 分別代表兩種資產的數量,k 是兩種資產數量的乘積。k在每次交易後可能略微變大,k也會在新增或移除流動池後按比例擴大或縮小,但我們可以在單筆交易中將k的變化忽略不計,認定其為恆定值。
我們假設乘積 k 是一個固定不變的常量, x 是 BU 在流動池的儲量,數量為 10000,y 是 ETH 在流動池的儲量,數量為 1。那麼他們數量的乘積k=10000。此時透過Uniswap用1.5ETH兌換BU會產生以下過程(不考慮千三的手續費)。兌換前流動池BU的數量:10000流動池ETH的數量:1k=10000中間態
流動池BU的數量:10000流動池ETH的數量:2.5k保持不變:10000結果由於k保持不變,根據 x(BU)*2.5(ETH)=10000 解得,x=4000。即為保持k不變,流動池BU的數量將減少到4000枚。
換句話說就是用1.5ETH實際上兌換到了6000枚BU。此時,流動池BU數量:4000流動池ETH數量:2.5k保持不變=10000現在ETH與BU的兌換比例從原來的1:10000變成了1:1600。
透過這種簡單計算方法,與Uniswap實際比例變化相比,誤差不會超過萬分之五。其實我們觀察Uniswap的恆定乘積公式 x*y=k變形後的y=k/x就是我們初中所學的反比例函式。隨著 x 的增加,y 不斷減少並且變化率越來越小。

隨著 y 的增加,x 不斷減少並且變化率越來越小。

在Uniswap上提供流動性

1、流動性提供商收益:在Uniswap上,每筆交易將會收取千三的手續費分給流動性提供商。

2、多Token敞口:由於恆定乘積x*y=k,如果只存入某個Token,由於k保持不變,存入Token的相對價格會急劇下降,導致存入即被套利。所以要在Uniswap上成為流動性提供商,必須存入與流動池比例等比例的x和y。

3、第三方平臺套利:在 Uniswap 系統中依然可以由於不同交易所價差,產生搬磚套利。透過搬磚套利,恆定乘積產生的兌換匯率會趨近於市場真實匯率。

可能產生的問題

1、無常損失:如果流動池中某個Token暴漲或者暴跌,這對於流動性提供商來說會產生“無常損失”,比如在暴漲過程中,對流動性提供商而言,相當於以更低的價格賣出了暴漲的Token,與訂單簿交易所提供流動性可能會產生的損失類似,這是一種資產總值沒有跑贏不提供流動性時的相對損失,屬於機會成本。

2、滑點:在Uniswap交易還有一個概念叫滑點,也就是每次交易,實際上會導致的價格上漲或者下跌的百分比。類似於訂單簿交易所的大單買入賣出時,產生的價格較大波動。

可以透過計算得到在流動池為100ETH和等值BU流動性的時候(初始比例1:10000),不斷用ETH兌換BU時產生的滑點:

從上表可以看出,在這個流動池中,大約5ETH的交易量會產生大約9%的滑點。滑點過高,其實是一種低資本效率的體現,因為需要更多的鎖定資產去減少滑點。

3、高額礦工費:每筆交易包括提供與移除流動性,都需要支付鏈上交易礦工費,該礦工費超過普通轉賬,目前約為0.01-0.02ETH。為普羅大眾所不能接受,極大地限制了交易吞吐量。

4、交易時延:由於需要等待區塊打包,可能因為交易時延導致在巨大價格波動時成交,應對市場變化的反應被拉慢。
5、仍被大戶把控:雖然人人可以提供流動性,但是AMM仍被大戶把控。
6、假Token問題:需要透過合約地址來確認是否為真Token。

此外,其他小型的、未透過合約審計的專案可能存在智慧合約的安全性問題。合約的授權有可能讓駭客利用漏洞調動你錢包裡的所有的資產、合約漏洞也可能會導致只能轉入而不能轉出Token。

其他會用到第三方預言機的專案可能由於預言機資料安全問題,產生的風險。

一些解決方案

恆定乘積方案簡潔明瞭易於理解,由此收穫了大量的使用者,但存在滑點過高、無常損失過高、需要同時存入兩種Token等問題,就此,其他專案進行了廣泛探索,如引入恆定平均值做市商(CMMM)、高階混合恆定函式做市商(CFMM)減少交易滑點,如引入第三方預言機使得不用同時存入兩種Token並且減少無常損失。

我們給出兩個混合CFMM的公式及其影象

1、Curve 的核心公式及影象。

我們可以從影象中看到其相較於Uniswap,會產生更小的滑點。

2、MOV的核心公式及影象

藍色表示恆定乘積曲面,綠色表示恆定之和曲面,中間是核心公式在三維空間下的形態

各位可以嘗試用這些公式計算一下。

各個專案還進行了如下可能的嘗試:多資產的支援、交易手續費自定義、預言機和動態權重調整、採用主動基金型AMM等,這裡不再深入討論。

在實際使用Uniswap過程中,會有交易時間限制,交易滑點限制,價格波動限制,實際上是為了保障交易者避免由於過大價格波動導致的損失。當然,可以透過調整設定或者開啟專家模式避開Uniswap官方設定的保護措施。

流動性挖礦

流動性挖礦,即透過為DeFi應用提供流動性而獲取收益。流動性挖礦可以是存入甚至借出特定的Token資產而獲取某些Token收益,如治理Token。也可以是為去中心化交易所如Uniswap提供流動性而獲取交易費收益,即AMM屬於流動性挖礦。

在更大的體系下,使用者可以跨協議套利,如在A協議上借貸為B協議提供流動性,如果在B協議的收益超過在A協議上的借貸利息,就存在套利空間。隨著越來越多的協議提供流動性挖礦,或者存在利率差,資金就會流向收益和風險綜合最優的地方,直到拉平。

下面這兩個DeFi常用縮略詞也是瞭解AMM或流動性挖礦所必須知道的:

TVL(Total Value Locked):總鎖倉量,為防止DeFi金融套娃,有時會計算排除掉 DeFi 生態內生資產後的真實鎖倉量。

APY(Annual percentage yields):可以理解為計算了複利的年化收益率。與之對比的是不計算複利的年化收益率的APR(annual percentage rates),即名義年利率。

AMM在近幾個月已經取得了指數型的增長,AMM已經是DeFi概念的重頭戲,而有關減小滑點、減少無常損失等方面的討論和創新不會停止。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;