Perpetual Protocol 通過 vAMM 模式實現去中心化永續合約交易,在一定程度上解決了 AMM 流動性和無償損失問題。

撰文:郝凱,就職於 HashKey Capital Research
審覈:鄒傳偉,萬向區塊鏈首席經濟學家

做市商廣泛存在於交易市場,他們通過做市制度來維持市場的流動性,滿足交易者的交易需求。隨着 DeFi 項目的興起,自動化做市商(AMM)受到越來越多的關注。AMM 利用數學函數來確定資產的價格,在推動 DeFi 發展和提供流動性方面發揮了巨大作用。

永續合約很好地契合了加密貨幣市場上交易者的特點和需求,已經成爲中心化交易所在期貨合約市場的主要產品。作爲實現去中心化交易所(DEX)的關鍵技術,AMM 已經被成功應用到現貨交易中。一些 DeFi 項目希望通過 AMM 的方式實現永續合約,Perpetual Protocol 是其中的典型代表。根據下表中數據,Perpetual Protocol 的交易量在衍生品類去中心化交易所是最高的。

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計表 1:與去中心化交易所相關的主要 DeFi 項目,數據來源:www.oklink.com,2021 年 3 月 15 日

項目設計

AMM 通過完全去中心化的方式實現兩種或多種資產之間的鏈上交易,利用數學函數來確定資產的價格。例如,Uniswap 使用恆定乘積函數 x*y=k,當 x 的供給增加時,y 的供給就會減少,以保持恆定的乘積 k,反之亦然。但是,AMM 還存在很多限制,包括無常損失、資本使用效率低和無法使用槓桿等。

虛擬自動化做市商

針對當前 AMM 存在的問題,Perpetual Protocol 引入了虛擬自動化做市商(vAMM)。所謂虛擬自動化做市商,指的是交易者的真實資產沒有存儲在 vAMM 中,而是存儲在管理所有 vAMM 抵押品的智能合約中。

對於流動性而言,AMM 的流動性來源於流動性提供者在流動性池中提供的資產。vAMM 的流動性不依賴流動性提供者,直接來自於 vAMM 之外的抵押品。在 vAMM 中,交易者本身可以彼此提供流動性,不需要其他流動性提供者。因此,vAMM 始終存在流動性。

對於無償損失而言,由於 vAMM 不需要其他流動性提供者預先放入資產來提供流動性,交易者的真實資產存儲在管理抵押品的智能合約中,因此 vAMM 模式下不存在無償損失。

vAMM 也採用恆定乘積函數 x*y=k,並且 Perpetual Protocol 允許交易者使用 1-10 倍的槓桿進行永續合約交易。與 AMM 不同的是,vAMM 不需要真實的流動性提供者來提供資產,x、y 和 k 值是由創建者設定的。

由於 k 值是虛擬的,可以根據交易量、持倉量和資金費率等市場數據進行調整。未來,k 值可能會以分佈式自治組織的形式來決定。通過調整更高的 k 值,vAMM 可以有效解決交易滑點的問題。但 k 值也不能設置的太高,否則會影響套利者的參與動力。

交易流程

創建者創建 vAMM,並設定 vAMM 中虛擬資產的初始數量 x0 和 y0,對於任意時刻,資產 x 和資產 y 都滿足恆定乘積函數 x*y=k,資產 x 相對於資產 y 的初始價格爲 y0/x0。

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計表 2:交易流程示意圖

當交易者進行平倉時,他們需要拿出持有的資產 x,並根據恆定乘積函數計算得到最終實際獲得的資產 y 的數量。

資金費率

爲了確保永續合約的價格和現貨價格之間的長期趨同,不會偏離現貨價格太多,Perpetual Protocol 也引入了資金費率機制。Perpetual Protocol 每隔一個小時進行資金費率的結算。資金費率決定了付款方和收款方:如果永續合約的價格明顯高於現貨價格,那麼資金費率爲正,多頭需要支付資金給空頭;反之,如果永續合約的價格明顯低於現貨價格,那麼資金費率爲負,空頭支付資金給多頭。並且,價格偏離的程度越高,資金費率就會越高。如果永續合約的價格與現貨價格出現明顯的偏差,會有套利者在兩個市場上進行套利。同時,Perpetual Protocol 也採用標記價格以避免市場操縱的影響。

