账户抽象和 SUAVE:我们离以意图Intent为中心的以太坊还有多远?

最近,”意图 “成了以太坊极客们讨论的中心,点点滴滴逐渐被连接起来(账户抽象、SUAVE、订单流拍卖等)。本文将讨论我们如何才能完成从 “基于交易的交互” 到 “基于意图的交互” 的过渡,以及中途会出现哪些意想不到的结果,从而彻底改变 MEV 的形式。

意图已经在此

谈论 “意图” 而不提及 Anoma 是不公平的。他们一直在从头开始构建一个以意图为中心的区块链架构。那么什么是意图呢?本文由 Paradigm 公司首发,因此我可以借用他们的定义:

“意图是一套经过签名的声明性约束,允许用户将交易创建外包给第三方,而不放弃对交易方的完全控制”。

让我们来看一个真实世界的例子。爱丽丝在以太坊上有 10,000 USDT,她想用这笔钱尽可能多地购买 Arbitrum 上的 GLP。如今,爱丽丝需要先将她的资金从以太坊桥接到 Arbitrum,这就需要优化选择桥接器。幸运的是,这可以通过像 Bungee 这样的桥接聚合器来实现。将 USDT 与 Arbitrum 桥接后,Alice 现在需要决定用哪种资产购买 GLP – 因为 GMX 在购买 GLP 时会对不同资产收取动态费用,以平衡资金池,这意味着如果 USDT 的费用过高,Alice 将 USDT 换成另一种资产(即 ETH)并用 ETH 购买 GLP 可能会有利可图。为了做出决定,Alice 需要比较 GMX 的手续费差异和多种资产之间的交易滑点。这需要做很多工作,而且当她签署交易时,她的计算结果可能会过时–费率、价格和滑点一直在变化。

有了意图,整个过程就完全不同了。爱丽丝只需表达她的意图:”我想在以太坊上用 10,000 USDT 购买尽可能多的 GLP,至少 100,000 个:Arbitrum 上的 GLP。

简而言之,事务 = 您指定如何做;意图 = 您指定想要什么,但不关心如何实现。

事实上,我们现在已经在以太坊上表达意图了。使用像 1inch 这样的 DEX 聚合器进行的每次交换都是一个意图:你只需指定输入金额和滑点容忍度,然后让路由合约为你找到最佳路线。我们称之为 “简单意图”。在 Flashbots 拍卖中,还有一种我称之为 “搜索者意图” 的东西,即搜索者对交易排序的偏好。这一点在我们以后深入研究意图的实现时非常重要。此外还有 “任意意图”,即用户可以表达任意意图并将其实现。

用户体验革命

长期以来,区块链一直被指责为用户体验不佳,许多人认为用户体验是web3大规模应用的主要障碍之一。现在,我们有了 “意图”(intents)这一交互范式,它可以使区块链的用户体验不仅与目前的web2相当,而且实际上比web2更好。在目前的 Web2 设置下,有最终目标的用户仍然需要了解路径,例如,如果你想购买股票/物品/食品,你需要知道使用哪个应用程序……但是,意图能够在不了解路径的情况下实现最终目标。区块链 dapps 的本地可组合性进一步使这种模式与孤立的 Web2 应用程序相比具有可扩展性。

意图层

这一愿景听起来不错,但我们首先需要一个意图层,让用户表达他们的意图,并让解决者竞相解决这些意图。Anoma 和 SUAVE(Flashbots 的意图终结者)都在努力成为区块链的意图层,但使用的方法却大相径庭。现在对它们进行比较还为时过早(还没有人知道意图层应该是什么样的),但有一点可以肯定:构建意图层是非常困难的。它的许多设计原则实际上是相互矛盾的,这一点在 SUAVE 的蓝图上就有所体现:

1.可信的承诺和权力下放

一个简单的意图 p2p 网络(即 “意图 mempool”)不太可能奏效,因为它无法同时保证用户和解算器对意图的承诺–例如,我们需要确保用户在其意图被解算器解算后支付其承诺的金额,而解算器必须遵守用户设定的约束条件。中心化的解决方案可能行得通,但我们当然希望采用去中心化的解决方案,这样我们就只有一个选择:区块链。没错,这就是为什么 SUAVE 本身就是一个区块链。

2.隐私权

我们希望解算器能为用户意图提供最佳执行,这就需要尽可能多的信息;但同时又不希望恶意行为者利用它们,这就需要至少隐藏部分意图信息。这就存在两个问题:首先,在技术上很难在区块链上实现可计算信息的私有化。选择有限:TEE、ZKP、MPC。其中没有一个是完美的,Flashbots 建议使用英特尔的 TEE SGX,但它在安全性(以及与加密解决方案相比的优雅性)方面已经招致了一些批评。其次,目前还不清楚是否会存在隐私的 “适当平衡”。Flashbots 的最新产品 MEV-Share(或称 “原 SUAVE”)可以向搜索者披露用户的部分交易数据。这是否真的能让用户和搜索者都获得更好的收益还有待观察:只有当搜索者清楚地知道交换的规模和滑点时,反向操作才会得到优化,而零信息泄露则会让人无法提取任何价值。介于两者之间的任何情况都会减少可能的最大盈余。

3.意图语言/协议

用户还需要一种语言来表达意图。我们希望这种语言对任意意图都有足够的表达能力,这就是 SUAVE 将使用 EVM/Solidity 的原因–它是图灵完备的。但我们也需要一个协议来规范意图,或许还可以限制语言,原因有两个:首先,无限表达的意图很可能无法解决,或者无法在链上验证。其次,表达能力会让意图变得模糊,而模糊的意图会产生更多的 MEV,这是我们希望最小化的。这是另一个难以取得的平衡。

4.跨链结算和oracle

由于 SUAVE 是一个独立的区块链,要处理来自外部域(即以太坊)的意图,就需要进行跨链结算。以太坊用户必须在 SUAVE 上存入资金,并承诺在其意图得到解决后解锁这些资金。而 SUAVE 上的智能合约要验证这一点,就需要用到神谕。因此,SUAVE 将面临我们今天在跨链桥方面遇到的所有问题:安全性、速度、用户体验、信任假设等。

总结一下:我们希望使用区块链来去中心化意图层,这将带来跨链结算问题;我们希望将更多价值回馈给用户,这也可能导致更多剥削;我们希望用户随心所欲地表达,但也需要确保他们表达的内容是可解决的。

意图层需要账户抽象

账户抽象常常被简化为 “无气交易”、”无密钥恢复”,或许还有 “费率限制”。是的,这些都很酷,但还不够酷。AA 账户抽象最酷的地方在于它的架构,让钱包成为意图的入口。

AA 账户抽象简要回顾:

以太坊上有两种地址:智能合约和外部自有账户(EOA)。EOA 可以发起交易,但智能合约不能。因此,我们现在使用的大多数以太坊钱包都是 EOA。也有像 Gnosis Safe 这样的智能合约钱包(SCW),但由于智能合约不能启动交易,所以需要 EOA 来提示 SCW。SCW 的好处是:作为智能合约,钱包可以执行任意逻辑,为钱包开辟了无数新应用,而 EOA 只能签署交易。

为使用户无需单独的 EOA 即可使用 SCW,EIP-4337 引入了一种名为 “用户操作 “的新事务类型和一种名为 “Bundler” 的新角色。EIP-4337 之后,SCW 的用户流程变为:

用户向 UserOp Mempool 发送 UserOps(表示他们希望钱包执行的操作)–→捆绑者验证并 “捆绑 “UserOps,执行它们(签名、支付煤气费),将交易发送给 EntryPoint 合同–→EntryPoint 合同将交易传递给 SCW,提示 SCW 执行用户要求的操作–→捆绑者从 EntryPoint 合同获得煤气费退款(为简单起见,我们将跳过 PayMaster)。

那么,为什么意图层需要 AA 呢?我们仍以 SUAVE 为例。有两种情况:

1.SUAVE 直接处理用户意图

在这种情况下,正如我们所提到的,用户将需要在 SUAVE 上存入资金并检查写入智能合约的票据。这将大大降低用户体验。而且这非常违背直觉–为什么我需要将资金转移到另一个链上并与之交互,仅仅是为了在以太坊上做一些事情?在这里,AA 和 SCW 发挥了作用:您可以将 SUAVE 的所有交互逻辑封装到以太坊钱包中。资金存入、执行验证,应有尽有。这并不能解决 SUAVE 所面临的任何基本挑战–我们仍然需要一个无信任桥梁、一个意图协议等。但至少,用户体验本身在很大程度上可以通过 SCW 来挽救。而 EOA 根本无法做到这一点。

