原文標題:《科普 | Uniswap 會是下一個聚寶盆嗎?》
原文作者:Pintail
翻譯 & 校對:閔敏、阿劍

什麼是 Uniswap ?

Uniswap 是 2018 年 11 月發佈在以太坊主網上的去中心化交易所協議。它的創建者是 Hayden Adams,得到了以太坊基金會的資助。Uniswap 的構思簡單而巧妙,使用等價的 ETH 和 ERC-20 代幣建立鏈上交易對池,爲交易所提供流動性。鏈上交易對池採用了自動做市商算法來執行交易,免去了訂單簿和交易對手方。相比於其他交易所,uniswap 交易所的智能合約設計能夠大幅減少 gas 的用量。

Uniswap 已經有了一個成型的生態系統,包括一個交易接口和一個統計信息門戶,迅速與其它區塊鏈平臺展開了深度合作。 開發者們在 Slack、GitHub 和 Reddit 上協同開發。在 Uniswap 上線之後,短短兩個月內就已經積累了巨大的交易量。

DEX 協議 Uniswap 在短短兩月內爆發究竟爲什麼?

流動性由誰提供

Uniswap 上的交易會造成價格下跌,在總流動量中佔比較大的交易造成的價格下跌幅度更大。因此,Uniswap 要想要實現良好運作並處理大型交易的話,還需要建立大型流動性池。那麼流動性由誰來提供呢?這些人又爲什麼要將自己寶貴的 ETH 和 ERC-20 代幣放到 Uniswap 交易所裏呢?

凡是能夠將等值的 ETH 和 ERC-20 代幣注入 Uniswap 交易所合約的人都可以是流動性提供者。作爲回報,流動性提供者會從交易所合約中獲得代幣,可以在任何時候將自己在流動性池中的份額取出來。但凡有交易者在交易所進行交易,都要往流動性池中注入 0.3% 的交易費。由於不會生成新的流動性代幣,這些交易費會按比例分配給所有流動性提供者。

事實上,Uniswap 協議不僅保證了流動性提供者能從所有交易中收取交易費,還保證了一旦大市場環境下價格發生了改變,必定會產生交易。如果另一個交易所的價格發生變化,與 Uniswap 之間存在價格差,就會出現套利的機會。這時就會有人進行套利交易,直到 Uniswap 交易所的價格與市場價持平爲止,流動性提供者可以從中賺取交易費。當然了,如果是流動性強的 Uniswap 交易所,其價格與市場價差距不大,要套利就沒那麼容易了。

既然成爲流動性提供者是件有利可圖之事,人們自然爭先恐後將資產匯入 Uniswap 交易所合約之中了。

DEX 協議 Uniswap 在短短兩月內爆發究竟爲什麼?開放性金融應用 UniswapExchange 目前正經歷爆發式的增長。UniswapExchange 系統內鎖定的 ETH 數量在本月增加了 65%,相比 11 月 2 號項目上線之時增加了 15 倍

然而,將資產放入流動性池中的這段時間裏,一些流動性提供者密切關注着這些資產的價值變化情況,發現以 ETH / ERC-20 代幣交易對中任何一方來衡量,其價值都遠低於他們當初投入的資產。這是怎麼回事?

爲什麼我的流動性資產回不了本?

爲什麼在能夠從交易費中獲利的情況下,流動性提供者投入的資產仍會貶值?

要找出這個問題的答案,我們需要仔細看一下 Uniswap 的交易對公式。這個公式真的非常簡單。如果忽略交易費,我們會得到下列公式:

ETH 流動性池 * ERC-20 代幣流動性池 = 恆定乘積

換言之,交易者用一定量的 ETH 能換得的 ERC-20 代幣數量是根據公式計算出來的,反之亦然。兩個流動性池的乘積在交易前後始終保持不變。交易量在流動性池中佔比很小的情況下,我們可以得出下面的公式:

ETH 價格 = ERC-20 代幣流動性池 / ETH 流動性池

結合上述兩個公式,假設總流動性恆定的情況下,我們可以計算出特定價格下每個流動性池的大小。

ETH 流動性池 = (恆定乘積 / ETH 價格)^ (1/2)

ERC-20 代幣流動性池 = (恆定乘積 * ETH 價格)^ (1/2)

現在讓我們來看一下價格變化對流動性提供者的影響。舉個簡單的例子,假設 Uniswap 的 ETH/DAI 交易對流動性池中共有 100 個 ETH 和 10000 個 DAI ,有個流動性提供者往池中注入了 1 個 ETH 和 100 個 DAI ,佔整個流動性池中代幣總量的 1% 。由此可得,1 個 ETH 價值 100 個 DAI 。經過幾筆交易之後,價格發生了變化(交易費忽略不計)。現在 1 個 ETH 價值 120 個 DAI。那麼流動性提供者投入的代幣價值幾何?將數值帶入上面的公式可得:

