無常損失經典教材:我的 OSMO 如何跟 LUNA 陪葬

〈在 Terra 事件虧掉過半資產後,對自己的嚴厲拷問〉[1] 一文中,我打趣說自己賺到了「5mil LUNA,高位時相當於 5 億美元」。沒想到對 DeFi 完全陌生的朋友沒看懂全文,卻只因著這兩句戲言譁然,用螢光筆圈起來在群組傳閱,讓我啼笑皆非。也太看得起我了吧。

不過說起來,對於沒接觸過 DeFi 的麻瓜,也確實難以搞懂。Terra 事件讓我一下子失去過半資產的,是兩重因素加起來的結果,一是 Terra 的幾近歸零,二是讓同等價值的 OSMO 也「動態清零」的「無常損失」。

死得如此轟烈,最適合用來做無常損失的教材。

去中心交易所與自動造市商

無常損失翻譯自英文 impermanent loss,無論是中文還是英文,都詞不達意,讓人摸不著頭腦。要理解它,就要理解去中心交易所(DEX,decentralized exchange)自動造市商(AMM,automated market make)的基本原理。

兩種資產要能自由兌換,傳統金融體系需要「莊家」,比如街頭的找換店,讓人以 1 港元換取 0.89 人民幣,或反方向以 0.91 人民幣換取 1 港元,中間的差價就是找換店的利潤。至於 DEX 則沒有莊家,本錢是集腋成裘的流動性池(LP,liquidity pool)。

Apple 幣 A 跟 Banana 幣 B 需要在 DEX 自由兌換,需要先設立「A/B LP」。假設 A 跟 B 的現價相同,而 A/B LP 裡面有 10 A 和 10 B,那麼,當 Alice 想要以 A 兌換 B ,就可以把 A 放到 A/B LP,同時從 A/B LP 拿出 B;反之亦然。

一般人會以為,既然 A、B 的現價相同,放入 1 A,就能拿出 1 B,實際不然。基本經濟學告訴我們,需求上升會帶動價格上升;供應上升會帶動價格下跌。當 Alice 拿出 1 A 去換 1 B 的那一刻,A 的供應增加而 B 的需求增加,因此 A 的價格會跌,B 的價格會漲,以程式碼和 LP 自動實現以上供求與價格的關係,就是 AMM。

恆積函數:A x B = K

當然,我們在街頭的找換店拿港元兌換人民幣,不會影響到兩者的價格,但那只是交易量太小而被忽略掉而已,情況就好像你用力踏地,理論上會推地球一把,實際上你不是 Superman,地球應該還好。港美元之間的聯繫匯率也是同樣道理,我傾家蕩產去賣出港元都動不了匯率分毫,但當市場真正大手賣出港元,的確會像 Superman 推動地球一般,牽動港美元之間的匯率,假如港府拿不出相應的錢接貨,匯價就會脫鈎。

第一代 DEX 使用一條極度簡單的公式去反映這種關係,A x B = K,亦稱為恆積函數;即當 A 或 B 其中一方改變時,另一方需要同時改變,以讓兩者相乘的積 K 保持不變。

承以上例子,10 x 10 = 100,Alice 加入 1 A,A = 11,要維持 K = 100,B 就得變成 100 / 11 = 9.09。換言之,Alice 付出 1 A,得到 10 – 9.09 = 0.91 B,而這時候,A/B LP 的組成變成 11 A 和 9.09 B,以市場價格算,維持各佔 50%。

再舉一例,假如 Alice 付出的不只 1 A 而是 6 A,得到的將是 10 – 100 / 16 = 3.75 B,而 A/B LP 的組成則變成 16 A 和 6.25 B。

What explains the rise of AMMs?

更多例子可參考這個 Google 試算表 [2],甚至複製一份,改動數字來觀察變化。

無常損失計算機

如上所述,流動性池是集腋成裘的,而大眾願意投入資產,主要是基於經濟誘因。讓我們簡單假設,A/B LP 建池時其中 5 A 和 5 B 來自 Carol,佔 LP 的 50%。

在以上例子的交易完成後,Carol 的資產變成了 16 A 和 6.25 B 的 50%,即 8 A 和 3.125 B。問題來了,經過市場變化後,Carol 多了較不值錢的 A,少了相對值錢的 B,兩者相加,Carol 的總資產價格會較投入 LP 時下跌。這,就是無常損失。