2.SUAVE 只处理搜索者的意图

很明显,Flashbots 将在其现有产品(即 MEV-Boost 和 MEV-Share)的基础上迭代构建 SUAVE。考虑到为任意意图构建可行协议的难度,SUAVE 很可能在很长一段时间内都不会触及用户意图。取而代之的是,它将与当前的 Flashbots 更为相似,后者主要处理的是交易排序偏好,也就是我所说的 “搜索者意图”。在这种情况下,必须有专人先将用户意图转化为交易,然后再将交易提交给 SUAVE,这意味着意图的解决将发生在 SUAVE 之前。

那么在这种情况下,谁来做意图层呢?现在是 dapps,就像解决简单意图的 DEX 聚合器一样。随着 AA 逐渐成熟,SCW 很可能会成为事实上的意图层,从 dapp 和 SUAVE 手中抢走午餐。原因就在这里:

专属意图流重新定义 MEV

目前,MEV 是对现有事务重新排序。然而,有了意图,大部分价值在事务创建之前就已经被提取出来了,MEV(如果我们还叫它这个名字的话)将是根据意图创建事务。求解者在接收到意图后,可以随意调整执行(只要满足约束条件),并将自己的事务插入到意图生成的事务中,将它们捆绑成一个原子事务。

最直接的例子就是三明治攻击:现在,”三明治 “攻击者需要库存来移动价格,以对抗用户交易,并且必须相信中继、构建者和提议者不会拆散他们的 “三明治 “捆绑(否则他们绝对会被炸死)。但是,意图解决者可以无风险、无资本地夹击用户意图:他只需要在用户交换之前接受闪贷并左右价格,在用户交换之后换回闪贷,偿还闪贷并获取利润,所有这些都在一次交易中完成,因为所有涉及的步骤在技术上都是独立的。

等等,这听起来是不是很熟悉?让我们再来看看这幅美妙的图画:

是的,Bundlers很像意图解决者。它们接收 UserOps,将其转化为事务,并随意利用它们,因为从技术上讲,这些事务是属于它们的。

所以你是说,Bundlers将成为下一个搜索者。这和钱包有什么关系?关键是,UserOps 不是意图。UserOps 是伪以太坊交易,其 nonce 和签名字段的使用不是由协议定义的,而是由每个账户实现的。因此,必须有一个 “从意图到用户操作 “的过程。这正是意图层的作用。

如果我们相信 SCW 将占据主导地位,那么只有一个合乎逻辑的结果:钱包成为意图层。之前流向 dapps 的意图和订单流将被钱包前端拦截。用户流将变成这样

请注意,SCW 前端上的意图解算器很可能同时充当bundlers,而捆绑器也可能是块构建器。这种垂直整合产生了所谓的 “排他性意图流(EIF)”,就像 MEV 社区广泛讨论的 EOF(排他性订单流)一样。在上一篇文章中,我认为 EOF 问题不大,因为如果用户发现自己受到挤压,可以很容易地切换执行器。但这次的意图将使情况有所不同:用户不再拥有自己的交易。当然,他们也可以切换意图层,但成本要比现在切换 RPC 高得多。

因此,令人惊讶的是,意图将进一步集中 MEV。好消息是,对于 Flashbots 和任何钱包来说,构建一个功能完备的意图层都很困难,因此我们在很长一段时间内都不会看到 EIF 的完整形态。坏消息是,钱包也可以迭代。请记住,今天的 dapps 是意图解决者,而 SCW 可以拥有插件或钱包内 dapps。在钱包中安装钱包插件,就像在谷歌应用商店为安卓手机安装应用程序一样简单。这些钱包插件将充当最早的意图解决者,它们吸引的所有意图都将首先被输送到钱包。自下而上构建的意图层。

现在我们可以回答主题中的问题了:我们离以意图为中心的以太坊还很遥远,但意图将开始在用户流中发挥更大的作用,这将不可避免地永久性改变 MEV 的格局,智能合约钱包将成为强大的价值提取器。用户为了获得更好的用户体验而牺牲对交易的所有权,希望设计巧妙的意图层能公平地将他们的意图所产生的价值返还给他们。

基于 Intent 意图的架构及其风险

导言

最近,围绕 “意图” 及其应用的讨论成为以太坊社区的主要话题。

如果交易明确提到了应该 “如何 “执行一项行动,那么意图则是指该行动的预期结果应该是 “什么”。如果一项交易说 “先做 A,然后做 B,支付 C,得到 X”,那么意图就是 “我想要 X,我愿意支付 C”。

这种声明式范式在用户体验和效率方面带来了令人兴奋的改进。有了意图,用户就可以简单地表达所期望的结果,同时将实现该结果的最佳任务外包给成熟的第三方。意图的概念与当今的命令式交易范式形成鲜明对比,后者的每个参数都由用户明确指定。

虽然这些改进是生态系统亟需的一步,但以太坊上基于意图的设计也会对链外基础设施产生重大影响。特别是,与 MEV 相关的活动和市场控制有重要联系。这篇文章旨在简要定义意图及其益处,探讨实施意图所涉及的风险,并对潜在的缓解措施进行一些讨论。

什么是意图 Intent?

目前,用户与以太坊交互的标准方法是制作和签署交易,即以特定格式发送信息,为以太坊虚拟机(EVM)执行状态转换提供所有必要信息。然而,创建交易是一件复杂的事情。创建交易需要推理庞大的智能合约等细节,同时还要持有特定资产以支付燃气费。这种复杂性导致用户体验不理想,用户在无法充分获取信息或复杂的执行策略的情况下被迫做出决策,从而导致效率降低。

Intent 意图的出现就是为了减轻用户的这些负担。非正式地讲,意图是一组声明性约束,允许用户将交易创建外包给第三方,而不放弃对交易方的完全控制。

在标准的基于事务的流程中,事务签名允许验证者针对特定状态遵循一条精确的计算路径,而提示则鼓励验证者这样做。另一方面,意图并不明确规定必须采取哪种计算路径,而是允许满足特定限制条件的任何路径。通过签署和共享一个意图,用户实际上就是授予了接收者代表他们选择计算路径的权限(见下图)。通过这种区别,我们可以将意图定义为允许从给定起始状态进行一系列状态转换的已签名消息,而允许唯一转换的事务则是其中的一个特例。因此,我们将继续把 “意图” 与事务区分开来。

图 1:提交事务时,用户指定准确的计算路径。提交意向时,用户指定目标和一些限制条件,然后由匹配过程决定计算路径。

重要的是,许多意图可以包含在单个交易中,允许匹配重叠的意图,提高Gas和经济效益,例如,在服务商维护的订单簿中,两个订单在进入市场之前可以相互抵消。其他应用包括跨域意向–使用不同的抗重播方案签署一条信息而不是不同域上的多个交易–以及更灵活的用户气体支付,例如允许第三方赞助气体或以不同代币进行支付。

意图的过去和未来

创建意图是为了外包与区块链互动的复杂性,同时允许用户保持对其资产和加密身份的保管。

您可能会注意到,其中许多想法与已运行多年的系统相对应:

1 限价订单:如果我收到至少 200 Y,则可从我的账户中提取 100 X。

2 CowSwap 式拍卖:同上,但依靠第三方或机制来匹配许多订单,以最大限度地提高执行质量。

3 Gas赞助:用 USDC 代替 ETH 支付天然气。该意图只能与支付 ETH 费用的匹配意图一起实现。

4 授权:只允许以某些预先授权的方式与某些账户进行交互。只有当最终交易遵守意图中指定的访问控制列表时,意图才能实现。

5 事务批处理:允许批处理意图,以提高气体效率。

6 聚合器:只使用 “最佳 “价格/收益率进行操作。只要证明已对多个场所进行了汇总,并采取了最优路径,就能实现上述意图。

展望未来,在跨链 MEV(如 SUAVE)、ERC4337 风格的账户抽象、甚至 Seaport 订单的背景下,意图正在重新受到关注!虽然 ERC4337 正在全力推进,但跨域意图等其他新型应用仍需进一步研究。有关意图及其应用的更多讨论,请参阅本讲座。

至关重要的是,在所有基于意图的新旧应用程序中,至少需要有另一方了解意图、有动力执行意图并能够及时执行。要确定意图驱动型系统的功效、信任假设和更广泛的影响,就必须问清楚这些当事方是谁、如何执行以及他们的动机是什么。

中间商及其Mempools

