随着 Web3 技术逐渐走向大众应用,确保用户能够自主应对 Web3 复杂性显得至关重要。与区块链初期不同,用户不再需要破解复杂的技术细节,未来的趋势是提供一种引导和赋能用户无缝与去中心化系统互动的用户体验。借鉴 Web2 的发展历程,用户需求通过搜索引擎和像 ChatGPT 这样的聊天机器人变得越来越丰富表达。Web3 必须提供一种易于使用但功能强大的用户体验。

Intent(意图)驱动的交互成为用户友好的 Web3 体验的基础。虽然关于 intent 的定义多种多样,但我更愿意将 intent 分为以下 3 组关键词:

· 结果而非路径:用户只需要表达他们想要什么,而无需关心实现结果的方式是什么。

· 条件授权而非代码授权:当用户签署区块链交易时,他们授权交易代码执行任意计算的能力,修改区块链的状态。相反,当用户批准一个 intent 时,他们是在确保他们想要的结果已经实现之后授权发放他们的资产和小费(有点像网络购物的货到付款)。

· 竞争性 solver 而非受信任的 dapp:在交易主导的世界中,用户与他们选择的 dapp 交互,dapp 将作为服务提供方为用户提供期望的结果,通常是像 Uniswap 这类长期运行的主流 dapp。在 intent 主导的世界中,链下和链上的知名或不知名 solver(求解器)为实现用户的 intent 并获得奖励而相互竞争。从经济原理看,竞争越激烈,效率越高。

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

通过优先考虑用户体验并关注表达 intent,Web3 可以开创一个新时代,让去中心化系统的力量和潜力为所有人所用。Web3 的未来在于民主化地获取、简化互动以及通过去中心化的景观引导和解脱用户,实现无缝用户体验。

探索不同类型的 intent 实现

Intent 可以基于它们的通用性分为不同类型,如下图所示:

事实上,各种各样的 intent 无处不在,因为区块链代码=某种程度的自动化=提取了一定的复杂性,并将期望的结果返回给用户。然而,我们希望在未来有最通用的 intent,AA+ 特定 intent 应用程序是不够的,因为它们不能跨域运行,也不能像无需许可性更强的 intent 那样有效地扩展。

为了理解 intent 是如何运作的,我们可以分析一下目前可用的解决方案,从特定 intent 应用程序到像 Anoma 和 SUAVE 这样的通用 intent 基础设施。该分析将主要分为 5 个部分,侧重不同的问题:

· Intent 表达和授权:用户如何输入他们的 intent;用户可以表达什么类型、什么级别的 intent;用户会给予何种授权?

· 候选 solver:是需许可的还是无需许可的?成为 solver 是否有很高的标准?是否存在专注于其他特定领域的不同类型的 solver?

· 求解过程:解决问题的主要途径是什么;由什么来决定 intent 已完成?

· Solver 的选择:从若干候选 solver 中选择获胜者有什么规则?是赢家通吃还是离散竞争模式?

· 验证与结算:如何检查 solver 是否完成了任务?用户和 solver 之间如何结算?

以下是对当前解决方案的全面概述。要获得更详细的信息,请深入研究下文内容。

Cow Swap & 1inch fusion(限价单 intent)

Intent 表达及授权

Cow Swap 和 1inch Fusion 平台上的交易员通过与平台的界面交互来表达他们的 intent,为期望的交易或限价单提供明确的指示。

在授权方面,交易员签署链下消息或交易以授予许可。他们用交易代币支付费用,而不是使用 ETH 支付 gas 费,如果交易没有执行,也不会有任何成本。

候选 solver

就 1inch Fusion 的情况而言,solver 就是 resolver,以无需许可的方式运行。他们需要注册,经过 KYC 流程验证,并要保持足够的余额来支付订单费用。

