如果Transaction(交易)明确指的是如何操作该行为,则Intent(意图)是指该行为的期望结果是什么。

如果说Transaction的指令是:

“先进行A操作然后进行B操作,然后向C付款以获得D。”

那么与之对应的Intent就是:

“我有能力付款,我想要得到D。”

以Intent为中心的协议可以显著改善用户体验和效率。transaction需要用户自己来明确指定每个参数,操作门槛较高。相比之下,利用Intent,用户可以简单地表达出预想的结果,同时将最佳实现结果的任务外包给成熟的第三方。

尽管Intent为生态系统提供了更多可能性,但以太坊链上基于Intent的设计也可能对链下基础架构产生重大影响,与MEV相关的活动和市场控制也存在着重要联系。

Intent的工作原理

当前,用户与以太坊交互的标准方法是制定和签署交易和特定格式的信息,该格式为EVM提供所有必要的信息以执行状态过渡。但是,创建交易可能涉及相当复杂的操作。创建交易需要有关智能合约和诸如nonce管理等大量细节操作,同时持有特定资产来支付gas费。 由于用户需要在缺乏足够信息或涉及复杂执行策略的情况下做出决策,因此这种复杂性导致用户体验不佳和效率降低。

Intent的目标就是是减轻用户的负担。Intent通过签署一组描述性的约束条件,来允许用户将交易创建外包给第三方,但无需将完全控制权分配出去。

在基于标准交易的流程中,当验证器被激励进行验证时,交易签名允许验证器准确地遵循针对特定状态的计算路径。相比之下,Intent并不准确指定必须采取哪些计算路径,而是允许任何满足特定约束条件的操作。通过签署和共享Intent,用户有效地授予接收者代表其选择计算路径的权限(如下图所示)。值得注意的是,单笔交易中可以包含多个Intent,从而可以匹配重叠的Intent,节省gas费和提高经济效率。此外,用户还可以更灵活地支付gas费,例如允许第三方来赞助gas或用其他token进行付款。

Intent的原理、应用现状及风险应对

如图所示,提交交易时,用户指定确切的计算路径;提交Intent时,用户指定目标和一些约束条件,并且由Matchmaking决定要采取的计算路径

Intent的应用现状

创建Intent可以将与区块链交互的复杂事项外包出去,同时允许用户保持其资产和加密身份的托管权限。实际上,关于Intent的诸多概念与已运行了几年的系统是相对应的,例如以下场景:

限制型订单:若用户收到至少200 个B token,则可以从用户的账户中取走100 个A token。

Cowswap风格的拍卖:与限制型订单相同,但依靠第三方或机制来匹配多个订单以最大程度地提高执行质量。

Gas赞助:用户可以选择以USDC支付交易费用,而非ETH,账户中有USDC用于支付gas费用。

委托授权:仅允许以某些预授权的方式与特定账户进行交互。仅当最终交易遵循Intent中指定的访问控制列表时,才能实现Intent。

合并交易处理:允许对多个Intent进行合并处理以提高gas效率。

聚合器:仅使用最佳价格/收益率进行操作,通过证明执行多个场景的聚合并采取最佳路径来实现Intent。

目前,Intent在跨链MEV(例如SUAVE),ERC4337类型的账户抽象,以及Seaport订单的场景中也有了新的应用。在ERC4337发展的同时,其他新型应用程序(例如跨域Intent)也正在进入探索阶段。

在所有基于Intent的应用程序中,至少需要有一个了解Intent的群体,并且被激励去及时执行Intent。至于谁来扮演这个角色,以什么方式执行以及其激励措施的问题,需要进一步探索实践,才能确定由Intent驱动的系统的效能、信任度以及其他影响。

中介与Mempool

使Intent进入有意愿的中介手中的最明显途径是以太坊的Mempool。但是,当前Mempool设计不支持Intent的传播。从长远来看,考虑到DOS攻击的隐患,在以太坊Mempool中传播Intent获得普遍支持的可能性极低。可以说,以太坊Mempool的开放性和无需许可的性质对inten的采用形成了障碍。

在没有以太坊Mempool的情况下,Intent系统设计人员面临一些问题。目前面对的抉择是将Intent传播给许可方,还是以无需许可的方式以便任何一方都可以执行Intent。

Intent的原理、应用现状及风险应对

如图所示,Intent先从用户流向许可/无需许可的公共/私密的Intentpool,再通过matchmaker将其转换为交易,最终将其转换为公共Mempool,或直接通过MEV Boost类型的拍卖直接展示在链上。

无需许可的Mempool

一种正在尝试的设计是一个去中心化的API,允许在系统中各个节点通过gossip广播Intent,从而为执行者提供无需许可的访问权限。

例如,在0x协议中继器中,互相对限制型订单进行gossip广播,并在找到匹配时将其上链。在共享的ERC4337 Mempool 背景下,这种做法也正在被进行探索,以抗衡中心化和审查风险。但是,这种无需许可的 Intentpool的设计也面临着以下挑战:

DoS抗性:开发者可能必须限制Intent的功能,以避免潜在的DoS攻击。

传播激励措施:对于许多应用程序,执行Intent是一项有利可图的活动。 因此,理论上来说,操作Intentpool的节点有动机不去传播Intent,以减少执行Intent的竞争。

MEV:由于Intent的执行质量依赖于链下参与者的良好行为,因此在使用公共的、无需许可的Intentpool时面临一些困难。如果执行有利可图,那么无需许可的Intentpool可能会试图针对用户进行套利。这类似于目前以太坊Mempool中的“三明治攻击”,对于Defi相关的Intent来说这将会是一个普遍的问题。后续的改进方式可能是创建无需许可的、但进行加密处理的Intentpool。

许可的Mempool

受信任的中心化API的抗DOS攻击能力更强,并且不需要传播Intent。这种信任模型为MEV担忧提供了一些立足点。只要信任假设成立,执行质量可得到保证。受信任的中介也可能有与之相关的声誉,从而提供了一些激励来认真执行操作。

因此,许可的IntentPool在短期内对基于Intent的应用程序开发人员具有吸引力。但是,强信任的假设天然存在缺陷,并且在一定程度上违背了最初的区块链精神。

混合解决方案

还有一些解决方案是上述两种情况的混合。例如,有一种情况,传播过程是许可的,但执行是无需许可的,反之亦然。混合解决方案的一个常见例子是订单流拍卖。

这类设计的思路是,需要交易对手的用户可能需要区分更好和更差的交易对手,以便以更有利的价格进行交易。设计流程通常包括受信任的一方,他们从用户那里获得Intent(或交易)并代表用户促进拍卖。而参加拍卖是无需许可的。这类设计也存在缺点,在许可的Intentpool中,它们很可能会受到各种干扰。

这种方案的底线是基于Intent的应用程序不仅涉及与智能合约交互的新消息格式,还需涉及以替代mempool的形式的传播和对手发现机制。目前最关键的就是设计出一种兼容激励同时又保持去中心化的Intent发现和匹配机制。

风险及其应对方法

尽管Intent是一种令人兴奋的交易新范式,但其广泛采用也意味着更大的用户活动加速转移到替代型Mempool的趋势。如果管理不当,这种转变可能伤害到以太坊的去中心化以及导致受信任方权力过大,潜在的风险大致有以下几种:

订单流:若Intent执行是许可的,但用户对其选择不慎,使之从公共Mempool往外迁移,可能会使以太坊区块生产变得中心化。

信任:由于许多解决方案都需要对中介的信任,因此,为了确保Intent的执行质量,这种高准入门槛会阻碍基于Intent的新架构的发展,降低创新和竞争速度。

透明度: 由于许多Intent架构都需要用户对其链资产和许可的Mempool交出一些控制权作为妥协,这意味着外部存在一定程度的不可渗透性,因此建立的系统存在不透明的风险,在这种情况下,用户的期望如何得到满足,以及是否存在未被发现的生态系统威胁,都是不清楚的。甚至在用户和区块链之间发展的中间件和Mempool的生态系统都会变得不透明。

那么,如何降低上述风险呢?我们知道,以太坊Mempool的空间是有限的。对于某些应用,风险是由于其缺乏隐私而造成的,因此它们无法支持更广泛的消息格式。这使钱包和应用程序开发人员处于困境,因为他们必须找到某种方法使用户连接到区块链,同时避免上述风险。

理想的系统应该是无需许可的,以便任何人都可以匹配和执行Intent,且不能牺牲掉过多的执行质量。系统应该是通用的,以便部署新应用程序,而不需要再建立新的Mempool。系统应该是透明的,以便公开报告执行Intent的过程,并在隐私保证允许时提供执行质量审核的数据。

尽管像FlashBots和Anoma等团队正在努力致力于通过结合隐私和无需许可来满足上述通用解决方案的要求,但在近期内很难创造出如此完美的系统。因此,用户需要进行权衡,选择不同解决方案来适用于不同的应用程序。同样的,发起Intentpool的应用需要在无需许可的情况下寻求普遍性,而在许可的情况下谨慎选择中介。

基于Intent的应用程序设计者需要全面考虑其应用程序的链下含义,因为它们不仅仅事关其用户群,还涉及到更广泛的社区,这就要求更广泛的社区对以太坊周围的链下生态系统保持格注意。

小结

由于Intent应用的市场需求明显,许多基于Intent的应用程序已得到了数年时间的广泛使用。越来越多的Intent采用由ERC4337部分驱动,可能会加速从以太坊Mempool转移到新的场所。Intent的采用代表了用户从“被迫式操作”范式转变为“描述型”范式,有望大大改善用户体验和提高效率。