要让一个意图通过最明显的渠道进入一个有意愿的中间人手中,那就是以太坊内存池。不幸的是,目前的设计并不支持意图的传播。对 DoS 攻击的担忧可能意味着,即使从长远来看,以太坊内存池也不可能支持完全通用的意图。我们将在下文看到,以太坊内存池的开放性和无权限性为意图的采用带来了更多障碍。

在没有以太坊内存池的情况下,意图系统设计者现在面临着一些设计问题。一个高层次的决定是,意图是传播到有权限的集合,还是以无权限的方式提供,以便任何一方都能执行意图。

图 2:意向从用户流向有权限/无权限和公共/私有意向池,由撮合者转化为交易,最终通过 MEV Boost 式拍卖流向公共 mempool 或直接流向链上。

无权限Mempools

我们可能会追求的一种设计是一种去中心化的应用程序接口(API),它允许在系统中的不同节点之间传播意图,为执行者提供无权限访问。这在以前已经实现过。例如,在 0x 协议中,中继器之间会相互转告限价订单,并在匹配时将其放到链上。在共享 ERC4337 内存池的背景下,人们也在探索这一想法,以应对中心化和审查风险。然而,这种无权限 “intentpools” 的设计面临着一些重大挑战:

抵御 DoS:可能需要限制意图的功能,以避免攻击载体(更多讨论见 ERC4337 建议)。

传播激励:对于许多应用来说,执行意图是一项有利可图的活动。因此,运行 intentpool 的节点有不传播的动机,以减少执行意图时的竞争。

MEV:依赖链外行为者的良好行为来保证执行质量的意图,在使用公共的、无权限的意图池时可能会遇到困难。如果执行不力有利可图,那么无权限的 intentpool 很可能会导致这种结果。这类似于现在以太坊内存池中的夹心层,预计将成为 DeFi 相关意图的一个普遍问题。未来可能的发展方向是无权限但加密的 intentpool。

经许可的Mempools

受信任的集中式应用程序接口具有更强的抗 DoS 能力,而且无需传播意图。受信任模型还能在一定程度上抵御 MEV 问题。只要信任假设成立,执行质量就能得到保证。受信任的中间人还可能拥有与之相关的声誉,从而为提供良好的执行提供了一定的激励。正因为如此,经过许可的 intentpool 在短期内对基于意图的应用开发人员很有吸引力。不过,我们都很清楚,强信任假设存在缺陷,与区块链的大部分精神有些背道而驰。下文将谈到这些问题。

混合解决方案

有一些解决方案是上述方案的混合体。例如,可以有许可传播,但无许可执行(假设信任假设成立),反之亦然。混合解决方案的一个常见例子是订单流拍卖。

这些设计的高层次理念是,需要交易对手的用户可能需要区分较好和较差的交易对手(例如,以有利的价格接受交易的另一方)。设计流程通常包括一个受信任方,该方接收用户的意向(或交易),并代表用户促进拍卖。参与拍卖(有时)是无许可的。

这类设计有其自身的缺陷,可能会受到许多围绕许可意向池的关注,但也有一些重要的不同之处,这在后面会逐渐显现出来。

一句话:基于意向的应用涉及的不仅仅是与智能合约交互的新信息格式,还涉及以替代mempools为形式的传播和交易对手发现机制。要设计一种既能兼容激励机制又不集中的意图发现和匹配机制并非易事。

会出什么问题?

尽管意图是一种令人兴奋的新交易范式,但其广泛采用可能意味着用户活动向替代性内存池转移这一更大趋势的加速。如果管理不当,这种转移会带来集中化和中间商寻租的风险。

Order Flow 订单流程

如果意图的执行是经过许可的,而许可集的选择又不谨慎,那么从公共内存池迁移出来就有可能使以太坊的区块生产中心化。

目前,以太坊上绝大多数的区块生产都是通过 MEV-Boost 实现的,MEV-Boost 是提议者-构建者分离(PBS)的一种协议外实现,目前的路线图没有迹象表明这个接口会很快改变。PBS 依赖于区块生成器竞争市场的存在,将 MEV 输送到验证器集。PBS 的一个主要问题是,区块构建者能够独占生产有价值区块所需的原材料–交易和意图,又称 “订单流”。在 PBS 的语言中,对意图的许可访问被称为 “排他性订单流”(EOF)。正如本文所讨论的,EOF 如果落入不法分子之手,就会威胁到 PBS 所依赖的市场结构,因为订单流的排他性意味着对竞争力量的护城河。

控制了以太坊大部分订单流的区块生成器(或合作实体)将能够生成大部分主网区块,从而为审查开辟了渠道。由于网络依赖于构建者之间的竞争来向验证者输送价值(或在未来被烧毁),单一构建者的主导地位将构成价值从以太坊向构建者的转移。寻租和审查无疑是对协议的重要威胁。

信任

由于许多解决方案需要对中介机构的信任,新的基于意图的架构的开发受到了高准入门槛的阻碍,这意味着为确保执行质量的创新和竞争率较低。

在最糟糕的情况下,用户会发现自己处于只有一方执行意图的境地,比如上一节中的垄断区块构建者。在这种情况下,垄断性的区块构建者将能够榨取租金,任何关于如何处理意图的新建议如果不被构建者采纳,都将被拒绝。面对垄断者,个人用户失去了谈判能力–当用户使用意图为中间商提供额外的自由度时,这种影响就会加剧。

遗憾的是,集中式基础设施造成的市场停滞并不局限于对建筑商市场的担忧。即使是非大宗建筑业务,由于中间商面临的竞争很少,高门槛也会使他们处于强势地位。例如,当前订单流拍卖市场的状况。Flashbots 和 CoWswap 等几个实体接收了大部分流向 OFA 的订单流。订单流的分布在很大程度上是因为这些实体已存在多年,或与声誉卓著的实体有关联,这意味着它们已成功获得了一定程度的公众信任。如果一个新的 OFA 设计试图进入市场,那么无论谁来运营这个新的 OFA,都必须花费大量时间来说服用户和钱包,让他们相信他们是有信誉的,不会滥用自己的地位。这种赢得信任的活动无疑构成了进入市场的巨大障碍。

订单流拍卖市场最近才开始受到关注,竞争将如何发展仍有待观察,但该市场确实提供了一个示例,说明在这种情况下,经过许可的可信mempool 可能会庇护少数有实力的参与者,从而损害用户的最大利益。

EIP4337 意图格式提供了另一个例子,说明我们有可能将某种机制写入法律。考虑一下这样一个世界:可信架构已经到位,以支持 4337 意图。如果有人提出了另一种意向格式–也许是为跨域功能等其他用例服务的–但既有的可信中间商并不采用这种新格式(毕竟这种格式的采用率并不高,而且与他们的商业模式有竞争),那么新格式的实施就需要在新的实体中建立信任。我们再次发现,创新和挑战现状会遇到基于信任的进入壁垒。

不透明度

由于许多意图架构要求用户放弃对其链上资产的某些控制权,而经过许可的内存池意味着一定程度的外部不可渗透性,因此我们有可能建立一个不透明的系统,在这个系统中,用户的期望如何或是否得到满足并不明确,生态系统面临的威胁也不会被察觉。

上述内容涉及订单流市场的力量不平衡给用户和协议带来的风险。与此相关的一个问题是,在用户和区块链之间发展起来的中间件和内存池生态系统会变得不透明,甚至连敏锐的观察者也无法察觉。这种担忧对于基于意图的应用程序尤为重要,因为这些应用程序旨在让用户外包订单路由等重要决策。

MEV 对用户执行产生负面影响的情况,通常是由于事务执行者放弃了较高的自由度(如滑动限制)。因此,我们可以断言,基于意图的应用程序如果放弃了更大的自由度,就应该更加谨慎地设计其执行系统,这在逻辑上并没有太大的跳跃。在这方面,最坏的结果是,使用基于意图的应用程序需要签署一个意图,而这个意图会消失(可以说是消失在黑暗的森林中),然后以某种方式成为一个(多个)交易,而交易是如何或由谁创建的却不清楚。当然,监控这样一个生态系统的能力也与 EOF 和基于信任的固化有关。如果以太坊生态系统连最敏锐的观察者都不清楚,那么以太坊社区该如何监控对其区块生产生态系统健康的威胁呢?

降低风险

以太坊内存池是有限的。对于某些应用程序来说,这是由于其缺乏隐私性(夹层),而对于其他应用程序来说,这是由于其无法支持更广泛的消息格式。这让钱包和应用开发者陷入困境,因为他们必须找到某种方法将用户与区块链连接起来,同时避免上述危险。