而 Cow Swap 的 solver 要么通过创建百万美元的绑定池(USDC & Cow)被列入白名单,要么被纳入 Cow DAO 绑定池或 Gnosis DAO 绑定池,并根据 DAO 的标准被 Cow DAO 列入白名单。

求解过程

Solver 评估现有交易包,以确定任何可以为执行交易或限价单提供最佳价格的需求巧合(CoW)。他们会考虑各种因素,如流动性、订单簿深度及价格滑点,以确保交易员的最佳执行。

此外,solver 可以直接探索其他潜在的链上自动做市商(AMM),如 Uniswap,或利用像 1inch 这样的 DEX 聚合平台来发现最优价格和路径。

Solver 的选择

在 Cow Swap,交易员以任何外部 solver 利用批量拍卖确定的最佳价格执行交易,从而让交易员的利润最大化。提供最优解的 solver 将被选中。

相比之下,1inch Fusion 的 resolver 竞争受到的限制更多,并且与利用荷兰式拍卖质押的 1inch 代币相关。

验证与结算

验证和结算过程发生在 solver 执行交易或限价单之后。Solver 可以利用授予结算合约的 ERC20 批准,代表用户转移代币。结算合约验证用户 intent 的签名,并确保执行符合指定的限制价格和数量。此验证确认预期交易或限价单已成功完成。

一旦经过验证,结算合约就可以将资金适当地分配给参与交易的 solver 和用户。

最近,Cow Swap 刚刚宣布推出 Cow Swap Hooks,通过启用在交易之前和/或之后直接执行的自定义编码的 DeFi 操作,可以执行更通用的 swap intent。很高兴看到 Uniswap v4 和 Cow Swap 正在迈向更通用的 intent 活动,并为我们带来一个 DeFi intent 的新世界!

UniswapX(Swap Intents)

UniswapX 的新功能可以分为两个主要部分,即通过荷兰式拍卖(Dutch auction)机制签署订单和跨链 swap。

荷兰式拍卖签署的订单与 1inch Fusion 和 Cow Swap 的限价单 intent 相似,但在 Intent 表达及授权、候选 solver、solver 的选择及验证与结算方面有所区别。

Intent 表达及授权

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

候选 solver

默认为无需许可模式,用户也可以设置为许可模式。

solver 的选择

荷兰式订单执行价格取决于其入块时间。对交换者(swappers)来说,订单的初始价格估计优于当前市场价格,例如,如果当前市场价格为每 ETH 1,000 USDC,而卖单起始价可能为每 ETH 1,050 USDC,随后,订单价格逐渐衰减,直到达到交换者可以接受的最低价格,例如每 ETH 995 USDC。为了获利,提交者(filler)被激励尽快完成订单,否则就有可能错失订单,使愿意获得较小利润的其他提交者获利。

UniswapX 还支持将 RFQ(允许订单指定一个提交者,该提交者在短时间内获得提交订单的专有权利)用于初始荷兰式拍卖价格设置,在这种情况下,选择的过程几乎与 1inch Fusion 的拍卖方式相同。

与 UniswapX 和 1inch 的独立拍卖相比,Cow Swap 更像是批量拍卖,可以合并订单并匹配 CoW。

验证与结算

跨链 swap 可以通过类似的流程实现,主要区别在于为实现多领域 swap 的验证和结算:solver 需要在原链上存入更多的债券资产,以确保安全并启用 optimistic 跨链协议;需要一个额外的结算 oracle 来为原链的验证合约提供数据;需要 UniswapX 在不同的领域中部署相应的结算和验证合约。

账户抽象(钱包层 Intent)

Intent 表达及授权

该过程开始于钱包所有者想要执行特定操作的时候,他们通常通过一个 4337 钱包接口生成一个 userop 来表达他们的 intent。

在链下,钱包所有者可以请求捆绑器(bundler)代表他们处理该 userop,但需根据 intent 授权有限的控制。例如,钱包所有者可以授权私钥进行主帐户交易,但只能使用 Dapp XYZ 的 hub 合约。