ETH 流動性池 = 91.2871
DAI 流動性池 = 10954.4511

鑑於這位流動性提供者掌握了流動性池中 1% 的代幣,他可以從池中取出 0.9129 個 ETH 和 109.54 個 DAI 。由於 DAI 的價格約等於美元,我們不妨將所有代幣都轉換成 DAI ,以便更直觀地感受價格變動所帶來的影響。以現行價格來看,這位流動性提供者在池中持有 219.09 個 DAI 。如果按照之前 1 個 ETH 和 100 個 DAI 來計算的話,不難看出初始價值是 220 個 DAI 。相比之下,流動性提供者反而損失了 0.91 個 DAI 。

當然了,如果價格回升到初始價格,就不會有損失了。因此,我們可以將其稱爲暫時性損失。根據上面的公式,我們可以推導出另一個公式,基於流動性池發生變化前後的價格比計算出暫時性虧損的大小,得出下列公式:

暫時性虧損 = 2 * 價格比 ^(1/2) /( 1 + 價格比)- 1

根據這個公式,我們可以通過繪圖反映不同價格比下暫時性虧損的大小:

DEX 協議 Uniswap 在短短兩月內爆發究竟爲什麼?價格波動給流動性提供者帶來的損失(橫軸爲當前價格與初始價格佔比,縱軸爲虧損率)

還可以通過數據來反映:

如果價格比增加 25 % ,會給流動性提供者造成 0.6 % 的虧損。
如果價格比增加 50 % ,會給流動性提供者造成 2.0 % 的虧損。
如果價格比增加 75 % ,會給流動性提供者造成 3.8 % 的虧損。
如果價格比增加 100 % ,會給流動性提供者造成 5.7 % 的虧損。
如果價格比增加 200 % ,會給流動性提供者造成 13.4 % 的虧損。
如果價格比增加 300 % ,會給流動性提供者造成 20.0 % 的虧損。
如果價格比增加 400 % ,會給流動性提供者造成 25.5 % 的虧損。

注:無論價格比是上升還是下跌,造成的損失都一樣(也就是說,價格翻倍與減半造成的損失都一樣)。

流動性提供者到底能獲得多少收益?

因此,流動性提供者實際可獲得的收益是用累計的交易費減去由價格差導致的暫時性虧損所得的餘額。由於所有交易都是記錄在區塊鏈上的,我們可以看看 Uniswap 主網上線以來的具體情況。就以 ETH / DAI 交易對作爲代表好了。

第一個爲 ETH / DAI 交易對提供流動性的賬戶是 0xf369af914dBed0aD7afdDdEbc631Ee0FDA1b4891 ,他提供了 30 個 ETH 和 5900 個 DAI (當時的價格是 1 ETH = 196.67 DAI ),在 2018 年 11 月 2 日區塊高度爲 6629139 之時發起的交易。自第一筆交易達成之後,這個賬戶就沒有再往流動性池中添加或是取出代幣了,在區塊高度爲 7047556 之時,這個賬戶依舊持有 ETH / DAI 交易對合約中代幣總量的 5.6 % 。

下圖顯示了賬戶 0xf369af914dBed0aD7afdDdEbc631Ee0FDA1b4891 在區塊高度爲 6629139 到 7047556 之間的淨持倉量變化情況。根據上述公式,我們也記錄了暫時性虧損和累計交易費的情況。爲了便於比較,將代幣統一換算成了 DAI 。

DEX 協議 Uniswap 在短短兩月內爆發究竟爲什麼?

如上圖所示,這個賬戶自從爲流動性池注入代幣之後,在大部分時間內相比僅持有代幣是處於淨虧損狀態的(黃線)。這是因爲這段時間內 ETH 的價格變化(綠線)造成了巨大的暫時性虧損(藍線)。不過,交易費在這段時間內是穩定累積的(紅線)。隨着 ETH 的價格逐步趨近初始價格,目前已經挽回了大部分損失。

如果在區塊高度爲 6629139 之時 ETH 回到初始價格,則這個賬戶在流動性池中持有 255.6 個 DAI , 70 天內的回報率爲 2.2 %,年化收益率約爲 11.8 % 。不過請注意,這個年化收益率只是基於前兩個月計算的,未來會發生變化。

流動性提供者獲得的回報還會受到其他因素的影響,還需考慮價格差可能造成的損失。如上文所示,如果長期以來價格起伏過大,造成的損失將遠遠超過交易費帶來的收益。如果 Uniswap 能夠能夠吸引到足夠多的流動資金,流動性提供者就能從價格波動中獲得收益。

綜上所述,成爲 Uniswap 的流動性提供者是探索去中心化金融的有趣方式。Uniswap 能夠讓你利用自己手中的 ETH 和 ERC-20 代幣謀取收益,無需將它們委託給第三方,不過也會帶來一些風險和衝突。