Panoptic 解析(二):協議介紹

Panoptic 如何站在巨人 Uniswap 的肩膀上

Anton Cheng
DeFi 燒酒螺
14 min readApr 22, 2024

--

(1) Panoptic 解析(一):前世今生
(2) Panoptic 解析(二):協議介紹

前言

在前一篇文章中,我們已經討論了為什麼「持有 “Uniswap LP Position” 就等於做空永續選擇權」,也簡單介紹了一下 Panoptic 存在的理由:即為了打造一個更有效率的 Uniswap LP 借貸市場。

有了這個借貸市場後,原本 Uniswap LP 的角色可以持續作為做空永續選擇權的一方,並把他們的 LP 倉位外借,讓作為對手方的用戶成為「做多」永續選擇權、也就是做多 IL 的一方。

一樣先補一張同系列但是意義不明的 AI 作品。

基本角色與交易週期

以下簡單介紹一下最基本的多空雙方運作原理與週期:

XPO Seller

做空 (Short) XPO:原本 Uniswap LP,也是 Uniswap LP 的借方 (lender)

基本上就是原本 Uniswap LP,但是想要賺取更多收益的人,他們可以把他們的 LP Position 外借,收取比單純做 Uniswap LP 更多收益。

一個基本的 Uniswap LP 交易流程圖會如下:

原版的 Uniswap LP: 存錢拿到 NFT 作為憑證

原本一般的 LP 使用的是 Uniswap 官方的 NonFungiblePositionManager 合約(上圖黃色)提供流動性並獲得一個 NFT 作為憑證,但若是想要成為 Panoptic Seller,必需要使用一個新的 SemiFungiblePositionManager 合約來為 Uniswap 提供流動性:並獲得 ERC1155 的代幣作為憑證。ERC1155 的特性是 semi fungible,可以透過不同 token ID 定義多種 subcategory ,且每個 ID 都像 ERC20 一樣是 fungible,所以不同人提供的流動性只要特性相同(如 range 一樣),就是可以互相轉換的。

例如:Alice 想要成為 XPO seller,她可以在 ETH = 2000 的時候,存 2000 個 DAI 跟 1 個 ETH 到 LP contract 中,拿到 2000 個單位的 ERC1155 代幣。在這之後, Alice 就可以把這個 ERC1155 token 放到 Panoptic 的借貸市場上 (下圖中紫色的 Panoptic Pool),等待其他人來借走。

在 Panoptic 的流程中,第一個步驟跟上圖原版的 Uniswap LP 是等價的,不過使用了新的 ERC1155 LP 合約,可以被存到 Panopic Pool 裡面。

註:上圖中的 ETH-DAI-R-1900–2100 代幣名稱是亂編的,但想要表達如果是同樣的 range ,可以鑄造一樣可替代代幣。

到這裡,Alice 作為一個空方的任務就做完了,可以想像是把 Uni LP 代幣存到 Panoptic Pool 之後就結束了,如果沒有任何人來媒合這個訂單,他的 Uni LP 就一樣幫他賺取 Uniswap 手續費的收入。

XPO Buyer

做多 (Long) XPO:需要借 Uniswap LP 的人,貸方 (borrower)

有了 Seller 願意借出流動性之後,XPO 買方就可以直接到 Panoptic Pool 借出目標的 ERC1155 token。實際上拿到這個 Uniswap LP Position 後,會由 Panoptic 把這個倉位銷毀,並且 Hold 原本的資產。

例如下圖中:假設 Bob 想要空 1000 個單位的同性質 Uniswap LP Position,他必須先付一筆一次性的佣金給 Panoptic,控制裡面 1000 個單位的 ETH-DAI-R-1900–2100 代幣。這 1000 個單位(也就是原本 Alice 存的總倉位的一半),共值 1000 個 DAI 與 0.5 個 ETH,這一半的流動性會被從 Uniswap 中提出來,以 1000 DAI + 0.5 ETH 的形式被保存在 Panoptic 合約裡

