本文最早於 2023 年 3 月 9 日 ,作為《PAKA 跨鏈研報》系列的第 5.10 章節發佈。
作者:MiddleX
封面:Photo by Terrance Raper on Unsplash
與我交流:
- Twitter:@middlex0
- VX:xuezhijie156
SwapBridge ,也稱流動性互換橋,其應用場景是使用者在多條鏈之間交換原生資產。 與 WrapBridge 相比,SwapBridge 是更常見的資產橋用例,因為多數情況下,使用者希望在目標鏈獲得原生資產,而非 wrap 資產。
1. SwapBridge 的研究框架
SwapBridge 的數量非常之多,各自都有自己的一套技術描述語言、分層結構模型、概念命名系統,這為研究者帶來了不小的麻煩。 為了我們的研究分析更加方便,本文會使用自己的一套描述系統,統一去描述各類跨鏈橋。 該描述系統事實上也是一個研究框架。
為了您能夠更好的閱讀本研報,我們強烈建議您,先通過閱讀本章,充分熟悉該框架。
1.1 媒介資產
為了更高效的完成交換,跨鏈兌換往往需要用到媒介資產。 媒介資產是指與大多數其他資產建立了流動性的資產,它充當了類似於現實經濟中貨幣的作用。 眾所周知,貨幣作為交易媒介,可以避免複雜且不可靠的物物交換。
我們用 M 來表示媒介資產,當使用者需要將資產 A 交換為資產 B 時,如果
資產 A、資產 B 在同一條鏈上,那麼過程將是:A→M→B 。
資產 A 和資產 B 不在同一條鏈上,過程會複雜一些。 假設資產 A 所在的 X 鏈的媒介資產是 M(X),資產 B 所在的 Y 鏈的媒介資產是 M(Y),那麼使用者將資產 A 交換為資產 B 的過程會是這樣的:A→M(X)⇒ M(Y)→B 。
SwapBridge 要完成的是該過程的中間部分:M(X)⇒ M(Y),至於該過程的首尾部分,也就是 A→M(X)和 M(Y)→B ,往往由 A 鏈和 B 鏈本地的 DEX 完成。 我們可以用下圖來更完整的描述這個過程:
假如使用者需要把乙太坊上的 UNI 交換為 BSC 鏈上的 CAKE,那麼過程可能是:
- 使用者的 UNI 在乙太坊上的 Uniswap 中換成 USDT ;
- 通過 SwapBridge ,乙太坊的 USDT 被換成 BSC 鏈上的 BUSD ;
- 然後 BUSD 透過 BSC 鏈上的 Pancakeswap 被交換為 CAKE 。
這個例子中,我們選取了 USDT 作為 M(Ethereum),而 BUSD 作為 M(BSC),在實際情況中,一條鏈上的媒介資產可能不止一種。 例如,在乙太坊上,除了 USDT 之外,USDC、ETH、WETH、DAI 也是常見的媒介資產,具體交易過程中,選擇哪種媒介資產,取決於 SwapBridge 的路由策略,一般情況下,SwapBridge 會根據流動性分佈情況,為使用者選擇合適的媒介資產,以相對較低的損耗為使用者完成兌換。
1.2 多鏈共同媒介資產
在上面的例子中,M(X)和 M(Y)是不同的資產,但 M(X)和 M(Y)也有可能是相同資產,比如可能都是 USDT,或都是 USDC,USDC/USDT 本身就是原生的多鏈資產。 例如使用者需要把乙太坊上的 UNI 交換為 Polygon 上的 MATIC ,那麼過程可能是這樣的:
- 使用者的 UNI 在乙太坊上的 Uniswap 中換成 USDC ;
- 通過 SwapBridge,乙太坊的 USDC 被換成 Polygon 鏈上的 USDC(原生 USDC,非 wrapped 資產);
- 然後 USDC 透過 Polygon 鏈上的 Quickswap 被交換為 MATIC 。
這種情況更有利於流動性的構建,因為不同鏈上的 USDT,或是不同鏈上的 USDC,其價格屬性基本是一致的(儘管不同鏈的安全預期不盡相同,但不同鏈上的 USDT 都來自 Tether,不同鏈上的 USDC 都來自 Circle,他們都包含了其發行者的承兌承諾),幾乎沒有價差。 這帶來了兩個便利:
- LP 可以僅提供單邊流動性。 SwapBridge 可以在不同鏈上調度這些流動性。 LP 大多數情況下不介意自己提供的流動性被傳輸到其他鏈上;
- 不同鏈上的 USDC 可以恆定 1:1 兌換,USDT 也是如此。 這既省去了用合約代碼實現 AMM 演算法的複雜性,也省去了建立 AMM 的冗餘流動性成本。
1.3 核心部分與擴展部分
SwapBridge 的核心部分完成的是 M(A)⇒M(B)的過程,兩端的 DEX 是 SwapBridge 的擴展部分。 有的 SwapBridge 會內置擴展部分,有的 SwapBridge 只提供核心部分,擴展部分會交給聚合器。
SwapBridge 的擴展部分大同小異,無非是在各自支援的鏈上聚合已有的 DEX ,但核心部分的設計卻有多種多樣不同的設計方案。 因此,我們在後文的項目舉例分析中,將只分析核心部分,忽略擴展部分。
1.4 分層模型
為了便於分析,我們將 SwapBridge ,分為三個層:
- AMT 層:規定了 SwapBridge 所涉及的跨鏈消息如何傳輸及如何驗證。 SwapBridge 可能使用現有的 AMB 橋作為 AMT 層,也可能自建或者定製 AMT 層。
- 合約層:SwapBridge 需要在每條支援的鏈上部署合約,以實現其對跨鏈消息的執行邏輯,不同的 SwapBridge 對其合約做了不同的命名,但其中要編寫的執行邏輯沒有太大差別。
- 流動性層:規定了 swap 橋如何構建流動性,調節流動性,以滿足用戶的兌換需求。 這是 SwapBridge 最值得展開分析的部分,是 SwapBridge 在設計時最需要花心思的地方。 也正是流動性層的機制,決定了 SwapBridge 項目之間最根本的不同。
後文的舉例中,我們將主要著墨於流動性層,對 AMT 層與合約層僅做簡要介紹。
1.5 流動性模式分類
SwapBridge 根據流動性模式,可以分成 AMM 和訂單薄兩種模式。
每一筆跨鏈兌換,都有一個執行價格,在不考慮 Gas 費和手續費的情況下,這個執行價格決定了使用者每個單位的原資產可以兌換為多少個目標資產。 在 AMM 模式中,執行價格由 AMM 演算法計算得出; 在訂單薄模式中,執行價格一般由 LP(Liquidity Provider,流動性提供者)報價(掛單)並由使用者確認(吃單)而產生。
AMM 模式對交易者而言,存在滑點問題、MEV 問題; 對 LP 而言,存在無常損失問題,這些問題在訂單薄模式中是不存在的。 在訂單薄模式下的交易中,所見即所得,交易價格在交易之前已經確定。 但相比於 AMM ,訂單薄模式對 LP 的專業性要求較高,往往需要 LP 維護一個安全的熱錢包環境並有能力編寫或配置報價演算法。
根據 AMM 所在位置的不同,可以將其分為兩種模式。
- 橋上 AMM :指跨鏈橋直接根據兩端的流動性分佈,計算執行價格並完成兌換;
- 橋下 AMM :指在跨鏈橋所支持的鏈上部署 AMM Pool ,並配合 wrap/unwrap 邏輯來實現資產跨鏈兌換。 在橋上 AMM 中,有一種相對特殊的情況 —— 在多條鏈上使用相同的媒介資產並支援跨鏈過程中恆定 1:1 兌換。 這也可以被理解為是一種 AMM(恆定和 AMM),但它和常規的 AMM(包括恆定乘積 AMM 及其各種改進版)特性大不相同,我們將其單獨列為一個類別:恆定兌換模式。
所以,後文我們會將 SwapBridge 劃分四個類別來分析
- 橋下 AMM 模式
- 橋上 AMM 模式
- 恆定兌換模式
- 訂單薄模式
在此基礎上,我們會探討 SwapBridge 的兩種進階形態:聚合器和樞紐鏈。
2. 橋下 AMM 模式
2.1SymbiosisV1 2.2O3swap(O3InerChange)2.3Thorswap (Thorchain) 2.4SynapseProtocol
2.1 Symbiosis V1
Symbiosis Finance 是 Binance Lab 參投的一個跨鏈橋專案,早期投資者還有 Blockchain.com,Spartan,Avalanche(Avatar),DAO Maker,KuCoin 等,團隊成員主要來源於歐洲,產品介面頗有極客風。
Symbiosis 的 AMT 層是一個無許可的 MPC 網路,稱為 Symbiosis Relayers 網路,具有內置的加密經濟激勵機制。 任意主體都可以通過質押 SIS 成為 Symbiosis Relayer 。
在 Symbiosis V1 中,如果使用者需要將乙太坊上的 USDC 兌換為 BSC 上的 BUSD ,那麼過程可能會有兩種路徑:
• 路徑(1):先 wrap 再 swap
• 路徑(2):先 swap 再 unwrap
由於乙太坊上的 Gas 遠高於 BSC,Symbiosis V1 在為使用者選擇路徑時會傾向於選擇 路徑(<>),把 swap 的過程放在 Gas 費較低的 BSC 鏈上,以幫使用者降低跨鏈兌換的整體費用。
流動性再平衡
AMM pool 會有流動性調節的功能。 假設資產總是從乙太坊跨到 BSC ,而非相反,那麼 sUSDC/BUSD 的兌換比就會增大,這意味著需要更多的 sUSDC 才能換到 1 個 BUSD 。 這種情況會鼓勵套利者進行反向操作,用 BUSD 購買打折的 sUSDC ,然後 unwrap 到乙太坊上變現。 同理,假設資產總是從 BSC 跨到乙太坊,而非相反,也會鼓勵套利者進行反向操作,重新平衡流動性。
Symbiosis Docs: https://docs.symbiosis.finance
2.2 O3swap(或稱 O3 InerChange)
O3 Swap 是由 O3Labs 團隊打造的資產跨鏈協定,其 AMT 層為 Poly Network 。 O3Labs 團隊 2017 年創立於東京, 是全球最早的加密錢包開發團隊之一。
與 Symbiosis V1 不同的是,使用者在 O3swap 中的每筆跨鏈兌換,都包含了分別在源鏈和目標鏈上的兩次 swap 。
例如,如果使用者在 O3swap 中要把乙太坊上的 USDC 換成 BSC 上的 USDC ,過程會是這樣的:
如果使用者想要在 BSC 上取得 BUSD ,就還需要再在 BSC 鏈本地的 DEX(例如 Pancakeswap)中做一步 swap 。 O3swap 沒有為 pUSDC/BUSD 建立流動性。 O3swap 建立流動性的交易對,全部是 A/pA 形式,沒有 A/pB 形式。
流動性再平衡
當 LP 想要向某條鏈上的 A/pA 池子提供流動性時,需要按照當前池中兩種資產的比例,向池中提供 A 與 pA 兩種資產。 LP 如果僅提供 A ,那麼系統會自動通過「Barter」功能,將其中一部分轉換為 pA 。
A 與 pA 的轉換有兩種方式,一種是通過 A/pA 的 AMM 池進行 Swap ,另一種是通過 O3 Bridge 的 wrap/unwrap 功能直接 1:1 轉換 A 與 pA ,這在 O3swap 的文檔中,被稱為 peg/unpeg ,另外 O3swap 還提供在一條鏈上直接 1:1 轉換 A 與 pA 的功能,稱之為 Barter 。
由於 peg/unpeg 和 Barter 功能的存在,A/pA AMM 池中任何方向上的不平衡都很快被套利者抹平。
在 Symbiosis V1 中,每次跨鏈兌換,僅會用到目標鏈上的 AMM 池子; 而在 O3swap 中,每次跨鏈 swap ,會用到源鏈和目標鏈上的兩個 AMM 池子。 我們將前者稱為單邊 AMM 模式,後者稱為雙邊 AMM 模式。
單邊 AMM 模式和雙邊 AMM 模式都需要橋樑在每條支援的鏈上部署 AMM 池。 從流動性部署的成本來看,兩者沒有區別的,但雙邊 AMM 的模式無疑增加了一次 swap 操作的 Gas 費用。 此外,雙邊 AMM 模式,用戶進行兩次 swap ,就會存在兩次 price impact ,用戶最終能獲得的資產數量會減少。
但我們見到的雙邊 AMM 模式在專案中的採用率比單邊 AMM 的要更高,甚至 Symbiosis 在其 V2 版本中也不再用單邊 AMM 了,這點讓筆者有些不解。 可能是由於雙邊 AMM 模式中,橋上的邏輯更簡單,只有 burn-mint 一個邏輯,不需要 wrap 和 unwrap 兩個邏輯。
O3swap docs : https://docs.o3swap.com/
2.3 Thorswap (Thorchain)
Thorchain 的團隊成員大多來自 Swish Labs,背後的投資機構包括:Delphi Digital,Multicoin Capital,X21 Capital,Zee Prime Capital 等。
Thorswap 算是 Thorchain 的一個核心產品,而 Thorchain 作為一個 PoS 型 MPC 網路,也是 Thorswap 的 AMT 層。 Thorchain 的 work token 是 Rune 。
Thorswap 放棄了以穩定幣作為媒介資產的路徑,而是以 Rune 作為媒介資產。 在 Thorswap 中,從 X 鏈上的資產 A ,到 Y 鏈上的資產 B ,必須經過 Rune 作為中轉資產,才能完成兌換:
由於 Thorswap 所支援的鏈中,有不少不支持智能合約,因此 Thorswap 的流動性池是由 Thorchain 的驗證人直接託管的,他們控制著各鏈上託管帳戶的私鑰。 為了避免驗證人合謀盜取資產,Throchain 要求驗證人做抵押,抵押總金額為所有流動性池中的 RUNE 的 2 倍,由於流動性池中還有等值的非 RUNE 資產,所以驗證人在 Throchain 上的抵押金額與他們託管的流動性價值相等。
以 RUNE 作為媒介資產,好處是:
- 增加了 RUNE 的價值捕獲能力;
- 所有鏈統一使用一種媒介資產,避免不同媒介資產之間的兌換。
但也帶來了問題:
- 當 RUNE 價格下跌時,套利者會從系統取走流動性,流動性的下降可能會給 RUNE 的價格帶來負面預期,造成價格下跌,從而形成惡性循環,死亡飛輪。
- Thorswap 選擇讓所有資產都與 RUNE 建立流動性,而不能復用現有媒介資產的流動性,為自己找了一條更困難的流動性獲取路徑。 不過,Thorswap 選擇這條路徑的原因,可能是大多數其支援的鏈(如 BTC、BCH)上沒有 DEX ,也就不存在可復用的流動性。
Thorswap Docs: https://docs.thorchain.org/
2.4 Synapse Protocol
Synapse 最初的名稱是 Nerve,只是 BSC 上的一個穩定幣 DEX , 發展至今已成為支援 14 條公鏈的資產跨鏈協定 。 Synapse 一詞的含義是神經突觸,這似乎表達了 Synapse 將多條鏈連接為一個神經網路的願景。
**Synapse 使用限定的媒介資產:nUSD 和 nETH 來傳導跨鏈價值。 **nUSD 和 nETH 是在乙太坊上通過資產儲備創建的 wrapped 資產。
Nexus Pool on Ethereum
Synapse 在乙太坊上部署了 Nexus Pool ,在其中質押 ETH ,可以獲得 nETH ,在其中質押 USDT、USDC、DAI 這三種穩定幣中的任意一種或多種資產都可以獲得 nUSD ,質押相對短缺的穩定幣可以獲得較多的 nUSD ,而質押相對過剩的穩定幣獲得的 nUSD 數量會打折。 而使用者存入單個穩定幣,具體能獲得多少 nUSD ,應該是類比在該 Pool 中,用這些穩定幣能兌換多少 [1/3USDC+1/3USDT+1/3DAI] 。
Synapse 的文檔資料中沒有更明確的資訊,根據筆者與社區中 Synapse 開發者的討論內容,這裡的相對短缺和過剩,應該是以平均數量作為標準的,這意味著 Synapse 假設 USDT、USDC、DAI 的價值是相等的,完美的平衡狀態是三者各佔 1/3 的狀態。 然而實際上穩定幣之間也會存在微小的價差,這樣的假設會給套利者留下一些空間。
其他鏈上的 Nexus Pool
除了乙太坊之外,Synapse 在其他支援的鏈上也部署了 Nexus Pool ,這是一個 nUSD/Stablecoin 流動性,多數情況下這是一個多資產池,例如在 BSC 鏈上,synapse 部署的是 nUSD/BUSD/USDT/USDC 的 4pool 。 在支援的鏈當中,有一部分是以太坊的 Rollups ,它們上面還會有 nETH/ETH 的流動性。
在 Synapse 中,使用者如果想將 Polygon 上的 USDC 交換為 BSC 上的 BUSD ,那麼過程是這樣的
但如果用戶的兌換涉及到乙太坊,則過程會不太一樣。
如果要將乙太坊的 USDC 換成 BSC 上的 BUSD,過程是這樣的:
如果要將 BSC 上的 BUSD 換回乙太坊上的 USDC ,過程則是這樣的:
也就是說,Synapse 中,若不涉及乙太坊的跨鏈 swap ,則是雙邊 AMM 模式,若涉及乙太坊的跨鏈 Swap ,則是單邊 AMM 模式。
流動性的提供與取回
LP 可以為每條鏈上的 nUSD/stablecoin 池中提供流動性以獲得 nUSD-LP 通證,LP 可以按照當前池中各資產的比例,等比例的提供 nUSD 和各個 stablecoin ,確保不會改變池中各資產的現有比例,就像他們在單鏈 DEX 上做的那樣;
LP 也可以僅提供其中一種。 如果僅提供其中一種資產,就會推動池子中的資產比例發生改變,如果 LP 的行為推動池子的資產比例向理想比例接近,那麼 LP 會獲得更多的 nUSD-LP 通證,如果 LP 的行為推動池子的資產比例向理想比例遠離,那麼 LP 獲得的 nUSD-LP 數量會打折扣。
什麼是理想比例呢? 以 BSC 上的 4pool 為例,nUSD/BUSD/USDT/USDC 的理想比例應該是 1/2nUSD+1/6BUSD+1/6USDT+1/6USDC 。 LP 提供單資產流動性能獲得多少 nUSD-LP ,應該是類比 LP 提供的資產,能從池中兌換出多少 [1/2nUSD+1/6BUSD+1/6USDT+1/6USDC] 。
取回流動性時同理,LP 可以銷毀 nUSD 按照池中資產現有比例等比例取出流動性,也可以取出其中的單一資產,如果 LP 取出資產的行為讓池子中的資產比例更接近理想比例,那麼 LP 會取回更多的資產,反之取回的資產數量則會打折扣。
所以對於 LP 而言,提供流動性時,應該選擇流動性相對短缺的資產,而撤回流動性時,應該選擇流動性相對過剩的資產,如果當前流動性是平衡的(各資產比例為理想比例),不存在相對短缺與相對過剩,按照池中的分佈等比例的提供/取回多資產是最佳策略。
但是,如果 LP 要提供的流動性金額不是太多的話,其實不用考慮這麼複雜,因為上述因素的影響不是太大,Synapse 採用類似 Curve 的 stableswap 做市演算法,池子中的基礎流動性也很充裕,LP 提供單個資產的流動性,給池子的平衡性帶來的影響是微乎其微的。
Synapse Chain
Synapse 的 AMT 層是一個被稱為 Synapse Chain 的 PoS 網路,Synapse Chain 本身是以太坊的一個 Op Rollup ,work token 為 SYN 。 Synapae 希望隨著其跨鏈業務的發展,Synapse Chain 能從一個橋接鏈發展為一個樞紐鏈,以允許應用程式直接部署在 Synapse Chain 上。
Synapse Docs https://docs.synapseprotocol.com/
3. 橋上 AMM 模式
3.1symbiosisV2 3.2cBridge 2.0 3.3AllBridgeCore 3.4Chainflip
在橋上 AMM 中,一個交易對的兩種資產的流動性分別在兩條鏈上,橋樑直接根據流動性分佈及做市演算法計算執行價格,併為使用者完成兌換。 相比橋下 AMM,橋上 AMM 模式沒有反應中間物,一步到位! 不過,這也意味著,如果交易失敗,就需要回撤整個跨鏈兌換。
“橋上” 是個抽象概念,AMM 在橋上,意味著執行價格是通過跨鏈計算得出的,具體來說,有幾種情況:
- 執行價格在源鏈和目標鏈上的橋合約中計算。 計算之前,源鏈上的流動性數量會和使用者在源鏈上發起的交易一同通過 AMT 層跨鏈傳入目標鏈;
- 執行價格由 AMT 層的外部驗證人集計算。 計算完成後傳入目標鏈,觸發目標鏈上的池子向使用者釋放資產;
- 執行價格在橋接鏈上計算。 與上一條的情況其實相同,本質上還是橋接鏈的驗證人在計算。
- 執行價格在中繼鏈上計算。 橋樑將自身支援的鏈中選擇一條作為中繼鏈,並在這條鏈上完成計算,這種情況下,源鏈將參數通過 AMT 層傳入中繼鏈,中繼鏈計算完成後,再通過 AMT 層傳入目標鏈,觸發目標鏈上的資產釋放。
3.1 Symbiosis V2
Symbiosis V2 採用了完全不同於 V1 的形式,在 V2 中,有一個中繼鏈,稱為 S-chain(結算鏈),執行價格的計算將在 S-chain 上完成,當前被選定的 S-chain 是 BSC 。
Symbiosis V2 依然借助了 wrap 資產(sToken)作為計算的媒介。
Symbiosis V2 在每條支援的鏈上選擇一種穩定幣作為媒介資產,每條鏈上媒介資產都在 S-chain 上對應一個 sToken 。
- Ethereum→USDC
- BSC→BUSD
- Avalanche→USDC.e
- Polygon→USDC
- Telos→USDC
- Boba Ethereum→USDC
- Boba Avalanche→USDC.e
- Boba BNB→USDC
- KAVA→USDC
需要注意的是:不同鏈上的媒介資產即便相同,在 S-chain 上也是不同的 sToken ,例如 Ethereum 上的 USDC 和 Polygon 上的 USDC 在 S-chain 上是不同 sToken 。
**sToken 實際上是各條鏈上的流動性在 S-chain 上的一種記帳表示。 **乙太坊上有多少 USDT ,就會在 S-Chain 上有多少個 sUSDT-Ethereum ,二者的數字始終保持一致。 如果乙太坊上的 USDT 流動性被添加或者被撤回,S-Chain 上的 sUSDT-Ethereum 也會對應的增減。
在此基礎上,Symbiosis V2 在 S-chain 上建立了一個由各種不同的 sToken 組成的多資產 AMM 池。 Symbiosis V2 目前支援九條鏈(含作為 S-chain 的 BSC),因此 S-chain 上的 AMM 池是一個 9pool ,有 BUSD 和 8 種 sToken ,社區裡形象的稱其為八通達。
在 Symbiosis V2 中,如果要將乙太坊上的 USDC 換成 BSC 上的 BUSD ,過程是這樣的:
9pool 可以幫助使用者完成 9 條鏈間任意方向的資產交換,且由於不同方向上的兌換資金量的不同造成的不平衡,會有套利者來抹平。
Symbiosis Docs: https://docs.symbiosis.finance/
3.2 cBridge 2.0
cBridge 是由 Celer Network 推出的資產跨鏈橋,cBridge 1.0 曾經採用基於哈希時間鎖的原子交換(本地驗證)以及訂單薄模型來實現跨鏈兌換,但現在已經不再採用,原因是原子交換始終需要使用者操作兩個以上的步驟才能獲得資產,用戶體驗不友好。
現在 cBridge 2.0 已改用外部驗證和樂觀驗證組合的模式,其 AMT 層是一個被稱為 SGN(State Guardian Network)的 PoS 網路以及 Celer IM,而且現在的 cBridge 是 AMM 模式。
cBridge 支援在不同的鏈間交易 USDT、USDC、ETH 等資產,但僅能支援同質資產之間的互換,USDT 只能換 USDT,ETH 只能換 ETH 。
當然不是所有鏈上都有 ETH ,也不是所有鏈上都有 USDT,這就需要在跨鏈時,必須選定一個共同的媒介資產來進行交易。
流動性模式
假如 Ethereum 上的 USDC 要換成 Polygon 上的 USDC ,cBridge 會通過部署在 Ethereum 上的 USDC 池和 Polygon 上的 USDC 池中的流動性來為使用者完成兌換。
這裡有一個問題,Ethereum 上的 USDC 和 Polygon 上的 USDC ,必須是相對均等的,才能讓 USDC(Ethereum)/USDC(Polygon)的兌換比接近 1:1 ,事實上,按這個邏輯,cBridge 所支援的每條擁有 USDC 池的鏈中的 USDC 儲備都必須大致接近。 這帶來了不小的浪費:不同鏈上的跨入規模不一樣,對池中儲備量的需求也不同。 那些不需要那麼多儲備的鏈也必須在池中儲備足夠多的 USDC。
面對這個問題,cBridge 在類似 Curve 協定的 Stablecoin AMM 曲線的基礎上,增加了每條鏈的權重參數:w 值,就是下面公式中的:wi 和 wj
假如 wi=wj=1,那麼這就是單純的 Curve 協定的曲線,此時兩邊資產的理想價值比例是 1:1 ,cBridge 則會為某種資產在不同鏈上賦予不同的 w 值,改變理想的價值比例。
w 值較高的鏈只需相對較低的儲備,w 值較低的鏈則需要更多的儲備。 w 值需要 cBridge 開發團隊手動設置,可以通過治理調整。
這需要 cBridge 團隊根據經驗判斷某種資產在每條鏈上未來一段時間的跨入跨出情況。
如果某種資產在一條鏈的跨出總是大於跨入,那麼流動性就會傾向於在這條鏈上堆積,為該資產在該鏈設定較低的 w 值可以促進冗餘的流動性流到其他 w 值較高的鏈上去。
相反,如果某種資產在一條鏈的跨出總是小於跨入,那麼流動性會傾向於枯竭,為該資產在該鏈設定較高的 w 值可以吸引其他鏈上的流動性流入進來。
舉個例子,在 cBridge 中,Optimism 上的 ETH 跨出總是大於跨入,這是因為 Optimism Bridge 從乙太坊上橋接 ETH 時,不需要等待時間,而要橋接回去時,需要等待 7 天左右。 這造成了流動性傾向於在 Optimism 上堆積,因此 cBridge 為 ETH 在 Optimism 上設置了較小的 w 值。
總之,cBridge 的非對稱儲備演算法對於流動性在不同鏈上更加合理的分佈有重要意義。
流動性的提供與取出
我們以 USDC 為例,cBridge 支援的鏈中,共在 11 條鏈上有 USDC 儲備池,LP 可以向這些 11 條鏈上的 USDC 等比例的提供流動性,但這無疑操作過於繁瑣,cBridge 並沒有支持這樣的操作。 cBridge 只支援 LP 提供單鏈上的 USDC ,如果要在多鏈提供 USDC ,那就需要逐個操作。
不過,LP 提供單鏈流動性,可能面臨這樣的情況,我們以 USDC 為例說明:
如果在 USDC 過剩的鏈上提供 USDC 的流動性,則這些流動性會被套利者轉移到其他鏈上,套利交易遵循 AMM 演算法,因此被轉移後,LP 的 USDC 數量會變少,LP 遭受了損失。
所以系統鼓勵 LP 為相對短缺的資產提供流動性,以促進多鏈流動性的平衡,假設流動性在多鏈上是平衡的,那麼 LP 最佳的策略是等比例的向 11 條鏈提供流動性。
但實際上,和 Synapse 的情況相似,LP 如果不是提供巨量流動性的話,不用考慮這麼複雜,手裡的資產在哪條鏈上,就在哪條鏈上提供流動性,對平衡性的影響不會太大,能被套利的空間也微乎其微。 如果 LP 要提供巨量流動性的話,才需要考慮如何在各鏈上相對均勻的提供。
需要注意的是,cBridge 不會為 LP 提供 LP Token,而是通過 SGN 網路追蹤 LP 提供的流動性去向,LP 取回流動性時,可能需要從其他的多條鏈上取回,而且和最初提供時的數額不太一致。
cBridge Docs https://cbridge-docs.celer.network/
3.3 AllBridge Core
Allbridge 成立於 2021 年,創始人是著名加密企業家 Andriy Velykyy ,截至目前,Allbridge 已完成 200 萬美金的種子輪融資。
AllBridge Core 是一個跨鏈的穩定幣交易解決方案,目前支援
- USDC (Ethereum、Polygon、Solana)
- USDT (Ethereum、Polygon、BSC、Tron)
- BUSD (BSC)
- DAI (Ethereum)
四種穩定幣在 5 條鏈上的跨鏈兌換。
跨鏈兌換與流動性
AllBridge 中的跨鏈兌換要經過一個虛擬媒介:稱為 virtual dollar value ,可以將其理解為類似於 Wrapped Token 一樣的反應中間物,但並不存在實體,只是一個計算的媒介。
例如要把乙太坊上的 USDC 換成 BSC 上的 BUSD ,Allbridge 會先把 USDC 換算為 virtual dollar value ,然後再換算為 BUSD 。 virtual dollar value 與所有穩定幣的初始價格比都 1:1 ,但隨著交易的進行會發生滑動。 具體滑動數值的計算是個複雜的數學過程,本文中不宜展開,有興趣的朋友可以在 Allbridge Core Docs 中了解詳情。
可選 AMT 層
Allbridge 的 AMT 層是可選的,目前支援兩個選項,分別是 AllBridge 自身和 Wormhole 。
Allbridge Core Docs
3.4 Chainflip
Chainflip 總部位於柏林,團隊成員分佈在世界各地,於 2021 年 8 月 和 2022 年 5 月分別完成了 600 萬和 1000 美元的融資。
Chainflip 的 AMT 層是一個 MPC 網路,稱為 State Chain ,Chainflip 中,跨鏈兌換的執行價格計算是在 State Chain 上完成的。
Chainflip 是一個正在開發中的專案,產品尚未上線。 根據 Chainflip 文件中的描述,Chainflip 計劃使用類似於 Uniswap V3 的 AMM 演演算法來執行跨鏈兌換,在 Chainflip 中稱為:Just In Time AMM,簡稱 JIT AMM 。
我們知道,Uniswap V3 的區間做市演算法是 AMM 演算法發展史的一個里程碑,該演算法某種程度上把 AMM 和訂單薄的性質融合起來了。 **LP 在 AMM 中可以提供對稱的流動性(與當前池中資產等比例),也可以提供不對稱的流動性(向池中提供不等比例的流動性)。 如若將不對稱的流動性推到極致,那就是單邊流動性(為一個交易對提供單資產流動性)。 而提供單邊流動性的性質相當於掛單,所以 Uniswap V3 實際上支援 LP 掛止盈賣出單和限價買入單。
Chainflip Docs https://docs.chainflip.io/
3.5 本章小結
一種資產在每條鏈對流動性的需求不同,強行要求每條鏈儲備相同價值的流動性,是會造成巨大的流動性浪費的。 所以我們發現幾乎所有的橋上 AMM 模式的 SwapBridge ,都在努力解決一個問題:如何實現流動性的不對稱性。
- Symbiosis V2 是通過為各鏈上的流動性建立一個類似 Balancer 的多資產池來實現這一點;
- cBridge 則是在對稱的 AMM 曲線的基礎上,為不同鏈上的流動性設置了不同的權重參數,實現了流動性的不對稱性;
- Allbridge Core 加入了一個虛擬價值仲介,虛擬價值仲介與各穩定幣的兌換比,與各鏈上的儲備無關,只與兌換歷史有關,因此不再要求各鏈儲備具有對稱性;
- Chainflip 則採用 JIT AMM ,天然允許提供不對稱的流動性。
4. 恒定兌換模式
4.1Multichain 4.2XYFinance 4.3Hyphen(Biocomy) 4.4Stargate
AMM 儘管有調節流動性的功能,但導致橋樑變的複雜,無論是複雜的反應中間物和反應過程,還是複雜的跨鏈計算。 一些項目開始使用更加簡單直接的方式:如果兩邊的資產一致,那就始終讓他們可以 1:1 兌換。
正如前文所言,這種形式也可以理解為一種特殊的 AMM : 恆定和 AMM。 如果始終恆定 1:1 兌換,兩邊的流動性之和自然也是不會變的。
恆定兌換模式的優勢是流動性的使用率會更高,不會像各類恆定乘積 AMM 及其各種改進版(Balancer 的多資產 AMM、DODO 的 PAMM ,Curve 的 Stable AMM 等),始終存在一部分只是參與計算,但極少被使用的流動性。 而且恆定兌換模式天然允許不對稱的流動性提供,因為兌換價格是一個恆定值,兩邊流動性的分佈不會影響價格。
但恆定兌換模式也有其制約,它僅支援相同資產在不同鏈上的版本之間的兌換,其他類型的兌換都要以此為媒。 正如:只能支援 USDC 與 USDC 之間的恆定兌換,如果兩邊分別是 USDC 和 USDT ,那麼是不能粗暴的 1:1 處理的。
恆定兌換還有一個更重要的問題,那就是作為一個恆定和 AMM ,他並不具備流動性調節的功能。 隨著兌換的進行,一端的流動性可能會耗盡,而且永遠不會有套利者重新平衡流動性的套利空間。 所以 SwapBridge 專案如果採用這種方式,往往會配備其他的流動性再平衡措施。
4.1 Multichain
Mulitichain 是一座 wrap+swap 的混合資產橋,其 AMT 層是 Multichain 自身基於 Fusion 構建的 MPC 網路。
當使用者需要橋接的資產在目標鏈上沒有原生資產時,Multichain 將觸發 wrap 流程,用戶獲得的是 anyToken,例如使用者將 USDC 從乙太坊橋接到 Moonbeam 時,用戶獲得的是 anyUSDC ;
當使用者需要橋接的資產在目標鏈上有原生資產時,Mulitichain 將觸發 swap 流程,使用者將直接獲得目標鏈上的原生資產,例如使用者將 USDC 從乙太坊橋接到 Polygon 時,使用者會在 Polygon 上獲得原生的 USDC ;
當使用者需要橋接的資產在目標鏈上沒有原生資產,但是有目標鏈官方認可、資產發行方認可、或是約定俗成的默認 wrap 資產時,也會觸發 swap 流程。 例如使用者將 ETH 從乙太坊橋接到 Near 時,使用者會在 Near 上獲得 nETH(Near 官方跨鏈橋 Rainbow Bridge 所發行的 ETH 映射資產)。
我們以 USDC 從乙太坊換到 Polygon 上為例,過程會是這樣的:
請注意,其中沒有 swap ,每個環節都是 1:1 的兌換。
在這個過程中,anyUSDC 是反應中間物,對使用者而言是感知不到的。 只有在交易失敗時,使用者可能會收到它:
如果 burn-mint 環節失敗,使用者手裡會保留 anyUSDC(Ethereum);
如果最後一步 convert 環節失敗,使用者手裡會保留 anyUSDC(BSC)
使用者可以用反應中間物,隨時重試失敗的環節,或者回退到初始狀態。
burn-mint 環節一般不會失敗,除非 AMT 層出現問題,比較常見的失敗是最後一步 convert 環節由於目標鏈流動性不足而失敗。
但 Multichain 沒有流動性再平衡措施,所以在最後一步的 convert 環節,很有可能出現 Polygon 鏈上 USDC 儲備不足的情況,遇到這種情況,使用者會收到 anyUSDC(Polygon),無法完成後面的過程。 此時使用者如果希望繼續兌換,只能等待有人從 Polygon 跨出而鎖入 USDC,或者 LP 添加流動性時,才有可能完成。
流動性提供與取回
LP 可以通過提供流動性來獲取收益,LP 可以提供單鏈流動性,提供流動性獲得的 LP Token 就是 anyToken ,實際上提供流動性的過程就是將 Token convert 為 anyToken 的過程。 同理,取回流動性實際上就是 anyToken convert 為 Token 的過程。
LP 的流動性可能被移動到其他鏈上,不過數量始終不會變的,這與 cBridge 中的情況不同。 但流動性的移動可能會導致 LP 提供流動性的鏈儲備不足,無法足額取回,這時,LP 可以將 anyToken 通過 burn-mint 轉移到其他儲備充足的鏈上,以在其他鏈上取回流動性。
其實如果使用者在跨鏈兌換過程中,因最後 convert 環節失敗而收到 anyToken ,那麼使用者持有 anyToken 其實也在被動的提供流動性。
Multichain Docs https://docs.multichain.org/
4.2 XY Finance
XY Finance 團隊成員主要來自乙太坊基金會、imtoken、IBM 等企業,其創始人 Wilson Huang 是浸淫區塊鏈領域超過 8 年的行業老炮。 XY Finance 在 2021 年年底的私募融資和 IDO 中,共籌集了超過 2000 萬美元。
XY Finance 將其產品分為 X swap 和 Y pool 。 X swap 是用戶介面,Y pool 是背後的流動性支援。
在 XY Finance 中,任意跨鏈兌換都需要通過兩邊共同的媒介資產來完成。 XY Finance 共支援三種媒介資產,USDC、USDT、ETH 。
XF Finance 的 AMT 層是自身的 Consensus 鏈,實際上是一個 MPC 網路。 LP 在任意 XY Finance 支援的鏈上提供流動性都將在 Consensus 鏈上獲得 LP Token(xyUSDC、xyUSDT、xyETH)
XY Finance 採用恆定兌換模式,1 USDC 始終可以兌換 1 USDC 。 為了應對 Y Pool 的失衡,XY Finance 會給那些推動流動性轉移到流動性較低的鏈上的交易獎勵 $XY(XY Finance 自身的代幣)。
Consensus 鏈會記錄每條鏈上的流動性餘額,並通過特定演算法計算每個交易對流動性再平衡做出的貢獻。
但實際上,XY Finance 假定的平衡狀態是各鏈上的流動性餘額處於平均狀態。 $XY 的激勵實際上是推動各條鏈上的流動性平均化,而非推動其達到最合理狀態。
XY Finance Docs https://docs.xy.finance/
4.3 Hyphen(Biocomy)
Hyphen 是由 Biconomy 推出的 SwapBridge 。 Biconomy 成立於 2019 年,是較早的參與解決從 Layer2 到 Layer1 轉帳痛點的專案,除了大大縮短了轉帳時間,還提出了一種「元交易」(Meta Transactions)的解決方案用於解決鏈上 Gas 費用昂貴的問題,元交易的本質是允許 dApp 的開發者代替其使用者去支付交易費用。
Hyphen 將 LiquidtiyPoolManager 合約(後文簡稱 LPM 合約)部署在所有受支援的帳本上。 LPM 合約中存儲了所有的流動性。 任何人都可以向 LPM 合約中存款來提供流動性。
Hyphen 的 AMT 層是由執行節點(Executor Node)組成的 MPC 網路。 使用者需要跨鏈兌換時,會在源鏈將資產存入 LPM 合約,Hyphen 網路的執行節點會監聽存入事件,並轉發給目標鏈上的 LPM 合約,目標鏈上的 LPM 合約接收到之後,就會釋放資產到使用者提供的目標鏈位址。 執行節點並不需要提供流動性,所有流動性都在 LPM 合約中。
Hyphen 最早的時候,曾採用過 AMM 模式。 但現在的 Hyphen 採用的是恆定兌換模式。 在此基礎上,Hyphen 採用「動態費用演算法」來推動流動性的再平衡。
动态费用算法
在 Hyphen 中,每一筆 swap 除了常規的 Gas 費、手續費之外,還會涉及到兩筆動態費用 —— deposit 獎勵和 transfer 費用。
在 Hyphen 中,每一筆跨鏈兌換實際上是由兩筆交易構成,源鏈上的 deposit 交易(使用者向 LPM 合約付款),和目標鏈上的 transfer 交易(LPM 向使用者付款)。
Hyphen 會對每一筆 deposit 交易進行獎勵,每一筆 transfer 交易進行收費。
Hyphen 把在沒有任何跨鏈兌換時,LP 提供的流動性的自然分佈視為平衡狀態。 而不斷進行的跨鏈兌換將使流動性進行重新分佈,有的鏈的流動性相比平衡狀態時減少,Hyphen 稱其為流動性負債狀態,有的鏈的流動性相比平衡狀態時增加,Hyphen 稱其為流動性過剩狀態。
deposit 獎勵
如果源鏈處於流動性負債狀態,使用者的 deposit 行為實際上改善了這種負債狀態,那麼用戶會獲得 deposit 獎勵,獎勵金額 = 使用者的 deposit 金額/流動性負債率 * IP 池總資金,用戶獲得的最大獎勵不會超過 IP 池總資金。
如果源鏈不處於流動性負債狀態,則沒有 deposit 獎勵。
transfer 費用
當目標鏈流動性處於平衡狀態或負債狀態的時候,如果使用者要繼續該鏈轉帳,使用這些流動性,加劇流動性負債,Transfer 費用在 0.1%-10% 之間,其中 0.1% 給 LP ,其餘的會放到一個激勵池裡,Hyphen 稱其為 IP 池。 當目標鏈流動性處於過剩狀態時,且使用者的交易不足以使其變為負債狀態,那麼 transfer 費用為 0-0.1% ,全部給 LP 。
整體上來看,如果使用者的 swap 推動了流動性的再平衡,一般 deposit 獎勵會大於 transfer 費用,該交易整體上是被獎勵的,反之,則 deposit 獎勵小於 transfer 費用,該交易是被額外收費的。
Hyphen Introduction: https://docs.biconomy.io/products/hyphen-instant-cross-chain-transfers
4.4 Stargate
Stargate 於 2022 年 3 月推出,是 LayerZero Labs 建立在 LayerZero 協定標準上的首個跨鏈應用,專攻資產跨鏈傳輸。
Stargate 與 Hyphen 一樣,通過動態費用機制來鼓勵使用者和套利者來平衡流動性,Stargate 將該機制稱為 “Delta 演算法”
在 Stargate 中,每條鏈都會為其他鏈設定一個權重,該權重由開發者進行初始設置,並可以通過治理來調整。
假設 Stargate 一共支援三條鏈,分別是 X、Y、Z
那麼:
- 在鏈 X 上,有 W(Y)和 W(Z)兩個權重參數
- 在鏈 Y 上,有 W(X)和 W(Z)兩個權重參數
- 在鏈 Z 上,有 W(X)和 W(Y)兩個權重參數
根據這些權重參數,每條鏈上的流動性會被劃分為不同的分區:
- 在鏈 X 上,流動性會劃分為 Y 和 Z 兩個分區
- 在鏈 Y 上,流動性會劃分為 X 和 Z 兩個分區
- 在鏈 Z 上,流動性會劃分為 X 和 Y 兩個分區
在一筆從 X 到 Y 的 swap 中,使用者會向 X 鏈的 Y 分區(Y zone on X)存入流動性,並從 Y 鏈的 X 分區(X zone on Y)取出流動性,Delta 演算法會將其理解為 Y zone on X 欠的一筆流動性債務。 隨著交易的不斷進行,債務會不斷出現和消失。
如果使用者的跨鏈兌換交易在增加債務,那麼使用者會被收取額外的費用,如果使用者的跨鏈兌換交易在消除債務,那麼用戶會獲得補貼。
如果只是為了實現動態費用,並不需要做流動性的軟分區。 **分區的意義在於保證交易被提交後不會因流動性不足而失敗,也就是 Stargate 提出的 “跨鏈兌換三難問題” 中的 “即時最終性”。 **因為當 X 鏈 和 Y 鏈 同時向 Z 鏈跨鏈時,只需判斷各自分區的流動性夠不夠就可以了,不用擔心自己分區內的流動性被另一條鏈來的交易搶用而導致交易失敗。 但這種分區的方案,似乎流動性效率偏低。 假設從 X 到 Y 有一筆 大額交易,本來 Y 鏈上的總流動性是足夠的,但是對應分區(X zone on Y)的流動性如果不足,那就只能拒絕交易。 為了保證交易不會失敗,而犧牲流動性效率,值得嗎?
Delta 演演算法資料有限,筆者可能理解有偏差,歡迎讀者聯繫指正。
Stargate Docs https://stargateprotocol.gitbook.io/
Delta 演算法論文 https://www.dropbox.com/s/gf3606jedromp61/Delta-Solving.The.Bridging-Trilemma.pdf
4.5 本章小結
我們看到,恆定兌換類型的 SwapBridge 設計的核心是流動性再平衡機制。
在 Multichain 中,沒有流動性再平衡機制,如果 swap 時,目標鏈上的流動性不足,使用者將不得不收到反應中間物:anyToken,以在流動性充足時重試交易;
在 XY Finance 中,流動性再平衡機制是為那些推動流動性再平衡的交易提供 $XY 激勵;
在 Hyphen 和 Stargate 中,流動性再平衡機制是動態費用模型,推動流動性平衡的交易會獲得獎勵,加劇流動性不平衡的交易會被額外收取費用。
我們還發現,這些專案對「平衡狀態」的定義並不相同。
在 xy Finance 中,對「平衡狀態」的定義是「平均狀態」,系統的激勵措施實際上是在推動每條鏈上的流動性傾向於相等;
在 Hyphen 和 Stargate 中,對「平衡狀態」的定義是,在沒有任何交易時,LP 提供的流動性的自然分佈狀態。 即便沒有再平衡措施,LP 也傾向於更加合理的提供和調節流動性,因為這樣能夠使他們獲得的交易手續費最大化,因此認定 LP 提供流動性的自然狀態是平衡狀態,是有其合理性的。
5. 訂單薄模式
5.1Connext5.2Hashflow5.3Orbiter5.4OrionBridge
由於區塊鏈的非即時性,AMM 所支援的交易,始終無法避免滑點問題和被 MEV 機器人套利的問題,而訂單薄可以做到所見即所得,也就是說,在交易之前,價格會首先被確定。
此外,訂單薄模式中,橋樑無需考慮流動性再平衡的問題,LP 會自行優化自己的流動性配置,以免錯過訂單。 LP 之間的競爭還會促進 LP 為使用者提供更優的價格。
因此我們看到,一些 SwapBridge 的專案採用了訂單薄的模式來為使用者提供資產跨鏈服務。
5.1 Connext
Connext 在成立之初是一隻小而美的技術團隊,總部在美國,其創始人 Arjun Bhuptani 曾是 Moloch DAO 的 Co-Founder 。 Connext 得到了乙太坊基金會的資助,並得到了加密領域一些頂級投資者的支援,包括 Polychain Capital、Consensys Ventures、1kx 等機構,累計融資 1570 萬美金。
Connext 和 cBridge 一樣,都曾採用基於本地驗證(哈希時間鎖)的交易模式,但也由於同樣的原因(需要使用者進行兩次操作,體驗較差),放棄了這種模式。
現在的 Connext,已經完成 Amarok 升級,開始採用 Nomad 作為 AMT 層。 或者也可以理解為 Connext 是 Nomad 的一個快速通道(Nomad 自身是慢速通道),而 Nomad 是 Connext 的爭議解決層。 升級后,其流動性依舊由 Router 提供,屬於訂單薄模式。
使用者會先將資產鎖定在源鏈,Router 觀察到此交易之後,會向 Sequencer 報價,所有 Router 都可以報價,如果 Router 的儲備不足,也可以只提供部分的流動性;
**Sequencer 是 Connext 中的一個鏈下角色,負責收集 Router 的報價,避免 Router 在鏈上報價的 Gas 浪費。 **Sequencer 會為用戶選擇最佳的報價並將其發佈到鏈上;
報價本質上是一筆未簽名的交易,被發佈到鏈上後用戶會進行確認,確認后 Router 需對其簽名,簽名後交易生效,使用者立即收到款項,如果 Router 被選中后不簽名,會被 Slash 。
在約 40min 之後,使用者在源鏈鎖定資產的交易被 Nomad 傳輸到目標鏈,Nomad 將創建相應數量的 wrap 資產,並利用目標鏈上的本地流動性交換為其原生版本,然後支付給墊付流動性的 Router 。
由於 Router 為使用者墊付流動性的行為產生了資金占壓成本,因此會被使用者以跨鏈費用的方式補償。
目前 Connext 橋樑中共有 9 個 Router 為使用者提供流動性服務。
Connext docs https://docs.connext.network/
Amarok 升級 https://blog.connext.network/announcing-the-amarok-network-upgrade-5046317860a4
5.2 Hashflow
Hashflow 是一座新興的訂單薄模式的 SwapBridge ,目前的 LP 主要來自審核過的做市商,隨著審核的逐漸開放,將會有更多的做市商加入。 創始人兼 CEO Varun Kumar ,畢業於美國斯坦福大學航空工程博士,聯合創始人兼 CTO Victor Ionescu ,畢業於英國牛津大學數學和計算機科學學士,過去曾在 Facebook 跟 Airbnb 擔任資深工程師。
Hashflow 的資方當中包含了不少大型做市機構,我們可以預見,Hashflow 將聚合大量來自他們的流動性。 在 Hashflow 中,LP 通過運行各自的做市演算法(PMM)來提供流動性,用戶發起的每一筆交易都將有多個 LP 試圖提供流動性,使用者可以選擇最優的價格成交。
交易分為兩個步驟,分別是交易撮合和交易執行。 交易撮合在鏈下完成,用戶發起交易后,LP 會提供報價,使用者確認報價后,交易撮合完成。 交易執行在鏈上完成,該過程需要藉助 AMT 層進行跨鏈消息的傳遞和驗證。 Hashflow 目前使用 Wormhole 作為 AMT 層。
- 在一些宣傳材料中稱是 LayerZero ,但官方文檔裡的說法是 Wormhole 。
為了降低提供流動性的門檻,Hashflow 做了創新。 LP 可以創建集合帳戶,其他使用者可以向其中投注資金參與做市,所有做市操作由集合帳戶的建立者來完成。
Hashflow Docs https://docs.hashflow.com/
5.3 Orbiter
Orbiter 是一座專注於 EVM 生態的 SwapBridge 。 2022 年 11 月 ,Orbiter 完成宣佈首輪融資,投資方包括 Tiger Global、Matrixport、A&T Capital、StarkWare、Cobo、imToken、Mask Network、Zonff Partners 等,融資金額未披露。 專案方還表示,Vitalik 曾向其捐贈 16 ETH 。
在 Orbiter 中有兩個角色,sender 和 maker 。 sender 就是發起交易的人,maker 就是 LP 。 當在鏈下 maker 同意與 sender 進行交易之後,sender 可以在源鏈上直接向 maker 的帳戶支付資金,然後 maker 在目標鏈上向 sender 的收款帳戶支付資金。 不過這裡面沒有報價過程,Orbiter 僅支援同質資產的跨鏈兌換,兌換比恆定為 1:1 。
Orbiter 在每條鏈上都部署了一個 MDC 合約,maker 需要在每條鏈上的 MDC 合約中抵押資金,這是用於保障 maker 忠實履約的保證金。 如果在 sender 支付後,maker 意圖欺詐,不進行支付或者不足額支付,經過仲裁確認屬實後,目標鏈上的 MDC 合約會將 maker 的保證金支付給 sender 。
這種機制下,一個 maker 能夠接的單筆訂單金額是有上限的,不能超過其抵押的保證金。
爭議仲裁
當 sender 發起仲裁請求時,Orbiter 將依靠 SPV 合約來進行仲裁。
Orbiter 在每條支援的鏈上部署了其餘鏈的 SPV 合約,目標鏈上的 MDC 合約會通過 SPV 合約傳回的消息來確認 sender 是否在源鏈上進行了正確的支付,進而判斷 maker 是否進行了欺詐。
SPV 合約實際上為 Orbiter 支援的各條鏈之間建立了一個 AMT 層。
Orbiter Docs https://docs.orbiter.finance/
5.4 Orion Bridge
Orion Protocol 成立於 2018 年,除開種子輪的 40W 美金,最近的一次是 2020 年 7 月的融資,籌集了 345 萬美元。
Orion Protocol 的主要模組有三個,包括 Swap、Trade、Bridge 。 Swap 模組是一個類似於 1inch 的聚合 DEX ,僅支援同一鏈的資產交換,比 1inch 強大之處在於可以聚合來自 CEX 的流動性; Trade 模組是一個類似於 dydx 的訂單薄交易系統,同樣,僅支援同一鏈的資產交換。
與本文主題有關的是 Bridge 模組(我們就稱其為 Orion Bridge 吧),這是一個跨鏈兌換模組。
Orion Bridge 採用哈希時間鎖來保障交易的安全性。 用戶可以創建原子交易,交易經紀人將提供流動性,充當公共交易對手方。 如果交易經紀人在接單后,不完成交易,會導致使用者的資金卡住,必須等到時間鎖結束后才能取回。 所以交易經紀人需要質押 $ORN(也可以從其他 $ORN 持有者手中搜集委託),如果發生惡意卡單,交易經紀人的 $ORN 會被 Slash 。
Orion Whitepaper https://www.orionprotocol.io/hubfs/whitepaper.pdf
5.5 本章小結
AMM 是 DeFi 的原創,而且是 DeFi 發展過程中的一個具有重要意義的創新,而訂單薄則是相對古老的存在。 AMM 模式是一種相對「民主」的模式,任何人都可以提供流動性,而訂單薄模式中,由於技術門檻和資金門檻的存在,提供流動性這門生意往往成為一些「金融貴族」的專屬。
在訂單薄模型中,至少需要 LP :
- 為私鑰維護一個安全的熱錢包環境;
- 保證運行可靠性;
- 管理各接入鏈的 RPC;
- 管理流動性;
- 調整費用配置檔等等。
儘管 Hashflow 的「集合帳戶」功能可以一定程度上降低 LP 門檻,但訂單薄模式中,招募 LP 的工作是一件 to B 的業務,而非 to C 的業務,這對於某些缺乏相關商業資源的專案方而言,可能不具備優勢。
訂單薄模式的優勢也很顯著,在 LP 充分競爭的情況下,訂單薄模式對價格的反應更加敏捷也更加準確,而 AMM 總是給套利者留下空間。 從交易體驗層面,訂單薄模式還具備無滑點,無 MEV,沒有無常損失的優勢。
6.SwapBridge 聚合器
6.1Rango6.2Bugee6.3Li.Fi6.4ChainHop6.5ChaingeFinance
在單鏈 DEX 領域,我們看到有 1inch 這樣的聚合器,在 SwapBridge(也就是跨鏈 DEX)領域聚合器同樣也是一門不錯的生意。 對使用者而言,使用聚合器進行兌換是更好的選擇,因為聚合器可以自動提供最優路線,免去了使用者在多個橋之間對比選擇的煩惱。
6.1 Rango
Rango 是目前支持廣度較大的聚合器,集成了 26 座橋,覆蓋 40 多條鏈(包括 EVM 系、Cosmos 系、波卡、Carnado、Near),同時在各鏈上累計集成了超過 100 個 DEX 。 Rango 希望任何資產都可以在這裡一站式完成跨鏈交換。
根據 Rango 團隊在 2022 年 2 月的報告,Rango 過去 6 個月的跨鏈交易金額達到了 12 億美元。
Rango Docs https://docs.rango.exchange/ Rango WhitePaper https://rango.exchange/docs/rango-whitepaper.pdf
6.2 Bugee
Bungee 的原名為 FundMovr,我們在 5.2.5.1 中提到過這個專案,是由 Socket(原 Movr Network)支援的跨鏈聚合器。
Bungee 目前聚合了 Hop.Exchange,Refuel Bridge,Anyswap,Polygon Bridge,Hyphen,Arbitrum Bridge,Celer,Optimism Gateway,Across,Stargate 共計 10 座 SwapBridge 。 覆蓋的鏈不算太多,主要集中於 EVM 系。
Bungee 的特色在於支援點對點的匹配結算,如果網路內有兩筆交易,資產類型相同,方向剛好相反,Bungee 會直接撮合兩者,交易金額較小的一方可以直接獲得點對點的支付,交易金額較大的一方可以獲得部分點對點支付,差額部分再通過聚合器內的橋樑完成。 點對點結算可以提高部分交易的速度,並降低其開銷。
Bungee Docs https://docs.socket.tech/
6.3 Li.Fi
Li.Fi(曾名為 Li.Finance)是一個主要服務於 dApp 和錢包等應用的跨鏈聚合協議模組。 2022 年 7 月, Li.Fi 宣佈完成了 550 萬美元融資,由 1kx 領投,參投方包括 Dragonfly Capital、Lattice Capital、Scalar Capital、6th Man Ventures、Coinbase Ventures、BairesDAO 和 AngelDAO 等。
據官網信息顯示,目前集成 Li.Fi 協定的應用包括了 ParaSwap、CowSwap、DODO 以及錢包 Steak Wallet 和 Alpha Wallet ,甚至包括了加密貨幣託管和資產管理平臺 Cobo 。
Li.Fi 本身並不是一個應用,而是一個面向應用的服務,Li.Fi 為 dApp、錢包、DeFi 協定等提供跨鏈兌換的功能賦能,讓使用者能在這些產品中直接實現跨鏈兌換,而無需去一個新的介面。 為此 Li.Fi 開發了 SDK、API、Widget 等便於整合的工具。
Li.Fi 自己開發的前端產品為 transferto 。
目前 Li.Fi 已經聚合了 Connext、Hop、Celer cBridge、Multichain、Hyphen、Optimism Gateway、Polygon Bridge(PoS)、AVAX Bridge、Arbitrum Bridge、Across、Stargate、Omni Bridge、Gnosis Bridge、Portal 共 11 座 SwapBridge ,覆蓋 18 條公鏈。
Li.Fi Docs https://docs.li.fi/
6.4 ChainHop
Chainhop 最早是建立在 cBridge 之上的一座 SwapBridge。 但現在 Chainhop 進一步 聚合了 Multichain、Stargate、Across Bridge、Hyphen Bridge、Hop Bridge 共 6 座 SwapBridge ,從而發展成了一個聚合器,可以為使用者搜索跨鏈交易的最佳路徑。
为了提供更好的交易价格,Chainhop 的路由算法支持多跳交易,例如,当用户请求在 Fantom 上将大量 ETH 兑换成 Optimism 上的 USDC 时。ChainHop 可能首先将 ETH 桥接到以太坊,然后在以太坊上完成 ETH-USDC 交换(通常 price impact 要小得多),最后将 USDC 桥接到 Optimism 。
Chainhop Docs https://docs.chainhop.exchange/
6.5 Chainge Finance
Chainge Finance 是在交易深度上做的最足的一個聚合器。 與此同時,Chainge APP 是一個多鏈錢包,內置了跨鏈兌換的功能。
Chainge 不但支援 Chainhop 式的多跳交易,還可以實現自動拆單。
當有大額訂單時,Chainge 可以將訂單拆分給多個流動性池,共同完成交易。 這包含三個層面:
- 在 SwapBridge 這一層,由於橋的流動性儲備可能不足,或者在 AMM 機制下,price impact 太大,又或者某些橋設定了單筆交易額的限制,如果不能滿足大額訂單的兌換,Chainge 會將訂單拆分給不同的 SwapBridge 來分擔;
- 在 DEX 這層,在執行兌換時,將訂單拆分給單鏈上的多個 DEX 來完成交易,以減小整體的 price impact ;
- 結合多跳交易機制,將訂單拆分給多個鏈上的 DEX 來完成交易,以減小整體的 price impact 。
自動拆單的機制讓 Chainge 面對大額交易時有巨大的優勢。
Chainge 還有一個獨家功能,那就是支援一鍵兌換多鏈上的資產,Chainge 文檔中稱其為「跨鏈漫遊“,比如我在 Ethereum、Polygon、Optimism 三條鏈上都有 ETH,我想把這些 ETH 全部兌換為 Ethereum 上的 USDT ,在 Chainge 中,不需要分別操作,而是可以一鍵完成,這個過程不用擔心 Gas 費種類多的問題,因為 Gas 費是用全域 Gas 代幣 $CHNG 支付的。 使用者在跨鏈兌換過程中可以只關心有哪些資產,不用關心這些資產分別在哪些鏈,感興趣的朋友可以去 Chainge APP 體驗一下,非常酷的功能。
Chainge 目前除了自己自身的 SwapBridge 模組以外,還聚合了 Multichain、cBridge、Rainbow、Arbitrum Bridge、Optimism Bridge,Avalanche Bridge 共 6 座橋,覆蓋 35 條鏈,在各鏈上累計聚合了 57 個 DEX 。
Chainge Docs https://chainge-finance.gitbook.io/chainge-finance/get-started-1/introduction
6.6 SwapBridge 本章小結
聚合器的出現改變了 SwapBridge 之間的競爭格局。
其一,聚合器吸引了大量的使用者,成為了 SwapBridge 的主要流量來源, SwapBridge 專案自身能吸引多少使用者已不再重要。 SwapBridge 之間的競爭變成純粹的資本效率競爭,看誰的做市演算法更優秀,看誰能吸引更多的 LP 資金,最終看誰能為使用者提供更優的價格。
其二,在沒有聚合器的前提下,支援更多鏈的 SwapBridge 可以獲得更多使用者,但有了聚合器,支援的鏈的數量變的不重要,如果一個 SwapBridge 在少數幾條鏈上具備絕對的流動性優勢,那就可以在聚合器的流量分配中佔據一席之地。
在用戶端,競爭主要在聚合器之間展開,為了吸引更多的使用者,聚合器需要
- 盡可能支援更多的鏈(通過聚合更多的 SwapBridge);
- 盡可能支援更多的資產(通過聚合更多的 DEX);
- 盡可能提供最優的交易價格(除了聚合更多的 SwapBridge 和 DEX ,還可以通過提供 “多跳”、“拆單”、“ 點對點匹配” 等功能實現);
- 盡可能快的找到最優路徑(需要強勁的伺服器,在鏈下類比交易);
- 盡可能被整合在更多應用中,以獲得流量 。
總之,SwapBridge 聚合器是一個快速發展的領域,各專案正在各個方面上激烈的賽跑,我們文中所列的一些數據,可能隨時在發生變化。
7. 樞紐鏈
7.1Catalog7.2Qredo7.3Pancakeswap7.4Permaswap
7.1 樞紐鏈
還有一種方法可以解決跨鏈資產兌換的問題,那就是跨鏈橋將中繼鏈或將橋接鏈打造為流動性樞紐(我們稱該鏈為樞紐鏈),將所有其他鏈的資產 wrap 到樞紐鏈上,並在樞紐鏈上建立流動性以支援交易。 我們認為這種情況已經不屬於 SwapBridge 的範疇,而應該理解為一個單鏈 DEX 應用與 WrapBridge 的組合,其模式有點類似於我們通過中心化交易所來完成跨鏈交換:充幣→交易→提幣。
但我們不能否認,這種模式也能解決跨鏈資產兌換的問題,甚至能比其他方式解決的更好。 因此,我們依舊會列舉這方面的一些有特色的專案案例。
7.1 Catalog
Catalog 基於 Ren Bridge 開發一個產品。 我們知道 Ren Bridge 是一座跨鏈橋,而 Ren Protocol 是一個 MPC 網路,也是 Ren Bridge 的橋接鏈。 Catalog 正是部署於 Ren Protocol 之上的虛擬機環境 RenVM 中。
通過 Ren Bridge ,用戶可以將其他鏈的資產充入 Ren Protocol ,進而在 Catalog 中進行交易,也可以在交易完成後,再通過 RenBridge 將資產提到目標鏈。
截止目前,Catalog 正在開發中, 還未正式上線。
Catalog Introduction https://medium.com/renproject/introducing-catalog-3a260c9d973b
7.2 Qredo
“Not your keys, not your coins” 是區塊鏈帳戶的基本規則,但這對於數字資產的持有人而言有莫大的單點風險,丟失私鑰就丟失了一切,對於個人而言如此,對於持有價值上億美元的基金而言也是如此。 因此大型基金傾向於把自己的加密資產交給專門的託管機構來管理。 Qredo 起初就是一家資產託管機構。
在擁有大量託管資產的基礎上,Qredo 希望能夠進一步幫助客戶機構進行資產的交易。 於是 Qredo 推出了自己的 MPC 網路,該網路目前有 6 個節點,隨著後續發展會不斷擴充。 這些節點在提供資產託管服務的同時,為託管其中的資產提供交易服務。
用戶可以將任意資產充入 Qredo 網路,成為 qToken,並在其中交易。 Qredo 的流動性模式為訂單薄,任何主體在存入滿足最低數量的要求的資產之後,質押 $QRDO 代幣可成為做市商。 用戶發起交易時,會向所有做市商發出報價請求(RFQ),報價被選中並成交的做市商將從交易中獲得 0.005% 的手續費用。
截止撰文,Qredo 還處於早期階段,相關功能還在開發中。
Qredo Docs https://developers.qredo.com/
7.3 Pancakeswap
Pancakeswap 是 BSC 鏈上的旗艦 DEX 協定,由一小群匿名的工程師開發於 2020 年 9 月推出,雖然外界並不知道創始人的具體身份以及專案融資情況,但是專案依然大獲成功。
起初,PancakeSwap 只是利用 BSC 來實現價格低廉的代幣交換,其交易 Gas 費幾乎只有 Uniswap 的 1/50 ,但隨著 BSC 鏈上聚集了來自大量其他鏈的 wrap 資產,Pancakeswap 已經成為一個多鏈資產流動性樞紐。
7.4 Permaswap
Permaswap 是 everVision 團隊基於 Arweave 建立的一個 SCP(基於存儲共識的範式)應用。 SCP 應用是一種很有意思的範式,可以使得應用具備 Web3 特性的同時,具有堪比 Web2 的高性能,感興趣的朋友可以通過這裏瞭解。
在 Arweave 上進行交易序列化存儲可以為 SCP 應用提供多對多原子交易。 該功能使得任何交易可以作為一個整體,不存在一個方向上成功而另一個方向上失敗的可能性。
通過 everPay 的跨鏈功能,用戶可以將資產充入 Permaswap ,或從 Permaswap 提走。 在 Permaswap 中,使用者將可以享受快捷的交易體驗。
Permaswap 以訂單薄的方式建立流動性,任何人都可以成為 LP ,設置報價演算法並提供流動性。 LP 需要質押 $PSN ,如果提供報價但超時不簽名,導致交易失敗的話,會被 Slash 。
Permaswap 也是一個正在開發中的專案。
Permaswap Whitepaper https://mirror.xyz/permaswap.eth/ustZcDgavlm4xmYI26thEAj8W2cXlZpRkG5Jqz0iS14
7.5 本章小結
其實我們在 Symbiosis V2 中也看到了一些樞紐鏈的影子,S-chain 事實上充當了樞紐鏈的角色,但 S-Chain 只是有限的幾種穩定幣的交易平臺,作為一個中間過程的載體,幫助使用者完成從源鏈到目標鏈的兌換。
本小節中所涉及到的樞紐鏈則不同,它們不僅希望在自身平臺上建立幾種主流媒介資產的流動性,而是有野心為更多的資產建立流動性。 可以說,這些專案希望將自身的經營模式打造為更接近中心化交易所的模式。
8 總結
我們終於對種類繁多的 SwapBridge 有了一個全面的認識。
流動性是 SwapBridge 永恆的主題,我們根據流動性模式對 SwapBridge 進行了分類:
• 橋下 AMM 模式在鏈上用 wrap 資產與原生資產組流動性池 • 橋上 AMM 模式直接用多鏈上的資產儲備組流動性池 • 訂單薄模式則由 LP 直接提供流動性,並與使用者交易
流動性效率是 SwapBridge 的關鍵成功因素。 整體上看:
在 LP 的專業程度滿足條件且 LP 充分競爭的前提下,訂單薄模式的流動性效率是高於 AMM 的(Uniswap V3 除外),而且訂單薄模式對 LP 的流動性資金不是獨佔的,LP 理論上可以用同一份資金為多個訂單薄做市。 限制訂單薄模式被採用的主要因素是 LP 的專業門檻和資金門檻。
在 AMM 模式中,允許提供不對稱流動性的專案要比必須提供對稱流動性的項目的流動性效率要高。 因為不對稱的流動性更能真實的反應不同方向上跨鏈需求強度的差別。 橋下 AMM 大多要求對稱的流動性,橋上 AMM 和恆定兌換模式則大多允許不對稱的流動性,只是各自的方案不盡相同。 我們相信仍會有專案前赴後繼,探索更高流動性效率的方式,我們將持續關注那些有突出創新的專案。 下表是我們對現有專案和方案的一個梳理。
此外,聚合器已成為交易者的主要入口並向 SwapBridge 輸出流量,樞紐鏈模式正在以全然不同的方式提供跨鏈兌換服務。
免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。