通过对上述问题的研究,我们可以推断出理想系统的一些特性。这样的系统应该是无权限的,这样任何人都可以匹配和执行意图,同时又不会牺牲很多执行质量;应该是通用的,这样部署新的应用程序就不需要建立新的内存池;应该是透明的,这样在隐私保证允许的情况下,意图的执行过程会被公开报告,执行质量审计数据也会被提供。

虽然 Flashbots 和 Anoma 等团队正在努力开发通用解决方案,通过将隐私和无权限相结合来满足上述要求,但理想的系统很可能无法在短期内实现。因此,不同的解决方案可能会为不同的应用提供最佳服务。虽然像 crlists 这样的机制是为了解决基于交易的应用程序所面临的许多相同问题,但这种机制可能无法用于意图,但一些小工具,如允许用户在可能的情况下返回到交易,可能会很好地改善最坏的情况。同样,希望启动 intentpool 的应用程序,如果没有权限,最好寻求通用性,如果有权限,则要谨慎选择中间人。

从广义上讲,我们要求基于意图的应用程序设计者全面考虑其应用程序的链外影响,因为这些影响可能会触及更广泛的社区,而不仅仅是其用户群,我们还要求更广泛的社区对围绕以太坊的链外生态系统的发展保持警惕。

结论

意图的采用代表着从命令式范式到声明式范式的转变,有望显著改善用户体验和因 MEV 泄露造成的效率损失。对这些应用程序的需求是显而易见的,许多基于意图的应用程序已经广泛使用了几年。

在 ERC4337 的部分推动下,意图的采用率越来越高,这可能会加速从以太坊内存池向新场所的转移。虽然这种迁移是合理的,也是不可避免的,但基于意图的应用程序设计者有充分的理由在设计其系统的链外组件时保持谨慎,因为强大的基础设施正在开发中。

在这一新生的交易模式中,还有很多研究和工程工作要做,我们在这篇文章中没有涉及到的领域,如设计一种允许隐私的意图表达语言。

解码意图:革新 Web3 用户体验和区块链订单流

导言

随着 web3 技术走向大众化,必须确保用户能够独立驾驭复杂的 web3 丛林。与区块链早期用户必须破解错综复杂的技术问题不同,未来的关键在于提供用户体验,引导和授权用户与去中心化系统进行无缝互动。web2 的用户需求通过搜索引擎和聊天机器人(如 ChatGPT)变得越来越明确,web3 必须借鉴web2 的发展,提供易于使用但功能强大的用户体验。

意图驱动的交互成为用户友好的网络3体验的基础。虽然对意图的定义有很多,但我更倾向于将意图细分为三对关键词:

结果而非路径: 用户只需表达他们想要什么,而不必关心如何实现结果

条件授权而非代码授权:当用户签署区块链交易时,他们授权交易中的代码可以执行任意计算,修改区块链的状态。与此相反,当用户批准一个意向时,他们是在授权释放他们的资产,并在保证实现他们想要的结果后支付小费(有点像网上购物中的货到付款)。

竞争性解算器格局取代可信的 dapps:在交易主导的世界里,用户与自己选择的 dapps 进行交互,dapps 作为服务提供商返回所需的结果,这通常是长期和主流的 dapps,如 uniswap。在一个以意图为主导的世界里,链下和链上的知名或不知名的解算器都可以参与竞争,为用户实现意图并获得奖金。从经济学原理来看,竞争越激烈,效率越高。

总之,用户可以清晰、直接地表达自己的意图;平台可以利用求解器和执行器找到最佳执行路径,以实现用户目标。就像在 Web2 中,黑盒子在幕后工作以优化结果一样,Web3 的执行者可以利用算法和自动化流程来处理执行过程中的复杂问题,确保用户高效地获得所需的结果并得到报酬。

通过优先考虑用户体验和关注表达意图,web3 可以开创一个新时代,让所有人都能获得去中心化系统的力量和潜力。web3 的未来在于实现访问的民主化、简化交互并提供无缝的用户体验,通过去中心化景观引导用户从复杂的执行中解脱出来

探索不同类型的意图实现

根据意图的概括性,可以存在各种类型的意图,如下所示;

事实上,不同级别的意图无处不在,因为区块链代码=某种自动化=提取掉一些复杂性,并将所需结果返回给用户。不过,我们希望未来能有最通用的意图,因为AA+特定意图的应用程序是不够的,因为它们不具备跨域功能,也无法像更无权限的意图那样有效扩展。

要了解意图如何发挥作用,我们可以研究一下目前可用的解决方案,从特定意图应用程序到通用意图基础设施(如 Anoma 和 SUAVE)。分析可分为 5 个主要部分,需要注意不同的问题:

意图表达和授权:用户如何输入他们的意图;用户可以表达什么类型和什么级别的意图;用户给予什么授权?

求解者候选者:有权限还是无权限?成为解决者的门槛高吗?是否有不同类型的解题者专注于其他特定领域?

解题过程:解决问题的主要路径是什么;是什么决定了意图的完成?

解算器选择:从多个候选解算器中选出优胜者的规则是什么?比赛模式是赢家通吃还是离散模式?

验证和结算:如何检查求解器是否完成任务?如何在用户和求解器之间进行结算?

以下是当前解决方案的全面概述。如需了解更多详细信息,请参阅其余部分。

Cow Swap & 1inch fusion(限制订购意向)

意图表达和授权:

Cow Swap 和 1inch Fusion 平台上的交易者通过与平台界面的互动来表达自己的意图,为所需的交易或限价订单提供明确的指示。
在授权方面,交易者签署链外消息或交易以授予权限。他们用交易的代币支付费用,而不是用 ETH 支付气体费用,如果交易未执行,则无需支付任何费用。

解题候选者:

就 1inch Fusion 而言,解算器(称为解算器)以许可的方式运行。他们必须注册,接受 KYC 流程,并保持足够的余额以支付订单费用。
另一方面,Cow Swap 的解算器要么通过创建 100 万美元(USDC 和 COW)的绑定池获得白名单,要么被纳入 CoW DAO 绑定池或 Gnosis DAO 绑定池,并根据 DAO 的标准被 Cow DAO 列入白名单。

解决过程:

求解器会对现有批次进行评估,以找出任何可为执行交易或限价订单提供最佳价格的需求重合(CoW)。它们会考虑流动性、订单簿深度和价格滑点等各种因素,以确保交易者获得最佳执行效果。
此外,解算器还可以直接探索其他基础链上自动做市商(AMM),如 Uniswap,或利用 1inch 等 DEX 聚合器来寻找最有利的价格和路线。

选择求解器:

在 “Cow Swap”中,交易者以任何外部解算器通过批量拍卖确定的最佳价格执行交易,从而实现交易者盈余最大化。提供最优解的解算器被选中。
相比之下,1inch Fusion 中的解析器竞争受到更多限制,并且与使用荷兰式拍卖的 1inch 代币相关。

验证和结算:

验证和结算过程在解算器执行交易或限价订单后进行。解算器可以利用授予结算合约的 ERC20 批准,代表用户移动代币。结算合约会验证用户意图的签名,并确保执行符合指定的限价和数量(由 EIP-1271 启用)。这一验证确认了预期交易或限价订单的成功完成。
结算合同一经确认,便可向参与交易的解算器和用户适当分配资金。

最近,Cow Swap 刚刚宣布推出 Cow Swap Hooks,通过启用直接在交易前和/或交易后执行的自定义编码 DeFi 操作,实现执行更广泛的交换意图。我们很高兴地看到 Uniswap v4 和 Cow Swap 正在将它们的边界拓展到更广泛的意图活动,并为我们带来一个定义意图的新世界!

UniswapX(交换意图)

UniswapX 的新功能可分为两个主要部分:

  • 通过荷兰式拍卖机制签署订单
  • 跨链交换

荷兰式拍卖的签署订单与 1inch Fusion 和 Cow Swap 的限价订单意图相似,但有以下不同:

意图表达和授权:用户有更大的自由度(也可能带来更多的复杂性)来定义参数,包括拍卖的衰减函数、荷兰式订单的初始价格等。

求解候选者:无权限而非有权限(也可由用户设置权限);

