这是由 Mike Calvanese 和 Brink 团队撰写的关于 Intents 的 3 部分系列中的第 1 部分。
Web3 Intents 的现状和未来发展
Intents 正在迅速传播,它们是由账户抽象化实现的众多用户体验改进之一,也是 Vitalik 在 EthCC 的演讲中讨论的热门话题。Intents 让用户定义他们期望的链上结果,并将实现这些结果的技术工作外包给与网络和协议直接互动的第三方求解器,最终,抽象层将使 Web3 应用程序变得像普通应用程序一样。它降低了现有的技术学习曲线,将吸引数百万新用户。
向 Intents 的范式转变意味着未来的用户不需要关心诸如提交交易、用 ETH 支付 gas 费、通过设置滑点限制来减轻 AMM 上的 MEV、聚合代币交换以实现最佳路径路由,或在网络之间进行资产桥接。
理解 Intents 的一个简单方法是将它们看作用户希望发生「什么」的声明性表达,而不是「如何」实现某事的命令性步骤。
https://twitter.com/CannnGurel/status/1663292583550803969

目前的 Intents

Intents 并不是一个新概念。
在 Uniswap 和 AMM 出现之前,像 EtherDelta 和 0x 这样的以太坊项目就提供了基于 Intents 的订单簿。NFT 市场多年来一直使用签名 Intents 进行 NFT 挂单和报价,像 CoW Swap 和 UniswapX 这样的更新系统,现在为 ERC20 限价单提供了更先进的基于 Intents 的基础设施。
观察当前的格局,「Intents」这个词似乎与「限价单」同义,因为如今在 Web3 中得到广泛支持的唯一 Intents 就是「我想要 X,我愿意支付 Y」。限价单的 Intents 架构通常是简单的,且专注于一个目标:以比当前市场报价更优惠的价格进行交换。用户签名他们的限价单 Intents,求解器寻找使用 AMM、其他流动性来源,或在某些情况下其他 Intents 来「填充」已签名的 Intents 的路径。求解器有动力寻找路径,因为在用户的 Intents 被满足后,他们可以保留剩余部分作为额外收益。
Limit order Intents architecture
许多系统都已经建立起支持限价单使用的场景,但随着更高级的 Intents 工具的开发,我们将看到更多通用的架构,使更强大的用例得以实现。
一些通用 Intents 系统的例子包括 Anoma 和 Flashbots SUAVE,目前都在积极开发中。它们将提供 Intents 的 Gossip 层,用户在此将签名的 Intents 广播到 Gossip 节点。这些链将特定于 Intents,促进用户在不同网络上签名 Intents 与求解器执行它们之间的连接。
另一个例子是 Brink,一种创建可组合 Intents 的解决方案。Brink 允许用户和开发者在多个 EVM 兼容网络上构建、签署和解决基于条件状态的 Intents。

Intents 的未来

让我们探索 Web3 Intents 超越简单限价指令的几种方式,以下是一些新概念:
条件 Intents:满足一个或多个条件时允许执行某项操作
连续 Intents:表达采取重复行动的愿望
多步骤 Intents:当解决一个 Intents 时,将打开一个或多个新 Intents
Intents 图表:由一组相关 Intents 形成的路径

条件 Intents

当前的 Web3 应用程序只有一种类型的条件 Intents:限价单。将来,我们将拥有可以由任何状态的任意数量的条件组成的 Intents,从而产生各种操作。
如果您是 Web3 用户,您过去曾做出过许多有条件的决定,这些可以表达为 Intents、签名并委托给第三方求解器,如:
价格阈值:「如果 A/B 价格低于 X,则将 B 换成 A」。在传统金融(trad-fi)中,这被称为「止损」
治理决策:「如果我不支持的治理提案通过,则出售代币 A」。
钱包余额:「如果我的热钱包 ETH 不足,请将更多 ETH 从我的冷钱包转移到我的热钱包」。
已用时间/区块数:「如果开采了超过 X 个区块,则将 ETH 转移给接收者」。
所有这些都可以作为单一 Intents 签名。求解器将监视这些 Intents,并在满足条件后代表用户采取行动。用户签署这些条件,作为其 Intents 的一部分将迫使求解器检查链上状态来证明该条件。
Intents 可以用任意数量的条件来表达,例如:
我想在以下三个条件满足时,用 DAI 购买 2 个 ETH:1) ETH 价格低于 1,750 美元;2) 借出 ETH 的平均 DAI 收益率较高;3) 我关注的一个大户钱包在过去 24 小时内至少购买了 10 个 ETH。
当满足任意数量的复杂状态条件时,用户将能够表达购买、出售、质押、转让或桥接资产的 Intents,所有这些操作都只需一个签名 Intents 即可完成。

连续 Intents