原本存在 Uniswap Pool 中的 2000 DAI 現在剩下 1000 了,一半被存回了 Panoptic Pool 裡面。

上述這個過程就算是配對成功,一個多與空 XPO 的交易就形成了。一個注意的是 ERC1155 在這裡扮演的角色,由於是 semi fungible,原本 Alice 存進去的 2000 可以只有一半被 Bob 借走,剩下的就繼續在市場上等待配對。這樣可以解決 ERC721 NFT 時難以媒合的問題。

雙方利潤

在上述交易完成之後,其實狀態變得簡單了:假如只看配對成功的 1000 DAI 跟 0.5 ETH,他們其實變回原本代幣形式 HODL 在 Panoptic 合約裡。我們若回頭想想無常損失(Impermanent Loss)的基本定義,就是把純粹 HODL 兩個資產拿去跟 Uniswap LP 倉位相比的價差,Panoptic 交易邏輯其實就是「假裝 LP Position 還在,實際上買家出擔保品後由合約 HOD」最終買家只要償還賣家原本 LP 倉位的價值就好,也就等於做多 IL。

合約在一個交易達成之後會做以下紀錄:

賣家 (Alice) :帳上有 1000 單位的 ERC1155:仍然假裝她這 1000 DAI 跟 0.5 ETH 仍然在做 LP,最終可以拿回 LP Position 值的錢 + 應賺手續費。

買家 (Bob) :貸款 1000 單位的 ERC1155:Bob 要負擔 Alice 本來應該要賺到的手續費(這就是他們所謂的 streaming fee),並且最終要還 1000 單位 ERC1155 對應的資產。

以上面的例子來看:假如今天 ETH 的價格變成了 2100 ,原本 1000 單位的 Uniswap LP 現在應該值 2025 DAI + 0 ETH(超過設定的 upper bound,剛好全部轉換為 DAI),這裡跟純粹持有1000 DAI + 0.5 ETH 的差別,就是 Alice 原本就該吸收的 IL ,也剛好是 Bob 的利潤。

這時候 Bob 可以選擇把倉位關閉,實際上做的事情是,用 2025 DAI 重新鑄造出欠 Alice 的 1000 單位 ERC1155 Token,剩下多餘的錢就會是自己的利潤。此步驟完成後,合約就會回到 Bob 配對前的狀態:由合約持有 2000 單位的 ERC1155 LP Token。

關倉的過程中,Panoptic 重新鑄造出 1000 個 ERC1155 LP Token,合約所有代幣數量回到初始狀態 (2000 單位 LP Token)。

上面的圖略過了一個小細節,就是實際上 Bob 還要從利潤中扣除「理論上 Alice 會賺到的 LP Fee」。這樣最終 Alice 在領錢的時候,就完完全全是拿回在 Uniswap 上面 LP 會賺到的錢,加上訂單配對成功時的權利金。

更多細節

上面的段落介紹了只有買賣雙方的交易邏輯。不過為了讓合約更實用,Panoptic 還加入了 PLP 這個角色,衍伸出來了更多的細節。

PLP (Panoptic Liquidity Provider) 與槓桿

Panoptic 的生態系中還有 PLP 的角色,即為賣方提供流動性來做槓桿,有點像是 gearbox 這樣的借貸市場。這個 PLP 不屬於做多或做空 XPO 的任何一方,單純把資金提供給賣方使用,並收取雙方佣金 (commission)。

對賣方而言,原本需要自己的資金來轉換成 Uniswap LP,可以想像在真正的 Panoptic 合約中,是透過一個 margin account 來開槓桿,只要存一點點的錢,就可以挪用比較多的資金並部署流動性到 Uniswap 中,因此可以有更好的資金效率。每次開空單的時候,賣方都需要付這筆一次性的佣金給 PLP。(P.S. 買方儘管不是直接使用 PLP 資金的一方,在跟賣單配對開倉時,一樣要付一筆佣金。)

在任一時候,Panoptic 都會追蹤 PLP 資金的「利用率」來動態調整賣家可以使用的槓桿大小:假如 Panoptic 合約剩下很多錢,則賣家可以做高用到 5 倍的槓桿。