选择求解器:
荷兰式订单,执行价格取决于其加入区块的时间。订单开始时的价格估计会比当前市场价格对换户更有利,例如,如果当前市场价格为每 ETH 1,000 USDC,卖出订单可能会以每 ETH 1,050 USDC 开始。然后,订单的价格会逐渐下降,直到达到交换者能接受的最差价格(例如每 ETH 995 USDC)。一旦有利可图,填单者就有动力尽快填单。如果等待时间过长,他们就有可能将订单拱手让给另一个愿意以较低价格获利的填充者。
UniswapX 还可以在初始荷兰式价格设置中加入 RFQ(允许订单指定一个填单人,该填单人有权在短暂时间内独家填单),在这种情况下,选择过程与 1inch Fusion 的拍卖方法几乎相同。
与 UniswapX 和 1inch 的独立拍卖相比,Cow Swap 更像是批量拍卖,可以合并订单并匹配 CoW。

求解过程和验证与结算:
与 Cow Swap 和 1inch 类似(更多详情见图表)。

跨链交换可通过类似的流程实现,主要区别在于验证和结算,以实现多域交换:

求解者需要在原始链上存入更多债券资产,以确保安全并启用乐观的跨链协议
需要一个额外的结算oracle,为起源链的验证合约提供信息
需要 UniswapX 在不同域上部署相应的结算和验证合约

账户抽象(钱包级意图)

意图表达和授权:

当钱包所有者想要执行特定操作时,意图表达和授权过程就开始了。他们通常通过 4337 钱包界面制作一个用户op,以表达他们的意图。
在链外,钱包所有者要求捆绑程序代表他们处理用户操作,并根据意图授权有限的控制权。例如,钱包所有者可以授权私钥可以从您的主账户进行交易,但只能使用 Dapp XYZ 的中枢合约。

解题候选者:

在 AA 框架中,捆绑服务被视为公共产品。大多数捆绑程序都是开源的,因此不具有排他性和竞争性。任何 RPC 端点都可以复制开放源代码,并作为捆绑程序运营。即使捆绑程序 RPC 端点对其服务收费,它也可以通过 API 密钥来收费,同时仍然保持捆绑程序作为公共产品的非排他性。
捆绑程序主要有两种:专为钱包打造的捆绑服务,满足钱包的基本需求;第三方基础设施提供商,旨在构建无权限和模块化的捆绑服务

解决过程:

捆绑程序在用户op上模拟钱包的 validateOp 方法,以确定是接受还是拒绝链外交易。然后,他们将交易发送到 AA 系统的入口点,调用 handleOp 方法。这一过程还包括将多个用户操作捆绑在一起,以优化气体和提取 MEV。
入口点合约会将操作推送到链上,链节点会验证操作并达成共识。

选择求解器:

AA 中解算器的选择取决于多种因素。账户所有者使用的钱包可能提供捆绑程序服务或使用第三方信息,用户也可能切换 rpc 端点来选择喜欢的捆绑程序,在这种情况下,捆绑程序的成功率和声誉可能会影响他们的选择。

验证和结算:

AA 系统的入口点负责验证和处理链上的操作。它确保用户操作符合要求,并在执行所需的操作前进行安全检查。一旦操作成功执行,入口点就会从钱包存入的资金中向捆绑者退还 ETH。这种退款机制补偿了捆绑者的工作和预付费。

Essential(以用户为中心的账户抽象标准)

*请注意,Essential 仍处于早期阶段,部分描述和设计可能会随着时间的推移而发生变化。如需了解更多信息,请访问 Essential 网站:https://essential.builders/。

基本要素: 从短期来看,它将是一个基于资产的意图标准(类似于 erc-4337 模型,但可以实现更广泛的意图),并具有一套便利的基础架构。从长远来看,它还将提供一个模块化的意图层和一种新的基于约束的语言,摆脱以太坊架构的限制,提供更好的意图执行。

意图表达和授权:

采用 Essential 标准的 Dapp 或钱包可以为用户提供相关的意图驱动服务,并将底层复杂性抽离出来。用户只需与界面交互并进行授权即可。
在 ST 中可以用 Essential 的标准来表达意图,在 LT 中则可以使用其新的基于约束的语言来表达意图。
与 EVM 链兼容,无需桥接资金

解题候选者:

Essential 支持代码表达式意图;各种求解器都可以加入 Essential 网络,以求解相应类型的意图,例如用于交换意图的 Cow Swap 求解器,或用于监控和执行链状态相关意图的构建器。
解算器网络将对意图进行监控,并努力实现这些意图。Essentials 正在考虑现有的求解器/捆绑器(如 CoW 协议或 4337)、当前的 MEV 搜索器和做市商。

解决过程:
求解器找出他们正在求解的约束环境,然后使用离链和链上场地来尝试解决这些基于约束的意图

选择求解器:
选择过程更像是荷兰式拍卖,用户指定约束条件,求解器则根据从满足条件中获取的价值决定何时加入以满足意图。第一个加入并解决该意图的求解器将是被选中的求解器,而且很可能是市场能够承受的最佳解决方案。

验证和结算:
验证和结算都是通过解算器触发特定的链上智能合约来验证和分割付款。将有一个核心合约,所有解决方案、所有意图和解决方案都将提交给该核心合约,并可根据基本标准进行扩展。

Flashbots SUAVE(多域区块相关意图)

*请注意,SUAVE 仍在开发中;下文所述的部分机制可能会发生变化。

与前面例子中通过智能合约结算意向的方式相比,SUAVE 采用了一种特殊的方式,即利用专用链进行结算,该链同时也是一个消息层。

与账户抽象(AA)和特定意图应用不同,SUAVE 引入了一个额外的步骤,将资金连接到 SUAVE 链。这一步骤的主要驱动力是 SUAVE 的多链功能,以及对更具成本效益和隐私性交易的渴望。

SUAVE 刚刚宣布推出 MEVM,这是对 EVM 的强大改进,为 MEV 用例提供了新的预编译。有了 MEVM,SUAVE 链将首先有效地服务于与 MEV 相关的参与者,如搜索者、建设者和其他希望捕获 MEV 的领域。

意图表达和授权:

SUAVE 用户通过编写 EVM 代码来表达他们在 SUAVE 中的意图。这些代码通过定义允许访问用户机密数据的合约列表,概述了用户希望实现的结果和功能。对于普通用户来说,可能会有一些可用的模板。
通过 MEVM,开发人员可以在 SUAVE 上为特定的 MEV 应用(如 OFA、区块构建等)部署不同类型的智能合约或新型 DEX,供其他用户调用。
用户为 SUAVE 资金链搭桥并存入提示。

解题候选者:

在 SUAVE 中,作为求解者的主要参与者可能是搜索者和构建者。搜索者和其他求解者负责探索和发现实现用户意图的潜在解决方案,而构建者则专注于实施这些解决方案。他们通力合作,形成一个强大的生态系统,解决用户表达的意图。
为了实现不同领域与区块相关的目标,可能存在多种类型的解算器,以支持不同领域的虚拟机。

解决过程:

求解器进行可信的私有链外计算,这些计算可通过 TEE 环境中的特殊预编译用于 SUAVE 上的智能合约。
求解者集体构建包含一系列意图的模块。构建模块的目的是将意图汇总并组织成有价值的模块,以便向网络提出建议。

选择求解器:

在 SUAVE 中,解算器的选择主要遵循两种方法。首先,通常会选择最先完成预定任务的解算器。这可以激励解算器提高效率,及时提供解决方案。另外,还可以实施订单流拍卖机制,即解算器向用户竞价,将订单流的部分价值返还给用户。

验证和结算:

为确保意向的有效性并结算交易,SUAVE 采用了 “神谕 “和 “SUAVE 验证器”。监督器提供外部数据来验证意图的执行,而 SUAVE 验证器则验证和结算 SUAVE 链上的意图。

Anoma(通用意向)

Anoma 是一种类似于 Cosmos 的通用架构,正准备推出支持 IBC 的第 1 层股权证明(PoS)链。它将以意图为中心的设计与由 Anoma 虚拟机(VM)驱动的同构协议相结合,同时还提供异构安全功能(不同的 Anoma 协议具有不同的共识机制)。

意图表达和授权:

用户通过与 Anoma DApps 交互来表达自己的意图,定义最终状态或其应具有的属性。

解题候选者:

Anoma 欢迎各种解算器,它们各自擅长不同类型的应用。这些解算器监控与其兴趣和目标相一致的内存池。根据它们的具体关注点,它们会观察所有意图或部分意图。

解决过程:

解算器运行解算器算法,利用它们在可互换代币(FT)交易或计算滚动状态等领域的专业知识。
解算器还负责匹配意图。解算器接受意图并进行部分或完全匹配的交易。解算器决定匹配的内容/时间、部分解算的收费以及如何处理剩余。
解算器形成完全平衡的事务后,就会将其提交给 Anoma 生态系统中的 mempool 节点。