Perpetual Protocol 的資金費率的計算如下。其中,TWAP 表示時間加權平均價格。

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計

項目代幣 PERP

PERP 是 Perpetual Protocol 的項目代幣,主要作用包括抵押和治理。PERP 持有人可以抵押代幣並按比例獲得交易手續費的分紅獎勵。同時,PERP 持有人還可以參與項目治理,例如參與投票上線新的交易對和修改項目參數等。

案例分析

目前,Perpetual Protocol 支持 ETH/USDC、BTC/USDC 和 DOT/USDC 等交易對,每個交易對都用 USDC 作爲保證金。以 ETH/USDC 爲例進行分析。假設 ETH 的交易價格爲 2000 USDC,創建者設置 ETH 和 USDC 的初始比例爲 1:2000。例如,創建者將 vAMM 的初始狀態設置爲 100 vETH 和 200000 vUSDC,具體交易流程如下表所示。

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計表 3:案例分析

交易者 A 希望以 1000 USDC 作爲抵押品,然後 10 倍做多 ETH。A 將 1000 USDC 存入抵押品的智能合約中。Perpetual Protocol 將 A 的 10000 vUSDC (1000 USDC 的 10 倍槓桿)計入 vAMM。此時,vAMM 中 USDC 的數量爲 210000,根據 x*y=k 計算 A 收到的 vETH 的數量,即 4.7629 個(100-100*200000/210000),相當於 A 持有 4.762 個 ETH 多倉。

此時,交易者 B 也希望以 1000 USDC 作爲抵押品,然後 10 倍做多 ETH。B 將 1000 USDC 存入抵押品的智能合約中。Perpetual Protocol 將 B 的 10000 vUSDC (1000 USDC 的 10 倍槓桿)計入 vAMM。此時,vAMM 中 USDC 的數量爲 220000,根據 x*y=k 計算 A 收到的 vETH 的數量,即 4.329 個(95.2381-100*200000/220000),相當於 B 持有 4.329 個 vETH 多倉。

然後,交易者 A 拿出持有的 4.762 個 vETH 進行平倉。此時,vAMM 中 vETH 的數量爲 95.671,根據 x*y=k 計算得到 vUSDC 的數量爲 209049.8,A 的最終獲利爲 950.2 個 USDC (220000-209049.8-10000)。

此時,交易者 B 拿出持有的 4.329 個 vETH 進行平倉。此時,vAMM 中 vETH 的數量爲 100,計算得到 vUSDC 的數量爲 200000,B 的最終獲利爲-950.2 個 USDC (209049.8-200000-10000),即交易者 B 虧損了 950.2 個 USDC。

與中心化交易所永續合約的對比

交易對手方

中心化交易所的永續合約屬於場內標準化交易產品。永續合約是一個雙向交易市場,根據中心化交易所的撮合機制,交易者在開倉交易時必須要有對手盤才能成交。也就是說,對於做多的交易者,必須有做空的對手方纔能完成交易,反之亦然。

但 Perpetual Protocol 的交易者不需要交易對手方。從上一章的案例中可以看出,在 vAMM 模式中沒有真實的資產在進行交易,交易者在開倉時不需要反方向的交易對手方。在不考慮交易手續費等磨損的條件下,生態中交易者的盈利等於其他交易者的虧損,並且與交易方向無關。即使 Perpetual Protocol 中兩個交易者的交易方向是一致的,還是可能會出現一位交易者盈利而另一位交易者虧損的情況。

考慮一種極端情況,Perpetual Protocol 生態中所有交易者都建立多頭頭寸或都建立空頭頭寸。這在中心化交易所的永續合約市場上是不可能發生的,但對於 Perpetual Protocol 是可能的。此時,Perpetual Protocol 市場的價格將會明顯偏離現貨市場的價格,理性的套利者會進行做空以獲得資金費率金。如果沒有套利者加入,多頭需要向風險準備金支付資金費率金。