為免變成無聊的數學課——我知道你在說,上兩段已經很無聊了——就此打住,不再挖下去。讓看到算式就怕的我們,一起使用「無常損失計算機」[3] 去觀察在兩種資產各種價格變化的組合下,所產生的無常損失:

  1. A 和 B 的市場價以同等幅度上升,無常損失為 0。
  2. A 和 B 的市場價以同等幅度下跌,無常損失亦是 0。
  3. A 價格下跌 10%,B 不變,無常損失為 0.11%。
  4. A 價格下跌 50%,B 不變,無常損失為 5.72%。
  5. A 價格下跌 90%,B 不變,無常損失為 42.5%。
  6. 最後,來一個極端例子:A 價格下跌 99%,B 不變,無常損失為 80.2%。

LUNA:比極端還極端 10,000 倍

上完無聊的數學課,是時候放到 LUNA/OSMO LP 的例子實際應用了。

假設——強調以下是為求計算方便的假設數字,不要再胡亂推算我的資產了,我不特別富有,總之剛好「財務自由」就是——我投入 LUNA/OSMO LP 時,LUNA 100 鎂,OSMO 10 鎂,於是 1,000 LUNA 需要對應 10,000 OSMO,讓兩邊等值 10 萬美元,以符合 LP 的需求。

提供流動性給 LUNA/OSMO LP,每天可收取 OSMO 回報,而上月的年回報(APY,annual percentage yield),換算下來約 100%,這就是流動性挖礦,戲稱「務農」。回報是以 OSMO 派發,不看好的,也可每天自行轉成其他幣種。

參考上面我以為足夠極端的例子 6,假如 LUNA 下跌 99%,OSMO 帶來的 100% 回報依然可以蓋過 80.2% 的無常損失,這是我這個投資決定背後的安全網;從結果看我雖然敗得一塌糊塗,但過程倒也不是亂來的。

現在回看當然知道,我那設在 LUNA 下跌 99% 的安全網,就像拿個氣墊去救 99 樓跳下來的人一樣,杯水車薪。LUNA 的現價約 0.0001 鎂,相對 100 鎂的高位,跌幅為 99.9999%。換言之,LUNA 的跌幅,比起我那極端的假設,還要再極端 10,000 倍。別以為那一堆 0 字和 9 字是隨便打而已,那都是認真算過的,我已再三覆核,雖然還是不敢確定沒多了或者少了,畢竟極端得我眼都花了。大家有興趣大可覆核一下。

Uniswap: A Good Deal for Liquidity Providers? [4]
在這情況下,OSMO 的價格變化忽略不考慮,我在 LUNA/OSMO LP 裡的資產,從原來的 1,000 LUNA 和 10,000 OSMO,變成了 1,000,000 LUNA 和 10 OSMO,市場價從原來的 20 萬美元,下跌 99.9%,剩 2 百美元。5mil x 100 = 5 億美元,這就是賺到了「5mil LUNA,高位時相當於 5 億美元」的真正意思。

如果以上還是不夠簡單,這樣理解好了。我把 5 A 和 5 B 投放到 LP,讓人可在 Apple 和 Banana 之間自由兌換,也從中賺取手續費等回報;沒想到全世界 70 億人都以 A 兌換 B,結果我的 5B 幾乎全被換光光,卻得到極大量的 A,但這時的 A 已經一文不值了。

我以為「無常損失」詞不達意,卻原來只是我一直沒有搞懂它的奧義——世事無常,你可能招致全額損失

無常損失是個新概念,並不存在於傳統金融,而是 DeFi 典範才出現;說穿了,所有人都在邊做邊學。我們固然不應忽視它,卻也不必對它過於恐懼;最理想的是像解剖般,把它看過一清二楚,作出理性判斷。

延伸閱讀

  1. 在 Terra 事件虧掉過半資產後,對自己的嚴厲拷問
  2. 〈區塊鏈社會學.財務自由篇.三.交易〉試算表
  3. WhiteboardCrypto – Impermanent loss calculator
  4. Uniswap: A Good Deal for Liquidity Providers?
  5. 士多啤梨蘋果橙 以物易物現代版
  6. liquidity 到底是甚麼?用人話談「流動性」的常識

高重建