出品:DODO Research
編輯:Lisa
作者:xiaoyu
Dan, with all respect. The game was changed long ago by @1inch when they first did high-quality aggregation and @CoWSwap when they pioneered the solver model.
It’s good stuff, but you are not really the first or the second.
—— @Curve Finance
UniswapX 推出轟動一時,也飽受爭議。最尖銳的問題指控UniswapX 是否抄襲CoWSwap 的和1inch。 Curve 官方推特發言道:“遊戲規則早就被1inch 高品質的聚合和作為solver 模型先驅的CoWSwap 改變。UniswapX 是不錯,但它真的不是第一個,也不是第二個。”
CoWSwap 發圖直指其Intent Based Trading 先驅的地位。那麼,CoWSwap 到底是什麼呢?與UniswapX 有什麼差別?同走聚合器的solver model 路線,為何市場聲音指控UniswapX 「抄襲「 CoWSwap 而不是1inch fusion。
我們從誕生背景,到機制解讀、數據表現,再到與UniswapX 和1inch fusion 的9 個產品差異,以庖丁解”牛”的精神,一起探究下CoWSwap 究竟是什麼,怎麼樣,並回答“抄襲”風波。
Defi 用戶的「小偷」:MEV 攻擊
DeFi 使用者一直是MEV 攻擊的受害者,例如搶跑(front-running)、尾隨(back-running)和三明治攻擊(sandwich attack)。 CoWSwap 協議提供了MEV 保護,力求減少用戶的MEV 損失。在展開之前,讓我們先簡單了解一下MEV 攻擊是什麼。
試想這情景:等待,你終於得到了理想的交易機會!打開Uniswap,隨著Pending 結束,你發現錢包收到的代幣比預期少了許多。打開區塊瀏覽器,有人在你買入前拉高了價格,並在你買入後迅速賣出,你被賺走了差價。沒錯,你遭受了MEV 攻擊。
MEV 攻擊發生是由於提交交易到上鍊的「非同步」。當用戶在以太坊上提交交易時,它不會立即添加到下一個區塊。相反,它首先進入“記憶體池”,這是所有待處理事務的集合。然後,驗證者從記憶體池中提取交易,並在建置時將它們添加到下一個區塊中。由於記憶體池公開,搜尋者有機會向驗證者支付費用以特定方式訂購交易,透過排序從使用者手中提取價值。
圖源:CoWSwap Docs
黑森林的引路人:CoWSwap 的MEV 保護
Better than the best price. —— CoWSwap
CoWSwap 的名字好像跟「牛」(Cow)有關,但這裡的CoW 指的是「需求巧合」(CoW, Coincidence of Wants),指的是一種特殊的交易匹配的方式。具體來說,「需求匹配」是一種經濟現象,「兩個人同時持有對方需要的東西,雙方可以直接交易,無需貨幣作為媒介」。
在CoWSwap 協議中,使用者不需要發送一個transaction 來提交一個交易,而是需要使用者發送一個簽署的訂單(或者說,交易意圖)。該訂單指定他們願意在特定時間段內在交易中獲得的最大和最小輸出。使用者並不在乎也並不需要在乎它是如何被執行的。接著,在鏈下簽署的訂單會交給解算者(Solver),他們競相在訂單生效時找到最佳執行路徑。位元首的求解器將獲得執行批次的權利。這也意味著,執行訂單所需的Gas 由Solver 承擔,用戶在交易失敗的情況下(譬如沒有在截止時間前找到路徑滿足承諾的價格),無需支付Gas。
CoWSwap 的MEV 保護具體可以總結為以下三點:
1. 批次拍賣(Batch Auctions)
當兩個(或多個)交易者相互交換加密貨幣而不必使用鏈上流動性時,就會發生「需求巧合」。 CoW 的發生讓訂單打包在一同一批可以實現效率提升。具體體現在:省去鏈上成本如LP fee,Gas fee,鏈下P2P 的方式也能避免滑點產生和鏈上可能發生的MEV 攻擊。
CoWSwap的技術負責人,Leupold 表示:由於DeFi 領域各種代幣的“寒武紀爆炸”,市場流動性高度分散。為了在各種各樣的代幣對之間創造流動性,做市商需要「介入並提供流動性」。如果能在每個區塊中找到需求巧合,就可以重新總結分散的流動性空間。
2. 鏈下求解
由於第三方代替用戶處理交易訂單,隱藏了記憶體池的可見性,MEV 的所有風險均由第三方承擔。如果第三方更好的執行路徑,將以更好的價格完成訂單,否則按照簽署的最差報價完成訂單。所有管理交易的風險和複雜性,由專業求解器處理。
用戶只需要表達“交易意圖”,無需在乎執行過程。對於不知道如何「提升」自己在公共記憶體池中優先順序的不成熟的用戶,受到了CoWSwap 該機制的保護。不必擔心身處在「黑暗森林」。
3. 統一清算價格
如果有兩個人在同一批次中交易相同的資產,協議會強制要求每批代幣只有一個價格。兩筆交易將以「完全相同的價格」清算,沒有先到先得的概念。即使一個區塊具有相同代幣對的多筆交易,每筆交易也會獲得不同的價格,具體取決於與池的交易順序。但CoWSwap 協議要求統一清算價格,因此重新排序是沒有意義的。根據Leupold 的說法,這種方法消除了「各種MEV」。
CoWSwap 的機制相當新穎,在Intent 概念提出之前,就暗自大致符合了Intent 概念下對DEX 的要求,各路研報亦對該架構高度評價。但很明顯,CoWSwap 並不是名流,提起聚合器更多人想到的是1inch 等。原因幾何?
我們總結了CoWSwap 的缺點,具體體現在以下三點:
1. 不活躍的幣種
理論上,該機制能為用戶呈現更好的價格,但也可能導致用戶的損失。對於交易活躍的代幣,訂單大概率可以在批次中找到「需求巧合」優化價格。對於在交易不活躍的代幣(此處假設為ETH),Solver 就有可能以滑點的最大限度成交,甚至超過單一流動性來源中會造成的滑點。
2. 額外的協議費用
對於流動性充足的小額交易,Cow 的協議收入可能會對用戶造成損失。
3. 不支援所有代幣
CoWSwap 並不支援所有代幣的交換,只支援符合ERC-20 標準的代幣。而且,有些代幣雖然實現了典型的ERC20 接口,但在調用傳輸和傳輸從方法時,接收方將獲得的實際金額將小於指定的發送量。這會導致CoWSwap 的結算邏輯出現問題,例如$Unibot 就不支援在CoWSwap 交易。
透過數據看本質:細窺CoWSwap 的市場表現
理想總是很豐滿,但現實骨幹。透過數據才能對CoWSwap 的市場表現一探究竟。結合CoWSwap 的優勢特點,我們將從抗MEV 性能、交易量、市場份額等角度來探究CoWSwap 的市場表現。
1. 抗MEV 性能
對比在Uniswap 和Curve 上發生的三明治攻擊,透過CoWSwap 路由受到攻擊的交易數量大大減少;對比1inch 和matcha,CoWSwap 在2022年有最少的三明治攻擊次數和最低的交易量比例。
來自鏈上MEV 分析團隊@EigenPhi 的研究報告。 2. 交易量與市佔率
聚合器賽道橫向對比。 CoWSwap 交易量排名第四,用戶數排名第九,平均交易規模排名第五。其中,1inch 均位榜首。
https://dune.com/murathan/uniswap-protocol-and-aggregators
橫向對比聚合器市場佔有率。 1inch 基於廣大的用戶數占主導地位,市佔率約70%,CoWSwap 次之,市佔率約10%,其後是0xAPI,Match,Paraswap。 CoWSwap 的市佔率呈現成長趨勢。
https://dune.com/murathan/uniswap-protocol-and-aggregators
CoWSwap 每月交易量表現波動較大,截止9 月1 日,總交易量達$27.4B。
https://dune.com/cowprotocol/cowswap 3. DAO 選擇
1/3 的DAO 的交易量都在CoWSwap 上發生。因為DAO 時常需要大額的,抗MEV 的交易,能滿足DAO 的特殊訂單需求的平台,如限價單和TWAP、Milkman ( 7 月10 號,Milkman 被AAVEDAO 使用,用於監控將326.88 wETH 和$1,397,184的$BAL 換作B-80BAL-20WETH 的滑點)。該比例仍在成長,8 月份,CoWSwap 甚至佔了一半以上(54%)。
https://dune.com/queries/2338370/3828396 4. Balancer 提供激勵
Balancer 3 月24 日發布 [BIP-295] 提案為CoWSwap 的solvers 提供~50-75% 的費用折扣。 CoW 路由balancer 的交易量排名第三,僅次於Uniswap 與Curve。
https://dune.com/sixdegree/dex-aggregators-comparision
「抄襲」風波
“CoW Swap is the first DEX Aggregator offering some protection against MEV”
—— CoWSwap About
CoWSwap 的前身Gnosis Protocol V1 於2020 年推出。它是第一個透過批量拍賣提供環形交易的DEX。 UniswapX 和1inch fusion 採取了與CoWswap 相同的架構:簽名Order —— 將交易創建外包給第三方—— (競爭激勵第三方返還MEV 給用戶)。 UniswapX 推出時,指控其抄襲CoWSwap 的聲音不絕於耳。 1inch 推出時就被戲稱為CoWSwap 的魔改版。
今天就來探討三者的區別,總結為九個面向。
1. 第三方名字
- UniswapX:filler
- CoWSwap:solver
- 1inch fusion:resolver
職責相同:為用戶簽署的訂單提供解決方案,打包在一個transaction 中打包進區塊。
2. 執行過程
- UniswapX:贏得報價的filler 在一定時間內有執行的優先權,之後進行荷蘭拍。
- CoWSwap:將所有solver 的解決方案提交給Driver 排名,一旦投標結束,即所有解決方案都已提交並排名,播報排名信息,通知排名第一執行
- 1inch fusion:隨時間增加resolver 的數量,同時價格衰減。
1inch fusion 在最初一分鐘只有1 個resolver,「resolver 會等到價格降低再執行」 被詬病。用戶等待時間延長。
註:目前提案已通過,增加resolver 的數量為10 個3. Batch 形成
“Leopold contends that CoW Swap’s design still offers better pricing because it batches trades rather than processes them individually like UniswapX. Batching many different trade requests together provides bswapX. Batching many different trade requests together provides bswapX. Batching many different trade requests together provides bswapes bTOt.”
- CoWSwap:將鏈上所有未結訂單,打包成一個batch 進行荷蘭拍,可以組合訂單匹配CoW。
- UniswapX:fillers 透過API 自行撿拾一個或多個訂單做處理。
介於訂單的複雜性,CoWSwap 需要將所有未結訂單打包成一個batch ,在一個區塊時間之內能否求出最優解是難以確定的,甚至可能不存在最優解。
4. 訂單參數化程度
- UniswapX:使用者有更多的自由(也可能帶來更多的複雜性)來定義參數,包括拍賣的衰減函數、初始荷蘭訂單價格等。
- CoWSwap 和1inch fusion:用戶只需要提供交換代幣和滑點。 CoWSwap 還可以設定訂單的持續時間。
5. 第三方的流動性來源不同
- UniswapX:允許任何filler 能接觸到的流動性來源,即允許私人流動性。
- CoWSwap:CoW 和外部流動性來源。
- 1inch fusion:通常是大型的做市商。
CoWSwap 更多的是去找同一時刻的對手盤,1inch 做市商擔任resolver 可以選擇直接成交。 UniswapX 也可以允許專業做市商介入,有望解決1inch 被詬病的“ resolver 等到價格降低再執行”,搶佔1inch 的市場份額。
6. 去中心化程度
- UniswapX:絕對permissionless,任何人可以透過API 存取未結訂單,發送給Reactor 與其他filler 的方案競爭。 (除非使用者指定了filler)
- CoWSwap:要麼透過創建$1M 的USDC/COW 的池子被列入白名單;要麼根據DAO 的標準被Cow DAO 列入白名單。
- 1inch fusion:根據$1INCH 代幣質押數量,加權質押年限後,選擇排名前十的地址作為Resolver。需要註冊,進行KYC 流程,並保持足夠的餘額來支付訂單費用。
註:CoWSwap 目前處於phase 1 Cow 專案方授權;phase 2 需要質押代幣,DAO 投票同意;phase 3 允許任何人成為solver。
7. 報價來源不同
- UniswapX:允許filler 報價(RFQ),即允許filler 初始化荷蘭拍的初始價格。
- CoWSwap、1inch fusion:API 報價。
8. UniswapX 使用RFQ 和考慮使用名譽系統
- UniswapX:允許訂單在一定時間內指定filler 執行訂單(之後進行荷蘭拍),以此激勵filler 向RFQ 系統報價。為了限制filler 對這種專屬權利的濫用,可能會引入相應的聲譽或懲罰系統。
- CoWSwap:每週一次獎勵上週成單率最高的Solver 實現激勵。
9. Uniswap X 推出跨鏈聚合功能(尚未實現)
- UniswapX:可以擴展到支援跨鏈交易,交換和跨鏈被合併成一個單獨的動作,不需要交換者直接與橋交互,就可以將原始鏈上持有的資產交換到目標鏈上所需的資產。
- CoWSwap、1inch fusion:仍在討論中。
寫在最後
總的來說,CoWSwap 是一個令人關注的項目。將訂單外包給第三方Solver 解法與L2 的擴容「哲學」頗有相通之處:執行off-chain,而最終結算和驗證on-chain。 CoWSwap 巧妙地使得交易可以成為一個龐大的以物易物經濟,解決流動性的碎片化問題,點對點交易無法滿足的部分再動用鏈上的流動性。
在Intent 的實施其中一個要求是,任何人都可以作為Solver 從而在競爭中提升效率。 CoWswap 的架構無疑與之暗合。將所有管理交易的風險和複雜性,由專業解算器處理。受到CoWSwap 機制的保護,使用者不必擔心在黑暗森林中「行走」。這點和DODO V3 的哲學一致,在DODO V3 中,流動性提供者的資金由專業做市團隊管理,無需親自考慮策略。
CoWSwap 在解決MEV 問題取得了不錯的成果,Intent 敘事下,市佔率也呈現成長趨勢。同時也遭遇協議費、不支援所有代幣等大規模應用的阻力。作為solver 模型的先驅,UniswapX 和1inch fusion 的機制更像在其基礎上的創新,1inch 將resolver 依序放出,對接專業的做市商;Uniswap 的RFQ 系統允許使用者先指定filler,而不是同時提出方案。期待CoWSwap 的框架在去中心化交易聚合器領域推動更多創新出現,期待CoWSwap 有長足且出色的發展。
參考文獻
https://ld-capital.medium.com/the-future-of-mev-is-the-future-of-the-crypto-has-the-importance-of-the-mev-track-been-76bb36caf9f4
https://app.aave.com/governance/proposal/?proposalId=267
https://eigenphi.substack.com/p/sandwich-mevs-impact-on-cow-swap
https://snapshot.org/#/balancer.eth/proposal/0xd991e9f3c6edd148bd37c600d7ada3d28db1758e3cfd703c02d290f502906f05
https://blog.cow.fi/what-are-cows-on-cow-swap-e72baaa4678a
https://blockworks.co/news/cow-swap-mev-problem
https://swap.cow.fi/#/about
1inch 的魔改版 Cowswap
把用户的單子交給 Resolvers (好像 Cowswap 那些 Solvers),用荷蘭拍決定哪一個 Resolvers 能吃單,終端用户不用付 Gas Fee,然後 Resolvers 去賺私有化那個 MEV 去彌補幫用户付的 Gas Fee
一條 Tweet 寫完,Thread 也不用,讚好留言轉發https://t.co/N94ZsVIvLM pic.twitter.com/dFu50VlFYq
— Raccoon Chan 小浣熊 (@RaccoonHKG) December 25, 2022