选择求解器:

选择时可以考虑解题者高效、迅速完成任务的能力,采用先到先得的方法,即选择最先完成任务的解题者。

验证和结算:

来自不同 Anoma 协议的验证器运行 Anoma VM 来完成意图的执行和验证。Anoma VM 通过检查所有相关的有效性前提(声明式智能合约)是否满足,确保意图执行的完整性和有效性。
向解题者分配资金和奖励的依据是 Anoma 虚拟机对意图的执行和验证。

意图如何彻底改变订单流程模式

在当前的交易订单流状态下,用户必须自己浏览执行路径,因此交易订单流相对简单(如图所示)

然而,设想一下 web3 生态系统采用以意图为中心的方法的未来,意图的顺序流可能会变得更加错综复杂。在这种新模式下,用户可以自由表达他们的意图,并将复杂性委托给一个新的角色–解决者。

在深入探讨之前,我想总结一下意向领域的两个趋势:

  • 像 Uniswap 和 Cow Swap 这样专注于特定意图类型的领先应用程序正在通过让解决者自己参与进来来扩展意图功能。
  • 对于更通用的意图,我们需要相对新的架构,包括新的意图语言、新的虚拟机等。Essential、Flashbots 和 Anoma 正在朝这个方向努力。

在这种情况下,不同类型的意图可能由特定的平台或协议提供服务。例如,UniswapX 和 Cow Swap 可以处理交换意图;账户抽象(AA)钱包或基本兼容的 dapp 和钱包可以处理具有单域和钱包相关功能的意图;SUAVE 和 Anoma 等平台可以处理更广泛的多域意图。

在这个新世界里,意图的顺序流可能会遵循更复杂的路径。让我们来探讨一下可能的订单流程:

用户表达意图、存入资金并授权
意图具有很强的表现力;普通用户可能需要帮助才能将其意图转化为代码。这可以通过提供用户友好界面的应用程序/钱包将这部分内容提取出来来实现,也可以通过人工智能的帮助,由聚合器提供一个通用界面来表达任何意图,比如谷歌搜索。

发送到相关意向存储库的意向
请注意,Anoma 可以有多个内存池为不同类型的意图服务,并受不同的应用程序或协议信任。

求解器进行离链模拟,并竞相求解意图。
在 SUAVE 生态系统中,解算器同时具备解算能力和构建模块的能力。有些意图涉及通过构建区块来解决跨链任务,例如跨链 MEV 操作。熟练的区块构建者在构建有价值的区块和更快地完成任务方面具有优势。其他意图可能主要需要算法方面的专业知识,例如优化多个链上的流动性聚合。这些意图可能依赖于特定类型的求解器,而不是广泛的区块构建能力。
在 AA 生态系统中,捆绑者执行模拟和捆绑任务。捆绑后的意图要么被发送到公共内存池,供搜索者解绑并进行潜在的前置运行,要么直接发送给可信的构建者。在早期阶段,小批量捆绑可能更有效率,可以私下发送给受信任的构建者,以避免潜在损失。随着 4337 钱包和其他拥有足够订单量的参与者进入市场,他们可以像搜索者一样作为捆绑者运作。

验证意图的完成
目前有多种验证方法,每种方法都有自己的权衡取舍。使用智能合约进行验证虽然可靠,但往往缺乏可扩展性,因为不同的意图需要特定的验证逻辑和代码。
依赖于oracles进行验证会带来与oracle相关的风险,但却具有与多个链无缝集成的优势。
利用 Anoma 虚拟机要求意图应用程序采用 Anoma 框架,但可提供验证各种意图的能力。

总之,在以意图为中心的世界里,订单流与以交易为中心的世界不同:

用户签署并授权 tx vs 用户有更多选择来表达自己的意图。
单个内存池与多个内存池存在不同的用途。
Dapps 负责执行 vs 一个名为 “解决者 “的新角色选择加入,并参与解决问题的竞争。
逐个结算不同的链 vs 可同时结算涉及的多个链(新型跨域执行)

意图对Web3世界其他部分的涟漪效应

一个由意图驱动的世界需要大量的网络3参与者。让我们来大致了解一下意图工厂的情况。

请注意,这只是一个粗略的图景。随着意图的逐步发展,更多的方面可以参与到这个新世界中来。例如,像 Astria 和 Espresso 这样的共享排序器可以在多领域意图执行方面为用户提供更快的预先确认

上游

Chains

像 SUAVE 这样的新链条可以促进更频繁、更具成本效益的意向结算。
非模态结构链支持新的虚拟机,可高效、普遍地解决意图验证问题。
第 2 层或更多层可扩展链适用于执行与意图逻辑表达、验证和结算相关的低成本计算,因为意图的表现力往往是计算密集型的。

隐私

隐私在意图世界中至关重要,它可以防止恶意 MEV 问题(如前置运行),并能将更多的订单流价值回馈给用户/应用程序。此外,结合隐私功能可以支持需要增强隐私的意图。
SUAVE 采用 SGX 作为短期解决方案,而 Anoma 则支持零知识证明(zk)和分布式密钥生成(DKG)加密。

Oracle

Oracles 现在有了额外的功能:协助验证意图的实现状态。

意图相关标准

通用标准有助于减少不同类型的意图所带来的碎片化问题;解决者可以发现与不同的支持意图的应用程序集成更容易;Dapps 和开发者更容易扩展到意图系统;
避免重新发明通用意图基础设施。

中游(潜在求解器)

特定类型的解算器,如用于 CoW Swap 和 1inch 的路由器(如 Propeller Heads),以及做市商已经积累了庞大的流动性网络和先进的路由算法,其性能优于其他解算器,并可能直接从交换者那里获得部分独家订单。

Builders 扮演着重要的解决者角色,尤其是在涉及不同链条的最终结算过程中。经验丰富的建筑商可以轻松履行这一职责。

搜索器拥有路由和高级算法方面的专业知识,这使得他们在解决与寻找最佳解决方案或获取流动性相关的意图时非常有价值。

下游

Intents 对各种 dapp 有广泛的影响:

用户友好度的提高会带来大规模采用。

多方参与的增加会产生更多的链外组件,从而提高效率和灵活性。
Dapp 可以通过整合意图解决程序来提供更多的功能和特性,从而整合更复杂的功能。
例如,在 DeFi 中,意图可以在跨链环境中模拟原子性,让第三方(即解决者)参与执行意图。解决者承担失败的风险,从而实现跨领域 DeFi 的新境界。

更多的互动和用户指令导致了复杂的 dapps 的开发。
例如,在 GameFi 中,用户现在有了更多的游戏选择:
自定义游戏策略:意图允许玩家定义和执行自定义游戏策略。他们可以用自己的方式表达游戏目标和行动,并让解题者在游戏中执行这些意图。这为玩家提供了更大的自由度和控制权。
支持经济系统:通过意图,玩家可以参与游戏中的经济系统,如交易游戏资产、提供流动资金或参与借贷。通过表达自己的意图,他们可以在游戏中执行类似于 DeFi 的金融操作,并获得经济奖励。

结束语

在结束这篇文章时,我注意到意图和卷积的理念有惊人的相似之处:在链外执行,在链上进行最终结算和验证。随着卷积生态系统的爆炸式增长,我们现在也见证了意图的爆炸式增长,dapp 的表现力越来越强,许多项目都在开发特定于意图的语言和标准。

不过,我想提请大家注意意图可能产生的潜在集中化问题。正如我们在私有 mempool 和私有订单流中看到的情况一样,有能力处理复杂用户意图并提供更高效、更友好用户体验的参与者可能会脱颖而出,吸引更多私有意图订单流,从而带来更好的执行和订单流的增加。

此外,意向参与者如何开始让解决者参与进来,从而有效地为用户实现意向,也是一个实际问题。例如,对于目前的低量 AA 交易,捆绑者或构建者没有足够的动力花费额外的精力和时间来提供新的服务。对于更具表现力的意图来说,这个问题同样存在。

总之,意图世界蕴含着巨大的潜力和变革力量。我们必须在创新、去中心化和用户赋权之间取得平衡,把握前进的方向。让我们拥抱这一激动人心的旅程,共同努力释放智能体的全部潜能!”。

参考资料

https://twitter.com/askyveth/status/1666818728779210760

https://www.chainfeeds.xyz/feed/detail/57b521e1-d651-4e76-86cb-6a68690cbebd

https://twitter.com/apriori0x/status/1660968015616253955

https://hackmd.io/@1ofB8klpQky-YoR5pmPXFQ/rJZUWFzP3

