CowSwap:未來 Intent 的 DEX 形態?
出品: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 better MEV resistance, he said." ------ CowSwap CTO
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 有長足和出色的發展。