MEVM、SUAVE Centauri及其他

  • flashbots
  • 发布于 2023-07-15 20:34
  • 阅读 13

本文介绍了_SUAVE Centauri_发布的内容及其在MEV(最大化可提取价值)领域的创新,强调优化程序员在区块链上构建新应用的能力。文章详细介绍了MEVM(MEV虚拟机)的功能与应用实例,展示了如何帮助去中心化MEV基础设施的开发。同时,还展望了未来的开发进展,并鼓励社区参与实验和反馈。

在这篇文章中,我们预览了在2022年11月路线图中定义的 SUAVE Centauri 发布版本,详细介绍了 MEV的未来SUAVE Centauri 由两个部分组成:一个隐私意识的 订单流拍卖 (“OFA”),我们与 mev-share的测试版 一起发布;以及一个 SUAVE Devnet。本文旨在高层次上解释几个关键概念,以帮助理解 SUAVE 和 Flashbots 更广泛的内容。此外,我们邀请社区与我们一起实验即将推出的 Devnet 启动。

Centauri Robot

让 SUAVE 可编程

我们很高兴地介绍 MEVM,这是对 EVM 的强大修改,包含适用于 MEV 用例的新预编译。在 MEVM 的帮助下,开发者可以在一个表达性、熟悉且灵活的编程环境中,将 MEV 应用程序编程为智能合约——就像在普通 EVM 中一样。MEVM 的目标是将 MEV 供应链中的每个基本组件作为预编译提供,从而使今天的任何中心化 MEV 基础设施都能够转变为去中心化区块链上的智能合约。下面我们将简要回顾 MEVM 以及它如何支持 SUAVE 的目标,然后通过代码示例和 SUAVE 的参考架构进行讲解。

MEVM 有助于实现 SUAVE 的多个目标。大幅降低创建新 MEV 应用程序的门槛,最大限度地提高不同机制的 竞争。例如,我们希望在 SUAVE 上看到不同区块构建(例如 PROF)或订单流拍卖机制(例如 MEVBlocker)的快速发展。这种创新的开放领域将促进用户结果和提案者的区块质量的改善。MEVM 在使用智能合约的 MEV 供应链中的每个基本组件上都是 具有最大表达性 的。最后,它有助于通过使集中基础设施(构建者、中继、集中 RFQ 路由等)能够作为去中心化区块链上的智能合约进行编程,从而 去中心化 MEV 供应链。

编写 MEVM 智能合约的示例

今天的区块构建者运行离线基础设施,以接收来自搜索者的交易捆绑和来自用户的单个交易。从这些输入中,构建者尝试找到一个区块中交易的排序,以优化该区块的价值。最简单的示例是以下算法:

  1. 模拟所有交易或交易捆绑,以推导其 有效气体价格(定义为总支付 / 总使用气体)。
  2. 首先添加气体价格最高的交易或捆绑。
  3. 尝试添加气体价格次高的交易,查看是否存在任何冲突。如果存在,丢弃该交易或捆绑;如果没有,将该交易或捆绑添加到待处理区块。
  4. 重复 (3),直到你用完捆绑和交易或达到区块的气体限制。

在今天的中心化基础设施中进行此操作需要大量的代码和广泛的基础设施设置。如果你对细节感兴趣,请查看开源的 Flashbots Builder

让我们看看如何使用 MEVM 作为智能合约来复制上述有效气体价格构建算法:

MEVM code

这里的 Solidity 与普通 Solidity 完全相同,但增加了可以调用的额外特殊功能,以帮助进行区块构建过程。在这个示例中,我们可以获取以太坊主网状态、模拟捆绑以及使用类似 getState()、simulateBundle() 和 exportBlock() 的预编译信息,将区块提供给提案者。这些特殊预编译与标准 Solidity 功能一起使用,以定义和执行一个简单的区块构建过程,类似于 Flashbots 长期以来执行的内容。

SUAVE 作为机制的市场

上述示例仅展示了我们添加到标准 EVM 的少数预编译。我们所遵循的原则是为开发者提供超能力,使他们能够以去中心化的方式构建他们目前无法在以太坊上构建的新应用程序。最初,我们的目标是支持几种类型的新应用程序:

  • 需要 私密数据 的应用程序,例如拍卖、区块构建
  • 需要 在区块时间内协调 的应用程序,例如区块构建、交易路由和填充
  • 需要 访问新鲜的离线数据 的应用程序,例如基于中心化交易所价格或基于其他交易的条件进行交易策略的应用程序
  • 由于使用了太多计算而 在链上执行成本过高 的应用程序,例如区块构建

SUAVE 是一个去中心化的平台,旨在开发这些应用程序所需的特性:低延迟、隐私、可信计算和可组合性。它允许来自现有 MEV 供应链的应用程序开发者将他们的应用程序重建为 SUAVE 上的智能合约,在这里他们可以利用其去中心化和可信计算。MEVM 是这其中的核心,提供了一个简单、灵活且熟悉的接口给开发者:EVM 及其工具生态系统(solidity、foundry 等)。

MEVM 还提供了一个重要功能,就是隐私。没有隐私,敏感数据无法共享,因为存在抢先交易和 MEV 盗窃的风险。MEVM 通过将对敏感数据的计算移动到在离线运行的执行节点上,提供了隐私和效率。Flashbots 或其他第三方最初将以可信的方式运行执行节点。在下一次发布中,执行节点将在 SGX 中运行,以降低对集中运营商的信任需求。最终,我们希望利用密码学增强 SGX,以便对所有敏感数据的计算进行加密,并尽可能降低信任要求。