https://writings.flashbots.net/mevm-suave-centauri-and-beyond

https://docs.google.com/file/d/1c0Ok4M3CcPjMCh7-vh6ErfhqlJsh1qau/edit?filetype=mspresentation

https://www.paradigm.xyz/2023/06/intents

https://dba.mirror.xyz/NTg5FSq1o_YiL_KJrKBOsOkyeiNUPobvZUrLBGceagg

原文:https://gracedeng.substack.com/p/decoding-intents-revolutionizing?utm_medium=email

基于意图的架构及其实验项目

事实证明,在 Web3 中使用当前系统是一项复杂而耗时的工作。它涉及到在不同的基础设施中指定执行路径,这需要全面的了解。因此,用户在实现其最终目标的过程中经常会遇到挫折,而且很容易被更复杂的行为者利用。之所以会出现这种情况,是因为用户与以太坊交互的现行标准方法涉及以特定格式制作和签署交易,为以太坊虚拟机(EVM)执行状态转换提供所有必要信息。

引入 “意图 “是为了减轻用户的负担。从本质上讲,意图是一组声明性约束条件,允许用户将事务创建委托给专业的第三方行动者网络,同时保留对流程的完全控制。简单地说,如果事务指定了 “如何 “执行某个操作,那么意图则定义了该操作的 “预期结果”。这种声明式方法为用户体验和效率带来了令人兴奋的进步。有了意图,用户可以毫不费力地表达他们想要的结果。这与当前的命令式交易模式形成了鲜明对比,后者的每个参数都必须由用户明确指定。

本博文旨在探讨实现这种声明式范例的方法。此外,博文还将深入探讨为什么仅靠账户抽象是不够的,并概述目前正在探索意图概念的项目。

交易对最终用户来说是死路一条

目前 Web3 中基于事务的方法证明是复杂的,因此导致用户体验不佳和效率下降,因为用户不得不在没有充分获取信息或采用复杂的执行策略的情况下做出决定。

为了说明这种复杂性,请考虑这样一种情况:您希望与 Arbitrum 网络上的去中心化应用程序 (dApp) 进行交互,但您的资金目前存储在以太坊区块链上:

  • 访问 dApp 网站
  • 尝试将您的钱包连接至 Arbitrum,但发现没有可用资金
  • 打开新选项卡,探索连接资金的最佳方式
  • 访问跨链桥网站
  • 将您的钱包连接到另一个区块链(以太坊)
  • 启动桥接程序,将资金从以太坊转入 Arbitrum
  • 等待桥接交易完成
  • 返回原始选项卡
  • 将您的钱包转回 Arbitrum
  • 现在,您终于可以使用桥接资金在 Arbitrum 上使用 dApp 了

甚至在用户有机会与 dApp 本身互动之前,挫败感就已经产生了。这些问题在数以百万计的滚动世界中变得更加突出。
那么,我们如何才能实现从命令式范式到陈述式范式的转变呢?为了了解基本原理,让我先根据 Alchemy 和 Stanley He 的文章简要介绍一下账户抽象(AA)。

账户抽象简述

在以太坊中,有两种地址类型:智能合约和外部自有账户(EOA)。EOA 具有发起交易的能力,而智能合约则缺乏这种能力。因此,目前使用的大多数以太坊钱包都是 EOA。虽然也有像 Safe 这样的智能合约钱包(SCW),但它们需要 EOA 才能触发任何交易,因为智能合约本身无法启动交易。然而,SCWs 具有显著的优势,因为它们可以执行复杂的逻辑,为钱包带来大量新应用,而 EOA 则仅限于交易签名。

为了满足对 SCW 的需求而不需要单独的 EOA,ERC-4337 引入了一种称为用户操作(UserOp)的新型交易类型,并引入了一种称为 “捆绑者”(Bundlers)的新角色。此外,ERC-1271(合同的标准签名验证方法)为任何合同引入了标准方法,以验证代表给定合同的签名是否有效。这可以通过在签名合约上执行 isValidSignature(hash, signature) 函数来实现,调用该函数可以验证签名。这些更新增强了用户使用 SCW 的体验,使用户的使用流程更加顺畅。流程如下:

用户签署一个 UserOp,指定所需的操作。多个用户不会直接将这些 UserOps 发送到主内存池,而是将他们的 UserOps 发送到另一个内存池。这时,执行器和捆绑器就会发挥作用,将这些 UserOps 捆绑在一起,并作为捆绑包提交给入口点合约。然后,该入口点合约与智能合约钱包通信。

一旦 SCW 接收到捆绑的用户操作,它就会进行两步处理。首先,执行 ValidateOp(验证操作),包括检查适当的签名者、访问控制和速率限制,以确保操作的合法性和安全性。验证成功后,SCW 使用 ExecuteOp 函数执行操作。这些操作可能包括转账、执行掉期或购买 NFT 等任务。

Account Abstraction 的主要优势之一是气体抽取,它简化了用户的气体支付流程。这就是付款大师发挥作用的地方。付款大师合约就像另一个实体。当用户发送交易时,UserOp 会被发送到付款大师合约。然后,付款人会进行验证,确保能支付交易的天然气费用。它向捆绑者发送相应数量的原生天然气代币,充当退款机制。只有在支付了天然气费用后,用户操作才会进入验证操作和执行操作阶段。

付费管理器还提供用户操作后挂钩,允许在执行用户操作后进行其他操作,进一步提高了流程的灵活性和控制性。通过使用付费管理器和天然气抽取功能,用户可以执行交易,而不必担心直接管理天然气成本,从而使整个流程更加无缝和方便用户使用。

SCW 中的简化账户抽象设计(来源:Alchemy)

AA 的一个限制是它无法支持跨链的付款大师。让我们考虑这样一种情况:用户在驻留在以太坊网络上的 SCW 上拥有 USDC,但希望使用付款大师来支付 Arbitrum 网络上的交易成本。在操作后功能中,当付款方试图将用户的 USDC 转移给付款方时,挑战就出现了。USDC位于以太坊上,而付款方合约位于Arbitrum上。从本质上讲,账户抽象主要是为单域使用而设计的,缺乏跨多链无缝操作的内在能力。不过,我们稍后会讨论这个问题。

特定意图的应用

账户抽象通常被简化为 “无气交易”、”无籽回收”,可能还有 “费率限制”。是的,这些都很酷,但还不够酷。虽然这些功能无疑很有趣,但它们可能并没有完全抓住 AA 真正卓越的精髓。账户抽象最吸引人的地方在于它的架构,它将钱包转变为意图的入口。

那么,什么是意图呢?

在交易的标准流程中,当验证者收到交易签名时,他们必须根据特定的状态遵循特定的计算路径。此外,还需要支付一定的费用,以鼓励验证者按照这种方式进行交易。然而,对于意图,情况就不同了。意图并不规定固定的计算路径,而是允许符合特定条件的任何路径。当用户签署并分享一个意图时,他们会授权接收者代表他们选择计算路径。这种区别可以更精确地将意图定义为从给定起点开始促进一系列状态转换的签名消息。要深入了解意图解决的数学形式化,我推荐阅读 Fabrizio Genovese 所著的《意图解决的拉格朗日力学(一)》。

值得注意的是,单个交易可以包含多个意图,从而实现重叠意图的匹配。这大大提高了气体和经济效益。例如,在建筑商维护的订单簿中,两个订单在进入市场之前可以有效地相互抵消。此外,意向还能实现更灵活的用户燃气支付,例如让第三方赞助燃气或接受不同代币的支付。

因此,UserOps 不是意图,因为它们基本上是交易。然而,通过智能合约钱包内的验证逻辑,AA 使钱包成为意图的入口。这种验证逻辑允许表达和执行有关用户账户的简单意图。然而,SCW 缺乏对全局状态进行推理的能力。

账户抽象从根本上说是为 “特定意图 “服务的。在这种情况下,只要意图符合某些限制性要求,用户就可以通过 SCW 指定和执行简化的意图:

  • 它们只关注单一领域
  • 它们只使用和执行与用户账户相关的信息
  • 它们涉及Gas补偿

特定意图应用举例

