Fallback Handler博客/通讯

  • mfw78_
  • 发布于 2023-07-24 10:22
  • 阅读 11

CoW Protocol 推出了一项名为“条件订单”的新架构,通过与 Safe 合作开发的 ExtensibleFallbackHandler,为 Safe 钱包增加了额外的功能,同时保留了 Safe 的安全保证。用户可以通过升级 Safe 的 fallback handler 并启用 ComposableCoW,来使用 TWAP 等条件订单功能,并享受签名 MEV 保护和无失败交易等优势。

关于 CoW Protocol Safe Fallback handler 你需要知道的一切!

别担心,交易愉快! 我们一直忙于开发条件订单,这是一种允许开发者(及其用户)创建各种订单的架构。 该系统的核心是一个灵活的智能合约钱包,允许我们实现这种逻辑,还有什么比站在生态系统巨头的肩膀上更好呢? Safe

等等? 智能合约钱包? CoW Protocol 在以太坊领域为 EOA(想想 Metamask、Trezor、Ledger 等)率先推出了 intents,但一直以来,我们都在使用一个鲜为人知、更灵活的系统 - ERC-1271 集成。 听起来很技术性,但基本上这是一个旨在允许智能合约“签名”的标准 - 经验丰富的 CoWmunity 已经熟悉的一种体验 - 但现在有了这个系统,你可以定义条件,智能合约钱包可以为你完成点击。

ExtensibleFallbackHandlerSafe 合作设计、实施和测试,并通过我们的 Grants Program 孵化。 听起来很复杂! 简而言之,这是一种为你的 Safe 增加额外能力的方式,同时保留 Safe 一直以来备受推崇的强大安全保证。

升级你的 Safe 的 fallback handler 的过程是一个安全的过程,你应该始终遵循 Safe 用户界面的引导。 实现此系统的合约已经过审计,既有独立的 Gnosis 审计员(实施者不是 Gnosis / CoW Protocol LDA 的一部分),也有来自 Ackee Blockchain 的外部审计员。

在你们当中眼光敏锐的人会意识到,智能合约始终可以使用 CoW Protocol,但这既需要链上交易来表示你的意图,并且订单是固定的(不是有条件的)。 向这些限制说再见!:wave:

有了 ExtensibleFallbackHandler + 启用 ComposableCoWSafe,你现在可以享受签名 MEV 保护、无失败的交换交易、执行路径发现、条件订单以及批量处理(如果你需要执行 approve 之类的繁琐操作)。 如果你精通技术,你可以看看如何 开始使用 ComposableCoW 构建条件订单,或者在我们的 discord 上进入 #tech-talk! 当你忙于阅读如何编写最新最好的条件订单时,你可以使用 TWAP 逐渐购买更多你喜欢的代币 👇

为了庆祝 ComposableCoW 的条件订单超能力,我们为启用了 Safe 的用户发布了支持 TWAP(时间加权平均价格)订单的版本。 只需前往 Safe 并从 Safe 的“Apps”中使用 CoW Swap

首次通过 Safe 应用程序下达条件订单时,系统会提示你发出包含一批交易的交易签名请求(我们非常喜欢通过批量处理节省 gas ⛽🚫)。 此批处理中包括 setFallbackHandler - 条件订单框架依赖于比标准版本更具可扩展性的“fallback handler” - 因此我们会升级到新的 handler!

什么是 Safe fallbackHandler? 长话短说,Safe 旨在对基本操作(想想执行交易、花费你宝贵的代币)具有强大的安全保证,但没有足够的时间来编写用户_可能_需要的所有功能。 因此,Safe 可以将所有未知的函数请求“转发”到另一个合约(FallbackHandler)。

至关重要FallbackHandlers 具有与调用它们的 Safe 相同的权限。 由于 Safe 的安全架构,FallbackHandler 无法代表 Safe 执行交易。

好的,所以 fallbackHandler 无法为你执行交易,你为什么要关心? 默认情况下,Safe(没有 fallbackHandler)不支持 ERC-1271 签名。 Safe 的标准部署使用 CompatibilityFallbackHandler 作为 FallbackHandler 进行部署,它具有有限的(读取:无法自动化的)ERC-1271 支持。 我们的系统通过允许 Safe _额外_指定一个智能合约来增强此功能,该智能合约可以代表其上的特定应用程序签署消息。

这就是 ComposableCoW 发挥作用的地方! 🐮🎶 你可以将 ComposableCoW 视为一个自主代理,签署满足你已指定条件的订单。 当你创建你的第一个条件订单时,你将在批处理中看到的第二个交易是启用 ComposableCoW,你告诉你的 Safe “我希望 ComposableCoW 能够签署来自 CoW Protocol 的订单”TWAP 只是一种与 ComposableCoW 一起使用的 ConditionalOrder 类型。

至关重要: 由于 ERC-1271 的设计,所有签名验证都是只读的,这意味着 ComposableCoW 或任何条件订单都不可能 _直接_访问用户资金(交换中的资金移动由结算合约发起)。

总而言之,要享受 CoW Swap 的新 TWAP 订单功能:

  • Safe 用户需要升级他们的 fallbackHandler(启用条件签名)。
  • 条件订单会自动放置在 CoW Protocol 订单簿中(现在使用新的 handler 签名)。
  • 自动签名订单意味着你可能会听到更少的 CoW 标志性 moo 声。 如果出现戒断症状,请随意将其设置为你手机的通知音 🐄。

我们非常重视安全性,Safe fallbackHandler 升级过程是安全的,底层代码已由 SafeCoW 团队以及独立的外部审计员全面审计,你可以在 此处 找到最终报告。

所提出的解决方案保持了强大的 Safe 安全保证,并获得了上游(Safe)的厂商支持。 但是,令你惊讶的是,我们构建的 fallbackHandler 不仅仅是下达订单。 它允许无限的、尚未知的功能。 也许你想:

  • 为任何非标准方法定义自定义方法处理程序(如果你_真的_想,你可以将你的 Safe 变成 ERC-20 代币)。
  • 定义自定义 EIP-712 域验证器,由此实现 ISafeSignatureVerifier 的合约可以自动执行你的繁琐签名(正是_此_接口由 ComposableCoW 实现 - 并为闪亮的新 TWAP 订单提供支持)。
  • 定义你的 Safe 支持的一组方法(interfaceId),并使用 ERC-165 报告此类方法。

ExtensibleFallbackHandler 的架构可以在 此处 查看。

注意:审计并不能保证代码没有错误。 请谨慎使用。

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

0 条评论

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