候选 solver

在 AA 框架中,捆绑器服务被视为公共产品。大多数捆绑器都是开源的,这使得它们具有非排他性和非竞争性,任何 RPC 端点都可以复制开源代码并作为捆绑器运行。即使捆绑器 RPC 端点想为其服务收费,它也可以通过 API 密钥实现这一点并保持捆绑器作为公共产品的非排他性。

两种主要类型的捆绑器包括专门为钱包构建的满足钱包基本需求的捆绑器服务,以及提供第三方基础设施服务的无需许可和模块化捆绑器。

求解过程

捆绑器在 userop 上模拟钱包的 validateOp 方法,以在链下确定是否接受或拒绝,然后,它们将交易发送到 AA 系统的入口点以调用 handleOp 方法。该过程还包括将多个用户操作捆绑在一起,以优化 gas 费、提取 MEV。

入口点合约将操作推到链上,链节点将验证操作并使其达成共识。

solver 的选择

AA 中 solver 的选择取决于多种因素。帐户所有者使用的钱包可能提供捆绑器服务或使用第三方基础设施,用户也可能切换 RPC 端点以选择自己喜欢的捆绑器。在这种情况下,捆绑器的成功率和声誉可能会影响 solver 的选择。

验证与结算

AA 系统的入口点验证并处理链上操作,它确保 userop 在执行所需操作之前满足需求和安全检查。一旦操作成功执行,入口点将从钱包的存款中向捆绑器退还 ETH。这种退款机制补偿了捆绑器所做的工作及其预付费。

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

目前,Essential 仍处于早期阶段,部分描述和设计可能会随着时间的推移而演变。在短期内,它将是一个基于资产的 intent 标准,类似于 erc-4337 模型,但支持更广义的 intent,且具有一套便利的基础设施。从长远来看,它还将提供一个模块化的 intent 层和一种新的基于约束的语言,该语言摆脱以太坊架构的约束,以执行更好的 intent。

Intent 表达及授权

采用 Essential 标准的 dapp 或钱包可以为用户提供相关的 intent 支持的服务,并消除潜在的复杂性,用户只需要与接口交互并进行授权。Intent 可以在短期内使用 Essential 标准表达,也可以在长期内使用其新的基于约束的语言进行更通用的表达。与 EVM 链兼容,无需桥接资金。

候选 solver

Essential 支持代码表达的 intent,各种 solver 可以加入 Essential 网络来解决相应类型的 intent,例如针对 swap intent 的 Cow Swap solver 或监控和执行链状态相关 intent 的建设者(builder)。

一个由 solver 组成的网络将监视并努力实现这些 intent。Essentials 正在考虑如来自 CoW 协议或 4337 等的现有的 solver 或捆绑器、MEV 搜寻者和做市商。

求解过程

solver 明确他们正在求解的约束环境,然后在链下和链上尝试解决这些基于约束的 intent。

solver 的选择

选择过程更像是荷兰式拍卖,用户指定约束条件,而 solver 则根据可提取的价值大小来决定何时进入以满足 intent。第一个进入并解决 intent 的 solver 将是被选中的 solver,并且可能是当时市场可以承受的最佳解决方案。

验证与结算

验证和结算都是由 solver 触发特定的链上智能合约来验证和分割费用。将有一个核心合约,所有的解决方案和 intent 都将提交到该合约中,并可使用 Essential 准进行扩展。

Flashbots SUAVE(多域区块相关 Intent)

与前面示例中智能合同解决 intent 的方式相比,SUAVE 采用一种专用链用于结算,这个链同时也充当了消息传递层。与账户抽象(AA)和特定 intent 的应用不同,SUAVE 的多链能力可以使其引入一个额外的步骤,即将资金桥接到 SUAVE 链上,这也可以实现更好的成本效益和隐私启用的交易。

