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

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注