Intents 将提供一种与协议无关的方式来执行连续操作,虽然今天的 Intents 通常涉及与单个操作(限价订单)相对应的单个签名,但我们很快就会看到连续 Intents 的出现。
用户今天通过将资金存入协议或交易所来采取连续操作,这里有一些例子:
成本平均:「每月一次用 DAI 以市场价格购买 ETH」。用户通常使用 Coinbase 等 CEX 来完成此任务。
收益复利(又名重新质押):「提取 A 中的奖励,交换为 B,然后重新质押」。这是一个繁琐的过程,涉及多个 DeFi 协议的多个交易和交互。
热钱包充值:「我有一个冷钱包,里面有 50 ETH。每当我的热钱包 ETH 余额低于 X 时,就将 Y ETH 从我的冷钱包转移到我的热钱包」。这需要进行很多次独立的交易。
支付流:「每两周将 X USDC 转移到接收地址一次」。流媒体支付应用程序支持这一点,但要求用户将资产存入智能合约
做市:基于 AMM 的 LP 头寸基本上遵循与两个相反的互换相同的模式,这些互换以无限循环的方式继续进行:「当 A/B 的价格超过 X 时,将 A 兑换为 B;当 A/B 的价格低于 X 时,将 B 兑换为 A」。
从这些示例中可以看出,当今的连续操作要求用户存入特定协议并提交许多交易。通过 Intents,用户可以通过单个签名表达他们想要的连续操作。
成本平均就是一个完美的例子。打算平均成本(随着时间的推移重复购买或出售)的用户可以将其表达为一个签名,该签名允许以难以操纵的 ETH/DAI TWAP 预言机提供的价格将 1 ETH 兑换为 DAI,每 50,000 一次块(在以太坊主网上大约每周一次),收取 1% 的费用(0.01 ETH)。求解器会监控这个 Intents 并检查:
1. 用户账户有 1 ETH 可以兑换吗?
2. 自上次交换以来是否已开采 50,000 个区块?
3.1%(0.01 ETH)足以支付掉期的 Gas 成本吗?
4. 求解器为交换支付 Gas 后,是否还剩下 ETH 来支付求解器的运营成本,其中可能包括失去 PGA(优先 Gas 拍卖)后恢复的风险或任何其他费用?对于求解者来说,潜在的利润值得吗?
如果所有这些都通过,求解器将发送一笔交易来满足用户进行 ETH→DAI 交换的 Intents。只要用户的帐户有足够的 ETH,求解器就可以监控单个签名的「成本平均」Intents,并产生连续的交易流。用户无需直接与 EVM 网络或特定协议交互即可获得他们想要的东西。
Cost-averaging Intents architecture
利用 Intents 进行做市是另一个可以委托给求解器的连续且可能无限的操作示例。一个希望进行 ETH/DAI 做市的用户可能会创建一个 Intents,允许以 1,800 ETH/DAI 或更低的价格进行 DAI→ETH 的交换,以及以 2,000 ETH/DAI 或更高的价格进行 ETH→DAI 的交换。通过这个 Intents,用户试图在市场波动于 1,800 和 2,000 ETH/DAI 价格点之间时锁定每次 200 DAI 的利润。
Market Making Intents
可以将其想象为两个相互限制的限价单,其中一个成交时另一个就会开放,反之亦然。用户可以在每个价格点签署一个单一的交换意向。只要市场继续在这些价格点波动,求解器理论上可以成交无数个这样的订单,而用户无需进行任何操作。

多步骤 Intents

Intents 可以由多个步骤组成。你可以将这些意向看作一个状态机,其中每个交易都是从前一个状态转换为新状态,转换的新状态取决于前一个状态定义的条件。
一个简单的多步骤 Intents 示例是经典的传统金融挂单套利交易。这些订单在复杂程度上可能有所不同,但简单的版本常见于传统金融交易应用程序中。基于 Web3 的可组合性和多步骤 Intents,我们可以进行非常强大的挂单套利交易。
一个 Web3 挂单套利交易 Intents 可以表达为:「我想要 1 个 ETH,我愿意支付 1,800 个 DAI。一旦我支付了 1,800 个 DAI 并拥有 1 个 ETH,我愿意持有这 1 个 ETH,直到我可以以 2,000 个 DAI 的价格卖出。如果 ETH/DAI 价格跌至 1,620 个 DAI 以下,我希望通过出售这 1 个 ETH 来减少我的损失,在这种情况下,我将接受 1,600 个 DAI,并给求解器支付 20 个 DAI 手续费。如果 [随机治理提案] 通过时我仍持有这 1 个 ETH,我想以市场上的 ETH/DAI 价格卖出这 1 个 ETH,并将所得的 10% 交给求解器。」
"Bracket Order" Intents
这是一个相对简单的 3 步订单,其中包含一些条件触发器,但这些类型的订单可能要复杂得多。

Intents 图表

不同用户 Intents 之间的关系可以形成 Intents 图表。这些图表示用户定义的条件和动作组合,从而产生交换、资产转移或其他链上行为。前面的所有 Intents 示例实际上只是特定图形排列的名称。
就像限价单代表市场流动性的当前状态一样,Intents 图不仅可以代表当前状态,还可以代表许多不同的潜在未来状态下的条件流动性。
例如:用户在一个虚构的市场中交易 XYZ 和 ETH。在各种条件下表示购买和出售 XYZ 的 Intents,例如根据治理提案的结果、特定区块的挖掘、市场价格的上涨和下跌,或者其他 Intents 是否已被满足。
Intents graph for fictional XYZ-ETH market
该图代表了现在存在的流动性,以及在未来可能的状态下存在的流动性。Intents 图可以跨市场甚至跨不同的链。

结论

随着每天都有新的进展,Intents 正在取得进展。
参考文献: 解码 Intents:彻底改变区块链中的 Web3 用户体验和订单流; 基于 Intents 的架构及其风险; SUAVE、Anoma、共享测序器和超级构建器
image.png