SUAVE 刚刚宣布推出了 MEVM,这是以太坊虚拟机(EVM)的强大修改版本,其中包含新的预编译合约,用于执行前期交易(MEV)相关用例。通过 MEVM,SUAVE 链首先将有效地为与 MEV 相关的参与者,如搜索者、开发者和其他希望捕获 MEV 的领域提供服务。

intent 表达和授权:

SUAVE 用户通过编写 EVM 代码在 SUAVE 中表达他们的意图。这些代码通过定义允许访问用户机密数据的合同列表来概述他们希望执行的期望结果和功能。可能有一些适合普通用户的可用模板。

通过 MEVM,开发者可以为特定的 MEV 应用(例如 OFA、区块构建等)部署不同类型的智能合约,或者在 SUAVE 上部署新型 DEX 以供其他用户调用。

用户将资金桥接至 SUAVE 链并存入小费。

候选 solver

在 SUAVE 中担任 solver 的主要参与者可能是搜索者和构建者。搜索者和其他 solver 负责探索和发现潜在的解决方案以满足用户的 intent,而构建者专注于实施这些解决方案。他们共同努力构建一个强大的生态系统,用于解决用户表达的 intent。为了满足不同领域的与区块相关的 intent,可能存在许多在不同领域有专业技能的 solver,以支持不同的虚拟机(VMs)。

求解过程

solver 进行可信且隐私的链下计算,这些计算可以通过 TEE 环境中的特殊预编译用于 SUAVE 上的智能合同。solver 共同努力构建包含一组 intent 的区块。区块构建的目的是将这些意图汇聚并组织成有价值的区块,然后可以提议给网络。

solver 的选择

在 SUAVE 中,solver 的选择遵循两种主要方法。首先,通常会选择首先完成预期任务的 solver。这提高了交付解决方案的效率和及时性。或者,可以实施订单流拍卖机制,其中解决者向用户出价,将部分订单流价值返回给用户。

验证与结算

为了确保 intent 的有效性并结算交易,SUAVE 使用了预言机和 SUAVE 验证者。预言机提供外部数据以验证 intent 的执行,而 SUAVE 验证者验证并在 SUAVE 链上结算 intent。

Anoma (Anoma 协议的通用 Intent)

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

intent 表达及授权

用户通过与 Anoma DApps 进行交互,表达他们的 intent,定义最终状态或应该具备的属性。

候选 solver

Anoma 欢迎各种类型的 solver,每个 solver 专注于不同类型的应用。这些 solver 监视与他们的兴趣和目标相一致的内存池。根据他们的具体关注点,他们可能观察所有 intent 或 intent 的一个子集。

求解过程

solver 运行求解算法,利用他们在可互换代币(FT)交易或计算滚动状态等领域的专业知识。solver 还负责匹配 intent。他们接收意图并生成部分或完全匹配的交易。solver 确定何时匹配、部分解决的收费标准以及如何处理多余部分。一旦 solver 形成一个完全平衡的交易,他们将其提交给 Anoma 生态系统的内存池节点。

solver 的选择

solver 的选择可以受到其高效且及时完成任务的能力的影响,遵循「先到先得」的原则,即首先完成任务的 solver 会被选择。

验证与结算

来自不同 Anoma 协议的验证者运行 Anoma 虚拟机(VM)来完成 intent 的执行和验证。Anoma VM 通过检查所有相关的有效性谓词(声明式智能合同)是否得到满足,确保 intent 的执行完整性和有效性。对 solver 的资金分配和奖励基于 Anoma VM 执行和验证 intent 的结果。

intent 如何彻底改变订单流模式

在当前交易订单流状态下,用户必须自己导航执行路径,从而形成相对简单的交易订单流。

然而,设想未来 web3 生态系统采用以 intent 为中心的方法,intent 的顺序流可能会变得更加复杂。在这个新范例中,用户可以自由表达他们的 intent,并将复杂性委托给新角色——solver。

