Milkman是什么?CoW Swap针对延迟执行交易的解决方案 - CoW DAO

  • CowSwap
  • 发布于 2024-11-29 18:36
  • 阅读 17

本文介绍了Milkman,它是CoW Swap为解决延迟执行交易问题而提出的解决方案。Milkman通过允许智能合约指定链上数据源(如预言机)作为最小输出的参考,从而将最小输出变成动态价格后盾。这对于需要延迟执行交易的DAO等智能合约钱包用户尤为有用,可以有效应对价格波动,确保交易以合理的价格执行。

什么是 Milkman?CoW Swap 针对延迟执行交易的解决方案

在 CoW Protocol 上,用户不是发送具有预定义交换指令的链上交易,而是提交签名过的 意图交易消息。这些消息包含一些订单细节,例如要交易哪些资产以及交易数量,但将其他细节留给 求解器(solvers) 进行优化。

这些意图的一个重要参数是 min_out —— 用户愿意为其出售的代币收到的购买代币的最小数量(或购买数量,减去用户设置的最大允许滑点)。当交易旨在立即或接近立即执行时,Min_out 效果非常好,因为它允许求解器提高用户的价格,同时保护他们免受不利的价格波动的影响。但是,当价格波动很大时,min_out 可能会过于限制。

什么是延迟执行交易?

简而言之,延迟执行交易是指旨在在不久的将来某个时间点执行的交易。

许多智能合约钱包用户,例如 DAO,经常需要创建这些类型的订单。以下面的例子为例:

  • 需要在通过治理流程后执行交易的 DAO
  • 需要数小时才能收集签名以从多重签名钱包执行交易的团体
  • 在未来几年处理自动交换的应用程序(例如,用于工资单或财务管理)

有了额外的时间,价格可能会剧烈波动——这给交易者带来了一个难题:

如果购买代币价格下跌并且 min_out 过高,则订单可能无法执行。但是,如果 min_out 过低,交易者可能会冒着获得不必要的不良执行价格的风险。(CoW Protocol 求解器相互竞争,以给用户带来更好的价格,但是对于非常大宗的交易者而言,对求解器如此高度的信任可能是不希望的。)

1-what-is-milkman.webp

如果用户签署意向以 1 ETH 交换“min out”为 2000 USDC,则交易无论如何都不会返回少于 2000 USDC

2-what-is-milkman.webp

但是设置较低的“min out”可能会冒着留下资金的风险

什么是 Milkman?

Milkman 是一个智能合约,可以解决智能合约钱包的上述难题。

它通过允许智能合约指定一个链上数据源(例如预言机)作为 min_out 的参考来实现这一点 —— 实际上将 min_out 变成其交易的动态价格支撑。

假设你想将 1000 ETH 兑换成 USDC,但你想在遥远的将来进行。为了保护自己免受剧烈的价格波动的影响,你可以提供 Milkman 以基于 ETH/USDC 的 Chainlink 价格馈送创建订单,并且 Milkman 在下单时将根据该价格馈送动态调整你将收到的最低金额。

当执行交易的时间到来时,CoW Protocol 将收到它,其 min_out 准确地反映了当时的价格; 求解器将像往常一样竞争以在此基础上提高价格。

3-what-is-milkman.webp

面向 DAO 的 Milkman

Milkman 尤其适合许多与 DAO 相关的用例,因为 DAO 治理流程通常会延迟交易,并且 DAO 交易的金额可能非常大。

包括 AaveENS 在内的几个知名的 DAO 已经使用 Milkman 交易了超过 2000 万美元的代币。除了允许这些 DAO 依赖可靠的价格之外,Milkman 还允许他们减少整体治理投票数量,并为他们提供标准的 CoW Swap 优势,例如最佳价格执行和 一流的 MEV 保护——这对于大宗交易至关重要。

Milkman 还以原生方式集成为广泛使用的 DAO 管理平台 Tally 上的一个配方——从而进一步减少了 DAO 的交易摩擦。

技术细节

Milkman 遵循 UniV2 风格的接口。要与 Milkman 交互,智能合约只需调用以下函数:

> _function requestSwapExactTokensForTokens(_
>
> _uint256 amountIn,_
>
> _IERC20 fromToken,_
>
> _IERC20 toToken,_
>
> _address to,_
>
> _address priceChecker,_
>
> _bytes calldata priceCheckerData_
>
> _)_

priceChecker 是数据馈送提供商,priceCheckerData 是一个任意字节数组,该函数将其传递给价格检查器(例如,所需的滑点容忍度)。

已经为 Chainlink、Curve、SushiSwap、Uniswap V2、Uniswap V3 以及这些的组合部署了价格检查器。核心 Milkman 代码可以在 这里 找到。任何人都可以运行 Milkman 机器人,它只是作为一个Hook,用于监视新的交换请求并将其显示给 CoW Protocol。如果你有 Kubernetes 集群,则运行机器人非常容易; 说明位于存储库中。

Milkman 由 Yearn Finance 与 CoW Protocol 合作开发,通过 CoW Grants Program

Milkman 万岁!愿你从他对为你带来优惠价格的承诺中受益!

4-what-is-milkman.webp

  • 原文链接: cow.fi/learn/what-is-mil...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
CowSwap
CowSwap
江湖只有他的大名,没有他的介绍。