Streamia (Streaming Premia)

上面有稍微提到,買家需要支付給賣家的權利金,就是「賣家在 Uniswap 上應該賺到的手續費」,不過實際上會多出一點,因為 Panoptic 使用了一個 SpreadMultiplier 來動態調整買家實際上要付權利金加成。這樣可以確保賣家會「賺的比單純去 Uniswap 多」,也以此吸引更多賣家的流動性。

由於他並不是一次性的,而是連續性的一筆 streaming 形式費用,因此在 Panoptic 裡面被稱為 streamia。

強制執行 (Force Exercise)

可以從上面的交易週期介紹中看出:不論一個 XPO 倉位開了多久,買家的成本只有一開始的一筆佣金,還有「能付出 streamia」的抵押品就好。如果買家們不斷的開倉關倉,就會有很多的佣金給 PLP 賺走,但如果一個人開了倉位之後就死不關,那其實就是變相地把錢鎖住了,且無法再造成多的 PLP 佣金收入。

或是我們不管 PLP,單純以賣家「借出」自己 Uniswap LP 的角度來看,也會有類似的問題:假如 Alice 今天不小心選了一個很糟糕的 range,導致她完全沒有任何手續費的收入,那跟他配對的買家也不需要支付任何的 streamia,等於買家一開始付一筆佣金給 PLP 之後,就可以幾乎無成本的繼續鎖著賣家的資產。這都是一些潛在的攻擊手段。

為了解決這個問題,Panoptic 設計了一個強制執行的機制,任何人都可以再付給買家一筆手續費,強制把他的倉位關掉。這確保買家沒有辦法透過永遠不關倉來鎖住大家的錢,但同時也造成買家 UX 上很大的問題(好好的多 XPO 卻隨時可能被平倉 OAO)。

多倉位組合:Multileg Position

上面提到的 SemiFungiblePositionManager 合約,可以支援最多四個不同的 range 的流動性同時被整合成一個倉位。如上面我們的例子中,Alice 提供流動性到 1900–2100 的區間,在 Panoptic 的術語中這就是 short 一個 2000 call。最多可以有四個 long or short position 被組合在一起,這使得可玩的倉位花樣多了很多。

其他想法

對於 Panoptic 這個協議的介紹就差不多到這裡結束了,以下是我的一些想法與覺得可以改進的地方。

跟 Uniswap 的整合

在合約設計上,我覺得綁定 Uniswap 並自己做一個 LP Token Manager 合約是滿聰明的一件事。這個新的 Manager 合約不需要綁定 Panoptic 核心協議設計,可以持續被使用到他們自己的下一個版本。

上一篇文章中我們說到:Panoptic 整個敘事最大的假設,就是 Uniswap 手續費足以帶來如選擇權權利金一樣的收入,我想他們使用 Uniswap ,除了是因為他們可以客製 range 以外,也是因為 Uniswap 有最高的 AMM 交易量,能帶來較高的手續費收益,他們也可以用「賺的一定筆 Uniswap 多」作為吸引 LP 遷移成為 Panoptic 賣家的口號。

對 Uniswap 流動性的影響

我曾經看到有人討論一個有趣的討論,可以分享給大家思考:假如今天所有的 Uniswap 流動性都透過 Panoptic 部署,那會對流動性市場有怎麼樣的影響?

Panoptic 提供了一個「動態調整 AMM 流動性」的媒介:在交易量很低(通常代表波動率很低)的時候,買家有動機要透過 Panoptic 買 XPO ,這可以看成做多波動率,他們這麼做的方法也正好是「減少 AMM 流動性」,因為他們把原本放在 Uniswap 裡面的流動性拿出來了,可能會讓波動率變高。

相反的現在若是交易量很大,應該很多賣家想要來用槓桿賺取手續費,也能透過 Panoptic 將 Uniswap 的資金量增加,降低了每單位流動性的手續費,也可能因而降低市場波動率。