在深入探讨之前,我想总结一下 intent 领域中的两个趋势:一是专注于特定类型 intent 的主要 DApps,如 Uniswap 和 Cow Swap,正在通过引入 solver 自身来扩展 intent 功能。这意味着它们正在与那些专注于解决特定问题的角色(solver)合作,以提供更广泛的服务。二是更通用的 intent,这方面我们需要相对较新的架构,包括新的 intent 语言、新的虚拟机等等。Essential、Flashbots 和 Anoma 等项目正在朝着这个方向努力工作。这意味着为了满足更一般的 intent,需要开发新的技术和工具,以适应不同类型的需求。

在这种情况下,不同类型的 intent 可能会由特定的平台或协议来处理。例如,交易 intent 可以由 UniswapX 和 Cow Swap 来处理;具有单一领域和与钱包相关特性的意图可以由帐户抽象(AA)钱包或与 Essential 兼容的 DApps 和钱包来处理;而像 SUAVE 和 Anoma 这样的平台可能会处理更通用和多领域的 intent。

在这个新的世界中,intent 的订单流程可能会遵循更复杂的路径。让我们探讨一种可能的订单流程:

用户表达 intent、存入资金并授权

intent 非常具有表现力;普通用户可能需要帮助将他们的 intent 转化为代码。这可以通过 dapps/钱包通过提供用户友好的界面来提取这部分来实现,或者可能有一个聚合器提供一个通用界面来表达任何 intent,如借助人工智能的谷歌搜索。

intent 发送到相关的 intent 内存池

请注意,Anoma 可以有多个内存池,为不同类型的 intent 提供服务,并受到不同的 DApps 或协议的信任。

solver 进行链下模拟并竞争解决 intent

在 SUAVE 生态系统中,solver 既具有解决能力又具有构建区块的能力。一些 intent 涉及通过构建区块来解决跨链任务,例如跨链 MEV 操作。熟练的区块构建者在构建有价值的区块和更快完成任务方面具有优势。其他 intent 可能主要需要算法方面的专业知识,例如优化跨多个链的流动性聚合。这些 intent 可能更依赖于特定类型的 solver,而不是广泛的区块构建能力。

在 AA 生态系统中,捆绑器执行模拟和捆绑任务。然后,捆绑的 intent 可以发送到公共内存池供搜索者解除捆绑并有可能进行抢先操作,或者直接发送给受信任的构建者。在早期阶段,小额捆绑可能更有效,因为可以将它们私下发送给受信任的构建者,以避免潜在的损失。随着 4337 钱包和其他具有足够订单流量的参与者进入市场,他们可以像搜索者一样运作为捆绑器。

验证 intent 的完成

目前存在各种各样的验证方法,每种方法都具有自己的一套权衡。使用智能合同进行验证虽然可靠,但往往缺乏可伸缩性,因为不同的 intent 需要特定的验证逻辑和代码;依赖预言机进行验证会引入与预言机相关的风险,但提供了与多个链的无缝集成的优势;利用 Anoma 虚拟机需要 intent 应用程序采用 Anoma 框架,但提供了验证各种 intent 的能力。

总之,在以 intent 为中心的世界中,订单流与以交易为中心的世界不同:用户签署并授权交易 vs 用户有更多选择来表达自己的 intent;存在用于不同目的的单个内存池与多个内存池;Dapps 负责执行 vs 一个解决者选择加入的新角色,并以竞争的方式解决问题;不同链一一结算 vs 多个链可以一起结算(新型跨域执行)

Intent 对 Web3 世界的涟漪效应

一个基于 Intent 的世界包含了大量的 Web3 参与者。接下来可以大概看一下当前的 Intent 格局。请注意,这只是一个概况。随着 intent 逐渐发展变化,将有更多参与方来到这个新世界。例如,像 Astria 和 Espresso 这样的共享排序器(shared sequencers)可以在多域 Intent 执行方面为用户提供更快的预确认。

上游