盈虧計算

中心化交易所的永續合約可以分爲幣本位合約和 USDT 本位合約。幣本位合約也稱爲反向合約,交易者使用對應的加密貨幣作爲保證金來進行交易,最終也按對應的加密貨幣進行結算。例如,交易者參與 BTC 的幣本位合約,那麼交易者要先持有一定數量的 BTC 作爲保證金,其最終收益也按 BTC 來計算。USDT 本位合約也成爲正向合約,其保證金和結算幣種都使用 USDT。參與 USDT 本位合約的交易者不需要持有不同種類的加密貨幣,只持有 USDT 就可以參與所有交易品種的 USDT 本位合約。同時,USDT 本位合約的保證金的價值不會發生變化,其盈虧曲線是線性的。假設在 10000 美元的價格分別在幣本位永續合約和 USDT 本位永續進行 BTC 開倉 100 張合約,盈虧曲線如下圖所示。

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計

HashKey 郝凱:深入解析 Perpetual Protocol 永續合約機制設計圖 1:幣本位合約和 USDT 本位合約的盈虧曲線

對於幣本位合約,交易者的盈虧需要根據持倉均價、平倉成交均價、合約面值和合約張數來進行計算:多倉盈虧 =(1/ 持倉均價-1/ 平倉成交均價)*平多倉合約張數 *合約面值;空倉盈虧 =(1/ 平倉成交均價-1/ 持倉均價)*平空倉合約張數 *合約面值。

對於 USDT 本位合約,交易者的盈虧需要根據持倉均價、平倉成交均價、合約面值和合約張數來進行計算:多倉盈虧 =(平倉成交均價-持倉均價)*平多倉合約張數 *合約面值;空倉盈虧 =(持倉均價-平倉成交均價)*平空倉合約張數 *合約面值。

對於 Perpetual Protocol 的交易者來講,他們最終的盈虧計算與開倉和平倉時的整個系統的狀態有關。

風險準備金

中心化交易所都爲永續合約提供風險準備金。如果交易者的永續合約被強制平倉,交易所就會啓動清算引擎接管交易者賬戶上剩餘的倉位,並使用風險準備金來進行反向平倉。風險準備金的存在相當於交易所在強制平倉的價格向交易者提供了無限流動性。如果交易所的風險準備金不夠接管被強平用戶的剩餘持倉,交易所將會按照規則對獲利方進行自動平倉。主流的中心化交易所都積累了大量的風險準備金以保護交易者的利益。

Perpetual Protocol 也存在風險準備金。當市場上清算不及時未能清算未抵押頭寸,或市場不平衡需要 vAMM 支付資金費率金時,就會需要使用風險準備金。如果風險準備金用完,系統將鑄造新的代幣 PERP 在市場上出售以償還債務。

與中心化交易所相比,上線時間不久的 Perpetual Protocol 所積累的風險準備金非常有限,而且風險準備金主要是自身代幣 PERP,價值也不穩定。因此,Perpetual Protocol 的風險準備金都用戶的保護力度比較小。

思考和總結

Perpetual Protocol 通過 vAMM 的模式在一定程度上解決了 AMM 的流動性和無償損失問題。Perpetual Protocol 採用 Layer 2 解決方案,交易在 xDai Chain 進行處理,這意味着交易的效率更高且沒有 Gas 費。同時,Perpetual Protocol 實現了去中心化的永續合約。

vAMM 模式中沒有真實的資產在進行交易,交易者在開倉時不需要反方向的交易對手方,這就與 Synthetix 等項目一樣,生態中交易者的盈利等於其他交易者的虧損。在這種情況下,交易者即使判斷對交易方向,還是可能會出現虧損。

Perpetual Protocol 的永續合約交易深度遠小於中心化交易所,風險準備金的規模也無法與中心化交易所相比較。同時,Perpetual Protocol 的交易者的盈虧計算比較複雜。因此,當前 Perpetual Protocol 的用戶體驗還有待改進,中心化交易所的永續合約更適合交易者進行參與。