SUAVE 的无权限性质、给予开发者的超能力以及大幅降低的新 MEV 应用程序的开发和部署门槛,使 SUAVE 成为一个 机制市场。它允许用户选择并受益于大量新的机制。反过来,用户将获得更好的结果,而提案者将获得更好的区块。

SUAVE Centauri

Flashbots 计划在今年第四季度(2023年)推出 SUAVE Devnet,从而完成 Centauri 发布,并提供 MEVM 的初始版本。这个Devnet将使社区能够进行实验和压力测试,为主要网络的下一次发布 SUAVE Andromeda 作准备。

从高层次来看,初始的 Centauri 发布具有以下架构:

Centauri Architecture

  • 执行节点:提供可信和私密的离线计算的节点,可以通过特殊预编译在 SUAVE 上用于智能合约。最初,Flashbots 或其他第三方将运行执行节点。在未来,将使用可信执行环境和/或密码学,从而不再需要对集中方的信任。
  • 机密数据存储:存储可供执行节点使用的机密数据的地方。
  • 出价:SUAVE 中一种新的交易类型,包含用户希望执行的机密数据以及允许访问用户机密数据的合约列表。
  • SUAVE 链:随着 MEV 特定预编译的修改 EVM 链,旨在与执行节点提供的可信离线执行一同使用。该链用于智能合约的部署,以及各方之间的协调。未来,该链还将托管用于支付偏好的资金、进行预言机更新和数据可用性的资金。

SUAVE 的四大主要利益相关者起初是:

  • 开发者 在 SUAVE Chain 上创建智能合约,定义 MEV 应用程序(如 OFA 和区块构建)的规则。开发者从中受益于灵活和高效的应用程序创建方式,以及对用户订单流的访问,这些他们在其他地方是无法获得的。
  • 用户 向 SUAVE 发送出价。出价包括机密数据和用户允许与其出价互动的合约集合。机密数据存储在离线的机密数据存储中。用户受益于 SUAVE 机制市场的竞争,以为他们提供最佳执行,并且他们可以在不更换 RPC 的情况下访问 MEV 应用程序,正如他们今天所做的那样。
  • 执行者 尝试使用智能合约执行出价,智能合约定义了他们如何与用户的机密数据互动,例如使用回跑合约在用户后面放置一笔套利交易。执行者通过执行出价获利,并能够利用他们在其他地方无法获得的订单流。
  • 提案者 监听 SUAVE 以获取完整的区块。提案者从中受益,因为他们可以访问有价值的区块。

在发布前,有更多技术细节和开源代码可期待(™)。

安德romeda 及以后

再次强调,初始发布的 Centauri 旨在成为实验的平台,并在主网上线前强固 SUAVE。作为其中的一部分,我们将展示如何将现有 MEV 基础设施(例如 Flashbots Builder 或 MEV-Share)作为智能合约进行开发,并邀请其他人与我们一起开发自己的 MEV 应用程序。

初始的 Centauri 发布主要依赖于对 Flashbots 的信任,以提供执行节点的隐私和可信度。我们将这一发布视为一个干净的接口参考,或者用密码学术语来说,是一个 理想功能,因为密码学和 TEE 完全排除在本次发布之外。作为第二次发布 Andromeda 的一部分,我们将执行节点运行在可信执行环境 (“TEEs”) 内部。这样,我们为离线计算赋予了隐私和完整性,这是 SUAVE 所需的愿景。此外,这使得更多方可以运行执行节点,因为 TEE 能够提供完整性和隐私保证,即使在存在恶意操作员的情况下亦然。该架构还旨在模块化并迎接未来,允许在准备好的情况下仅使用纯密码学运行执行节点。

最后,我们计划与其他领域合作,展示它们如何整合 SUAVE,并利用基于 SUAVE 的区块构建智能合约作为即插即用的构建器。

行动呼吁

我们希望其他人加入我们,共同强化和实验 SUAVE:

  • MEV 基础设施操作员(构建者、OFA、中继等):帮助我们了解你对预编译和 SUAVE 作为平台的需求。与我们密切合作,将你现有的离线应用程序迁移到 SUAVE。构建需要隐私和可信性的全新应用程序。
  • 其他领域(rollups、L2s 等):与我们联系,讨论如何集成和利用 SUAVE。
  • 用户:将你的 RPC 切换到 Flashbots Protect RPC,以通过利用 MEV-Share 来接收 MEV 付款。
  • 钱包:将你的 RPC 切换到 Flashbots Protect RPC,通过利用 MEV-Share 扩展对所有用户的隐私和再分配覆盖。
  • 去中心化应用(dApps):将你的 RPC 切换到 Flashbots Protect RPC,通过利用 MEV-Share 扩展对所有用户的隐私和再分配覆盖。与我们联系,讨论你如何将自己的中心化离线基础设施(例如中继)复制到 SUAVE 上执行为智能合约。
  • 搜索者:在 mev-share 上搜索订单流。监听 SUAVE 智能合约以获取新的出价,同时使用其提示进行搜索。利用可验证、透明且可信的区块构建规则。

感谢 GeorgiosLukeJon、Michał、Uma 以及许多 Flashbots 同事对这篇文章早期草稿的审阅和评论。特别感谢 Andrew Miller 在这篇博文中与我们密切合作以及相关 MEVM 的许多见解。

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

0 条评论

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