像 SUAVE 这样的新链可以进行更频繁和更具成本效益的 Intent 结算。

Anoma 结构链支持新的虚拟机,可以高效、普遍地解决 Intent 验证问题。

L2 或更多的可扩展链适用于执行与 Intent 逻辑表达、验证和结算相关的低成本计算,因为由于 Intent 自身的表达性,整个过程需要耗费大量计算资源。

隐私性

隐私性在 Intent 领域是至关重要的,它可以防止如抢先交易等恶意的 MEV 问题,并使更多的订单流价值被竞价回给用户/dapp。此外,包含隐私特性还可以支持需要更强隐私保护的 Intent。

SUAVE 采用 SGX 作为短期解决方案,而 Anoma 则支持零知识证明(ZK)和分布式密钥生成(DKG)加密。

Oracle

Oracle 现在有了一个额外功能:协助验证 Intent 的实现状态。

Intent 相关标准

通用标准有助于减少不同类型的 Intent 带来的碎片化问题;Solver 可以更容易地将不同的支持 Intent 的应用程序整合在一起;dapp 和开发者更容易扩展到 Intent 系统。Intent 还能避免重建公共 Intent 基础设施。

中游(潜在 solver)

特定类型的 solver(如 CoW Swap 和 1inch 的 routers),以及做市商们,已经积累了庞大的流动性网络和先进的路由算法,其表现优于其他 solver,并且可能直接从 swapper 那里接收部分独家订单。

建设者:建设者作为 solver 发挥着重要的作用,特别是在涉及不同链的最终结算过程中。有经验的建设者可以很轻松地履行这一职责。

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

下游

Intent 对各种 dapp 都有广泛的影响——用户友好度增强;能带来大规模采用;多方参与的增加带来更多的链下组件,提高了效率和灵活性;dapp 可以通过整合 Intent solver 来整合更复杂的功能实现扩展,以提供更多的功能和特性。

例如,在 DeFi 中,intent 可以通过借助第三方(solver)模拟跨链环境中的原子性来执行 Intent。Solver 承担了失败的风险,从而实现跨域 DeFi 新领域。

此外,更多的交互和用户指令可以促进复杂的 dapp 的开发。例如,在 GameFi 中,用户现在有更多的玩法选择:

自定义游戏策略:Intent 允许玩家定义和执行自定义游戏策略。他们可以用自己的方式表达游戏目标和行动,并让 solver 在游戏内执行这些 Intent。这为玩家提供了更多的自由和控制权;

支持经济系统:通过 Intent,玩家可以参与游戏内经济系统,如交易游戏资产、提供流动性或参与借贷。通过表达他们的 Intent,玩家可以在游戏内进行类似于 DeFi 的金融操作,获得经济奖励。

结语

在进行本文的总结时,我注意到 Intent 和 rollup 的理念之间有惊人的相似之处:链下执行以及链上最终结算和验证。随着 rollup 生态系统的爆炸式增长,我们现在也见证了 Intent 的爆炸式增长,dapp 变得越来越有表现力,很多项目开发了特定 Intent 语言和标准。

然而,我想请大家注意 Intent 可能带来的潜在的中心化问题。正如我们在私有内存池和私有订单流的案例中所看到的那样,能够处理复杂用户 Intent 并提供更高效、更加用户友好的体验的玩家可能会脱颖而出,吸引更多的私有 Intent 订单流,从而导致更好的执行吸引更多订单流。

此外,Intent 玩家如何着手让 solver 有效地为用户实现 Intent 也是一个现实问题。例如,就当前的小型 AA 交易来说,打包者或建设者没有充足动机付出额外的时间和精力来提供新型服务。更具表现力的 Intent 也可能存在这个问题。

总之,Intent 领域拥有巨大的潜力和变革力量,我们必须找到前进的路线,平衡创新、去中心化和用户授权。让我们拥抱这一激动人心的旅程,共同努力,释放 Intent 的所有潜力!