這樣看來,它不但有可能讓 AMM 的「每單位流動性的平均交易量」更穩定,也有可能進一步的藉由「調節 AMM 流動性」,進一步讓資產的波動率受影響,變得更穩定。

產品的包裝以及 Perpetual Option 的敘事

Panoptic 雖然盡了很大的努力在推廣 XPO(或是說把 Uniswap LP 包裝成 XPO),但實際上到底會有多少人會使用 XPO 這個產品呢?我覺得我還是打一個很大的問號。

站在賣方的角度,Panoptic 其實無異於「可用槓桿的 Uniswap LP」,基本上已經被當作高機率賠錢、風險偏高的策略。儘管現在 Uniswap 上還是有大量的 LP,但我相信真的透過 LP 的「做空波動率」性質來賺取收益的人,相較於只是懶得管、想賺空投這種用戶,算是是少數。Panoptic 官方主要的敘事還是針對想要當高頻交易 XPO 賣方的人,並主打槓桿。

我認為若是在賣方的角度可以有別的專案出來以 Panoptic 為底,做主打「更高收益 LP」的產品,其實也是一個可行的路線。由於不少專案必須要在 Uniswap 為自己的代幣提供流動性,就算賠錢還是要做。這些角色其實就有動機使用 Panoptic,不但多一層的收益,也讓用戶多了「買 XPO」的玩法。

站在 XPO 買方的角度,跟傳統選擇權的 theta decay 相比,Panoptic 有機會付相對少的權利金(streamia)獲得很高的槓桿,但也要承擔比較難以預測的風險:例如價格不動但是交易量突然很大,他們的 stremia 支出就會大量增加,或是更直接的風險是上面提到的強制執行,這都會使得買方的使用情境受限。

它究竟是不是借貸市場?

雖說 Panoptic 追根究底,很像是把 Uniswap LP token 放到一個平台上去讓其他人媒合借走,但細心的朋友應該會發現,其實 Panoptic 的設計中並不像一般的借貸市場會有利率,而是都是靠著一次性的佣金。儘管買方需要持續支付稍高一點的權利金 (Streamia) ,但是這是純粹靠 Uniswap 交易狀況定義的變數,跟目前這個「借貸市場」的狀況沒有關係。

如上所述,如果這個借出來的 LP 現在是 out of range 的狀態,買方不需要支付 streamia,他是沒有任何動機要把倉位關閉的。這樣的設計有不少不合理的地方,上面提到的強制執行也是為了解決這個問題的一部分,但透過任何人都可以關閉倉位也製造了很多奇怪的使用限制。

如果回到借貸市場的角度來看,就會覺得這件事情一個更直覺的解決方法,是應該要加入一些利用率的計算:假如現在全部流動性都被借走了,那借走的人應該要持續支付比較高的利息。

當然,聽起好像很合理,但實際上可以想像出很多攻擊手段:例如這個利用率,應該要以每個不同的 range 分開計算還是和在一起計算呢?是否需要每個 tick 都有自己的借貸市場?

我認為一個更全面且健康的權利金支付方法是 Panoptic 急需解決的問題,否則這種「付一次錢可以開無限長的倉位」的做法勢必對買賣雙方到造成很大的限制。

小結

Panoptic 是一個充滿了創新,也充滿了奇怪小設計的協議。從它出道到現在,始終都包裹著一層神秘的面紗,在為所有 DeFi 用戶畫了一塊全新衍伸品大餅的同時,做著一套實際上能增進 Uniswap LP 體驗與效能的事。

我個人希望 Panoptic 未來能夠持續地針對「AMM LP 參與」的問題給出更好的答案。現在的版本其實已經給了一個大綱:透過多一層市場的借貸提供更多人參與 AMM LP 市場的動機。未來如果很多用戶可能心裡想的不是 LP,但卻能在市場最需要的時候,變相透過交易這些波動率衍伸品,達到動態調整流動性的目的,這或許對整個 DeFi 界會有很大的影響力。

講了兩年還在 beta 的 Panoptic,讓我們一起拭目以待 !

--

--