在DeFi領域中,自動化做市商(AMM)被用于描述一種協定或應用,其利用數學函數來确定資産的價格,并促進兩種或多種資産的交換。AMM最著名的例子是Uniswap,作為一個去中心化交易所(DEX),它利用了恒定乘積函數(x*y=k)來進行代币互換。
自動化做市商(AMM)簡史
自2017年Bancor引傳入連結上AMM以來,AMM在不同方面已經有了一些顯着的改進。
- Uniswap(2018年):首個實作有意義交易量,并在DeFi領域掀起AMM浪潮的AMM。 Uniswap的成功,很大程度上是因為它的簡單性。
- Curve (2019年): 首個針對穩定資産籃子進行優化的AMM;
- Balancer (2020年): 首個使流動性資金池建立者能夠自定義單個池中兩個或多個資産之間權重的AMM;
- Bancor V2(2020年):首個引入流動性池動态權重,以減輕流動性提供者(LP)無常損失的AMM,此外,Bancor還允許LP向資産池提供一種資産來參與做市;
- Blackholeswap (2020年):首個利用Compound或其它借貸協定的供應,來處理超額流動性池交易的AMM;
在這一創新鍊的基礎上,很榮幸和大家分享一種由Perpetual協定開創的新型AMM:虛拟自動做市商(以下簡稱“vAMM”或“vAMMs”)。
目前AMM的局限性:杠杆、做空和無常損失(IL)
盡管AMM領域出現了大量創新,但上述所有改進都集中代币互換服務上,這意味着每一種新方法都隻适用于互換,而不能應用于衍生品(如永續合約)。
我們知道,永續合約是加密貨币交易者最喜歡的産品。由于衍生産品通常涉及某種杠杆作用,是以很難使其與目前的AMM設計相容。然而,的确有一些可能的方法。例如,利用AMM實作杠杆和沽空的一種方法,是鼓勵流動性提供者在AMM池中提供代币(=1倍杠杆),并允許交易者以他們想要的杠杆率借入資産。你可以在這裡了解更多有關此方法的資訊。然而,這種方法的缺點是:1)流動性提供者(LP)會遭受很高的無常損失,(2)未平倉利率受資産池規模的限制。
Perpetual協定的解決方案:虛拟化AMM
為了解決目前AMM方案存在的局限性,Perpetual協定引入了一種稱為“虛拟AMM”的全新方法,它從根本上擴充了AMM的應用空間,并首次實作了永續合約。
對于那些不熟悉永續合約的讀者:永續合約是類似于期貨合約的衍生産品,但它沒有到期日期。對于WTI等正常期貨合約,随着到期日的臨近,合約的價格将與标的資産的現貨市場價格逐漸收斂。而對于永續合約,要使其價格與現貨市場價格一緻,業内使用最為有效的方式是“融資率”(funding rate)。你可以閱讀我們的文檔,或FTX幫助中心的這篇文章,以了解有關融資運作方式的更多資訊。
Perpetual協定的vAMM使用了與Uniswap相同的x*y=k恒定乘積公式。正如vAMM“虛拟”部分所暗示的那樣,vAMM本身并沒有存儲真正的資産池(k)。相反,真實的資産存儲在一個智能合約金庫中,該金庫管理所有支援vAMM的抵押品。與傳統的AMM不同,Perpetual協定使用vAMM作為一種價格發現機制,而不是用于現貨交易。
下面是關于vAMM工作原理的說明:
1、在區塊鍊上建立vAMM之前,建立者設定存儲在vAMM中虛拟資産的數量。假設以太币的交易價格為400 DAI,建立者可在vAMM上設定ETH和DAI的初始金額,比例為1:400。為了簡單起見,我們假設建立者将vAMM的初始狀态設定為100 vETH和40000 vDAI。
2、交易者Alice希望以100 DAI作為抵押品,然後10倍做多ETH:
(1)、Alice将100 DAI存入Perpetual協定的金庫,如上所述,這是一個Perpetual協定上的智能合約。
(2)、Perpetual協定将來自Alice的1,000 vDAI(100 DAI的10倍杠杠)記入vAMM,vAMM根據一個恒定乘積函數(x*y=k)計算Alice收到的vETH數量。
(3)、Perpetual協定記錄Alice現在有2.4390244 vETH ,而這個vAMM裡面的狀态變成97.5609756 vETH和41000 vDAI。
3、交易者Bob随後以100 DAI作為抵押品,10倍做空ETH,這意味着:
(1)Bob将100 DAI 存入相同的金庫。
(2)Perpetual 協定将來自Bob的 -1,000 vDAI記入vAMM,vAMM根據一個恒定乘積函數(x*y=k)計算Bob收到的負vETH的數量。
(3)Perpetual 協定記錄Bob現在做空了2.4390244 vETH,而這個vAMM内部的狀态現在變成了100 vETH和40000 vDAI。
vAMM的獨特性質
1、不需要流動性提供者
由于路徑獨立性,金庫将始終擁有足夠的抵押品來償還所有針對vAMM進行交易的交易者(假設所有抵押不足的資産在破産前都已成功清算)。傳統AMM的流動性來源于流動性提供者(LP)為促進交易而提供的資産,與之不同的是,vAMM的流動性直接來自于vAMM之外的金庫。換言之,不需要讓流動性提供者來為vAMM帶來流動性,交易者本身就可以彼此提供流動性。
由于在vAMM中不需要流動性提供者,是以從一開始就不存在無常損失問題。
2、定期價格調整
vAMM本身就是一個獨立的現金結算市場。如果我們想讓vAMM市場價格接近某個基本指數,我們需要增加一個融資利率,類似于在中心限價訂單簿(CLOB)交易所永續合約的融資支付。例如,以下是FTX的融資支付公式:
這個融資支付激勵套利者使市場價格盡可能接近标的指數,并使vAMM市場跟蹤标的指數。
Perpetual協定利用了與FTX類似的融資利率公式,是以允許新的衍生品市場在密切跟蹤标的指數的同時,利用杠杆進行交易。
管理滑點
與傳統AMM相似的是,當vAMM的K值較高時,交易者遭受的滑點較少,但相似之處到此為止。
對于傳統的AMM,增加K值的方法有(1)鼓勵更多的流動性提供者提供更多的流動性,或者(2)增加交易費用,并回收交易利潤以提供更多的流動性。
相比之下,在vAMM中,由于K值是由vAMM營運者在啟動時手動設定的,是以即使在vAMM建立之後,也可以随時随意增加或減少K,這有助于市場對最新情況做出響應。話雖如此,盡管vAMM營運者具有這種權力,但他/她無法轉移存儲在金庫中的使用者資金。 vAMM營運者在第一個版本中會是Perpetual協定團隊,并在之後過渡到DAO結構。
雖然Perpetual協定的第一個版本将手動設定K值,但随着時間的推移,我們希望K值是按算法進行設定。例如,K可設定為交易量、未平倉利率、融資支付、波動率及其他變量的函數。
K值的設定需要保持微妙的平衡。如果K值太低,則協定的自然使用者将産生過高的滑點,并抑制他們在系統中的交易。然而,如果K值太高,那麼套利者将沒有足夠的資金來維持vAMM價格與标的指數價格一緻。
結論
上面我們介紹了vAMM的工作原理以及關于vAMM的幾個獨特屬性。Perpetual協定是vAMM的第一個實作,目前你可以在以太坊Ropsten測試網上體驗到它:ropsten.perp.exchange 。
感謝Kyle Samani,John Robert,Justin Lee,MatejGalvánek以及Andrew Kang的評論!