因此,账户抽象主要满足以用户为中心的目标。然而,正如 Paradigm 公司所强调的那样,有许多 “特定意图 “应用实例可以通过 AA 实现:

  • 限价订单:用户可以指定,只有收到至少 200 个 Y 代币,才能从账户中提取 100 个 X 代币
  • Gas赞助:用户可以选择用 USDC 而不是 ETH 支付交易费用,其账户中的 USDC 将用于支付支付方的Gas费用。
  • 授权:可以通过预先授权的方式限制与特定账户的交互。例如,可以指定 ETH 用于购买 OpenSea 上列出的 NFT,也可以限制特定地址只能与 Uniswap 和 Sushiswap 互动。
  • 事务批处理:用户可允许在单个事务中批处理多个意图,以提高气体效率
  • 聚合器:用户可指定使用 “最佳 “价格或收益率进行特定操作。可以通过提供在多个场所执行聚合并选择最优路径的证明来实现这一意图。

虽然 AA 和特定意图应用程序是一项重大进步,但它们也有其局限性,尤其是在多链环境中。让我们考虑这样一种情况:我拥有 ETH,目的是尽可能多地购买 XYZ 币,利用不同滚动链上的流动性。有了 AA,我可以毫不费力地在任何滚动上快速使用我首选的 DEX 聚合器。然而,挑战仍然存在,我仍然需要手动发现所有滚动中可用的最佳 DEX 聚合器。

因此,我们需要一种能够在多链世界中有效扩展的全面、通用的意图语言。

通用解决方案

在以意图为中心的世界里,用户声明或签署他们的偏好,网络依靠第三方行为者(解决者/执行者)代表他们执行这些偏好。需要强调的是,当前基于事务的方法也允许用户外包事务,但区别在于第三方是谁。目前,是应用程序代表用户构建事务,而且它们在这样做时并没有优化最佳结果。因此,”意图 “的创新之处并不在于可以将交易创建外包给第三方,而是增加了一个可以提供更好结果的专业第三方网络。

这可以提高执行效率,因为这些求解器可以整合有关其他链状态的更多信息,而无需与用户通信。

为了说明这一点,让我们重温一下这样一个场景:我拥有 ETH,我的目标是通过利用不同滚动的流动性购买尽可能多的 XYZ 币。在一个以意图为中心的世界里,我可以告知 mempool 我拥有 ETH,并以尽可能多的 XYZ 币为目标。在这个多领域黑暗森林中投入了大量精力的高精密解算器将有效地找到解决方案。对这些解算器的激励应该会带来相当理想的结果。在这种多链格局下,即使是基本任务也变得不切实际,例如,一家公司运行的 DEX 聚合器要与所有新的卷积和域集成。因此,在这种多链环境中,针对特定意图的应用程序缺乏可扩展性。然而,灵活而通用的意图语言可以有效扩展,因为它是一个无权限系统。没有必要让一家公司充当涵盖所有链的全球 DEX 聚合器。取而代之的是,众多求解器可以竞相为用户提供服务,其中一些专门针对特定的卷积类,而另一些则针对不同的领域。这种方法表明,跨领域意图具有超越普通账户抽象的巨大效用和能力,即使在简单的使用案例中也能证明其优势。

用于表达、交流和执行意图的理想基础架构应尽量减少 MEV(矿工可提取价值),最大限度地提高抗审查能力,并针对跨域交互进行优化。此外,还应仔细考虑细粒度用户意图通信与用户体验之间的平衡,因为这一决定会对意图协议的架构产生重大影响。此外,还有许多问题尚未解决,例如如何证明什么是最优、跨域意图将在哪里发布以及求解器如何确定搜索内容。

通用解决方案示例

虽然这一愿景充满希望,但第一步还是要建立一个意图层,让用户可以表达他们的意图,并让解算器竞相解决这些意图。Anoma、SUAVE、Essential 和 CoW Protocol 等项目都在争夺成为区块链的意图层,并采用了不同的方法。然而,由于意图层的概念正在演变,而且许多设计原则似乎相互矛盾,因此对它们进行比较还为时尚早。构建这样一个层面临着巨大的挑战。

Anoma 是一种用于全栈去中心化应用程序的统一架构。它从底层开始设计,适用于涉及无限用户、发出无限数量意图(每个意图都具有任意复杂性)的应用程序。Anoma 的设计遵循以意图为中心和同构架构/异构安全的原则,共同构成了构建去中心化应用程序的声明式范例。意向提交给意向交流节点,这些节点形成意向池。匹配者分析这些意向池,以找到可组合的意向,这些意向在组合时能满足彼此的要求。该协议的状态机可实现分步执行和解耦验证,并通过有效性谓词作为用户账户的不变式来实现。Anoma 使构建新颖应用程序变得简单易行,否则在现有架构(包括以太坊(EVM)和类似以太坊的协议)上构建这些应用程序将变得笨拙、受限或不可能。

SUAVE – 价值表达的单一统一拍卖。SUAVE 试图赋予用户权力,并最大限度地分散公共区块链的权力。SUAVE 将 mempool 和区块生成器的角色从现有区块链中分离出来,并提供了一个高度专业化和去中心化的即插即用替代方案。共享相同的排序层可以让加密货币保持去中心化,让区块构建者获取跨域的 MEV,让验证者实现收入最大化,让用户以最佳执行方式进行交易,同时减少每个域的经济中心化压力。SUAVE 是一个集成环境,可促进在表达、执行和结算偏好方面的去中心化协作。其核心理念是偏好,即由用户签名以表达目标的信息,从而实现跨多个区块链的简单转账或复杂序列。执行者竞相提供最佳执行,包括捕获 MEV 和提供去中心化订单流价值。

Essential 正在开发一系列产品,以推动区块链生态系统从价值提取向意图满足过渡。他们正在创建一种用于表达意图的特定领域语言(DSL)、一种用于以意图为中心的账户抽象的以太坊标准以及一个模块化的意图层。DSL 允许标准化的意图表达和优化求解,增强了基于意图的应用程序的可组合性和开发性。以意图为中心的账户抽象标准使解算器能够根据用户意图构建有效的交易,将意图功能引入现有的 EVM 链。模块化的意向层确保了仅有意向的架构、聚合订单流、MEV 阻力和跨链意向执行的可能性。Essential 的使命是增强用户能力,消除剥削,促进以用户为中心、公平的区块链未来。

CoW Protocol 技术为交易者和解算器网络提供动力,实现无信任、高效的点对点交易。利用批量拍卖作为关键概念,CoW 协议独特地将其定位为以太坊等离散时间结算层的原生交易基础设施,并为用户提供公平、便捷的交易。交易可以直接通过底层链上 AMM 进行结算,也可以通过 DEX 聚合器进行结算,具体取决于哪个池/路径能提供最佳价格。因此,它本质上是作为 DexAggregators 中的 DexAggregator。CoW 协议使批量拍卖能够通过需求契合(CoWs)最大限度地提高流动性,此外还能随时利用链上所有可用的流动性。批量拍卖通过该协议持续进行,因为解算器(负责为批量拍卖找到最佳结算方式的各方)在竞争中进行结算。获胜的解算器将是能通过最优 CoW、找到最佳流动性来源或将两者结合到一个结算中来最大化交易者盈余的解算器。

尝试使用意图的项目概览

下面的插图提供了一个探索意图的项目概览,但并非详尽无遗。不过,我们必须承认,不同类别之间可能会有一些重叠,因此我们对图示进行了简化。1inch Fusion 或 UniswapX 就是目前备受关注的特定意图应用的典型例子。由于这个领域还很年轻,而且发展迅速,因此在短短几个月内,这个示例可能会发生很大变化。

尝试使用意图的项目(不全面;截至 2023 年 7 月 31 日;无法严格区分通用解决方案和特定意图解决方案)

结束语

事实证明,Web3 中当前基于事务的方法对终端用户来说既复杂又耗时。它涉及在各种基础设施之间指定执行路径,导致令人沮丧的用户体验,并有可能被更复杂的行为者利用。基于意图的应用程序提供了从命令式范式向声明式范式的转变,增强了用户体验并最大限度地减少了 MEV 泄露。虽然账户抽象(AA)和特定意图应用程序带来了令人兴奋的进步,但它们也有局限性,尤其是在多链世界中。

为一个完全以意图为中心的世界构建意图层是一项重大挑战,因为我们需要克服当前系统的复杂性,并创建一个用户友好、高效和分散的基础设施来表达和执行意图。因此,我们离这种模式还很遥远。不过,有几个项目正在进行这方面的努力,我们期待未来会有更多的项目出现。

随着意图的采用率不断提高,ERC4337 在一定程度上起到了推波助澜的作用,用户有可能会转向其他的 Mempool。谨慎管理对于防止集中化风险和寻租中介的崛起至关重要。

原文:https://bwetzel.medium.com/intent-based-architectures-and-projects-experimenting-with-them-c3ee63ae24c