账户抽象和 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 的格局,智能合约钱包将成为强大的价值提取器。用户为了获得更好的用户体验而牺牲对交易的所有权,希望设计巧妙的意图层能公平地将他们的意图所产生的价值返还给他们。

发表评论

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