CoW Swap是一个基于意图的交易平台,提供最优惠的价格和最佳路由,免受MEV攻击。它的交易周期分为四步:收集用户意图、竞拍、第三方交易执行者solver执行交易、激励给solver。它还引入了执行层的竞争,以及MEV最小化,保证用户交易得到更优的执行。
原文作者:Stephanie
原文来源:Antalpha Labs
如果你对 DeFi 和 MEV 感兴趣,你可能听说过基于意图的交易 (intent-based trading)、频繁批次拍卖 (frequent batch auction)、求解者 (solver)模型、订单流拍卖(order flow auctions, OFAs)等,CoW Swap 可以说是上述创新的典范,将它们有机地融入到 DEX 产品中, 为用户提供最优惠的价格、寻找最佳的路由,并免受 MEV 攻击。
本期节目中,Stephanie 和 CoW Swap 联合创始人 Anna 详细探讨了 CoW Swap 的设计,包括 CoW Swap 中从收集用户交易意图开始的交易周期与传统交易生命周期有何不同;将交易执行外包给成熟的 solver 时,如何保证用户的资金安全;如何引导 solver 间的有效竞争,这是将意图交易提升到新水平的关键组成部分;如何持续激励 solver 并同时避免他们的恶意行为?
他们还讨论了更广泛的主题,例如新加入者如何看待 Uniswap 的先发优势、为什么 CoW Swap 采用 MEV 最小化方法 (MEV Minimization) 而不是 MEV 最大化方法,以及为什么 dapp 级别的 MEV 缓解措施是有意义。
CoW Swap 的交易周期主要分成四步
1. 用户通过签名信息 (signed message) 的方法表达他们的意图,签名信息包括要买或卖的代币,买卖的数量以及交易执行的有效期
2. CoW 协议收集用户意图放到链下的订单簿进行批次竞拍
3. 第三方的交易执行者 solver 访问订单簿,他们擅长数学,能很快找出最优的执行路径(包括所有的链上流动性、需求巧合,环形交易)和最好价格,他们彼此竞争,协议对他们能为用户提供的价值进行排名,竞拍中胜出的 solver 能执行该批次的交易
4. 胜出的批次在一个交易里以统一价格在链上执行全部意图
CoW Swap 如何启动 solver 间的竞争
CoW Swap 之所以可以将意图交易提升到新水平,关键在于引入了执行层的竞争,而不是只有简单的链上执行模型。而要这个竞争能有效进行,确保用户的交易得到更优的执行,CoW Swap 的培育工作主要经历了三个阶段:
1. Gnosis 内部运行一些 solver,一开始比较简单,收集一些聚合器的 API 端点,例如 paraswap,1inch 和 0x,一直比较它们的返回值,然后决定将交易提交给能够提供最佳交易回报的 API。
2. 在参加去年阿姆斯特丹 Devconnect 时遇到非常聪明和擅长数学的团队,他们规模很小,对运行 solver 非常感兴趣,于是开始开发自己的算法,并成功在 API 竞争中胜出
3. 做市商开始对 solver 感兴趣,他们开始通过提供自己的流动性与现有的 solver 集成,私人流动性使得他们占优
目前 CoW Swap 的 solver 集里共有 16 个 solver,他们各有擅长的领域。
激励与制约并存的设计
CoW Swap 每周发放激励给 solver,激励分成两个部分:一部分是关于连续性,因为你想要 solver 持续参与竞争,而不是只有当他们觉得在某次竞争能赢出才才报价,同时当有一些 solver 离线或有恶意行为时依然有 solver 在报价;另一部分是基于胜出者找到的解决方案比第二最优优胜多少,这是为了确保他们不会只专注于提供比第二最优多出1分钱的路径,他们比第二最有找到的价值多出越多,得到的激励越多。
激励来源目前是每年发放 CoW 代币的2%,1 月份,我们将引入一个小费用,它实际上是从我们提供给用户的价值里分出来的。这些费用由 solver 获得,但他们必须用它们来回购 CoW 代币,把它们发回 CoW 财库。
目前 solver 集理论上是无需许可的,但实际上会有一些需许可的元素。由于 solver 理论上还是有可能利用用户的滑点容差 (slippage tolerance),因此 CoW Swap 需要参与竞争的 sovler 提供保证金。这个机制可以不是中心化的,目前存在中心化因素是因为 CoW DAO 也在为了降低进入门槛操持着保证金池,但在2024年,solver 们将可以自己建保证金池,并且智能合约会自动检查 solver 是否有私钥、是否提供访问权限、以及是否已经建立了保证金池。这样,solver 就可以自动加入到竞争中。
CoW Swap 专注在 MEV 最小化的方向上,因为 MEV 最大化的方法存在一些风险。
第一,从开始最大化 MEV 起,你就需要从用户身上提取价值。为了提取价值,你需要多方参与,然后需要对他们的努力进行奖励,也就是说用户无法拿回100%的 MEV。最好的情况下,用户能获得小额返金,但在 CoW Swap 看来,一开始 MEV 价值就是用户创造的,他们不应该有损失。
第二,由于需要重新分配价值,还会变得效率低下,因为需要把返金的交易也打包到区块,也就是需要更多的区块空间。
最后,MEV 最大化带来了更多的复杂性,现在需要引入 PBS (提议者/构建者分离)。Flashbots 一开始真正把 MEV 带到话题讨论中心,并倡导对 MEV 进行民主化,也就是每个人都可以提取 MEV 而不是只有一方的玩家可以受惠,这些都是好的。但不好的地方在于,它让更多的玩家进入这个游戏,也让 MEV 提取真正变得专业化,从而使得今天 MEV 这个问题变得更严重。当然,我们也不知道如果没有这些讨论现在会发生什么,但现在它的确变成了一个很大的问题。
CoW Swap 认为大多数的 MEV 机会都在应用层发生,即用户发起交易的地方,因此应该尽量减少 MEV 发生的机会。CoW Swap 通过收集用户交易意图,把每个区块里那个批次的交易都按统一一个清算价格,从而保证没有对这些交易攫取价值或重新排序的可能性。