前言
围绕「意图」(Intent)及其应用的讨论已经成为以太坊社区的热门话题。
比如 Paradigm 最近发布了一篇名为《Intent-Based Architectures and Their Risks》的文章,DBA 联合创始人 Jon Charbonneau 发布《SUAVE, Anoma, Shared Sequencers, & Super Builders》一文,Crypto 基金 Archetype 发表文章《The Little Transaction that Could: Sequencers, MEV, Intents, and more》讨论 MEV 和 Intent ,可见围绕 Intent 展开的话题吸引了市场的关注。
什么是 Intent?
Intent 是一组声明式约束,允许用户将交易创建外包给第三方,而无需将完全控制权交给交易方。 ——Paradigm
意图(Intent)是指用户在区块链上执行特定操作或触发特定事件的意愿或目的。它可以被视为匹配用户想要在区块链上实现的目标。通过使用 Intent,用户可以以声明性的方式表达他们的意图,不再被动的接受预设的限制条件。
如果你理解以太坊的共识过程,还可以这么理解:
在以太坊的交易中,用户的事务(Transaction)最终会被 Validator 打包为区块并全局共识。在被打包之前,这笔事务(Transaction)留存在内存池中。而 Intent 则是事务的更小的组成单位,代表了用户待匹配的某种需求(比如价格、时间、Gas 费用等),而多个 Intent 的撮合就能体现为一笔事务。
Intent 的采用代表从命令式范式到声明式范式的转变。声明式和命令式是两种不同的编程范式。命令式编程是一种以命令和指令为基础的编程范式,在命令式编程中,开发者开发者需要详细说明如何执行任务,包括具体的操作和算法。声明式编程是一种更关注「做什么」的编程范式。在声明式编程中,开发者描述问题的逻辑和约束,而不是详细说明如何执行任务。声明式编程更注重描述问题的性质和目标,而命令式编程更注重描述问题的解决步骤和实现过程。
因此通过 Intent,用户可以更简单和直观地表达他们的想法。用户只需要描述他们想要实现的目标,例如在特定的时间范围内购买特定的代币、交换资产、提供流动性等,而无需关注具体的交易细节。Intent 模型将用户的意图广播到网络中,供矿工选择性地执行。矿工根据自己的角色和目标,自由选择是否执行某个意图。这种方式将执行权下放给了网络中的各个节点,减少了中心化的决策权和匹配权,并增加了系统的灵活性和可组合性。
既然矿工自由地选择执行各种不同的意图,而不像目前矿工只根据出价高低来决定交易顺序,那么 Intent 的采用就使得矿工在交易排序上的可控性降低了, MEV 的可能性也减小了。
用户如何传达意图?Geometry 投资分析师 khushi 提出一些方法:
1)搜索引擎,用户可以通过在搜索框中输入他们想要的内容来传达。这种交互方式在 Web3 中可能会进一步扩展,以便支持更多类型的交互,如互换、购买和修改链上状态等;
2)钱包,在 Web3 中,钱包扮演着用户交易执行的角色,用户可以通过在钱包应用程序中选择特定操作或输入相关信息来传达他们的意图;
3)AI 小助手,随着人工智能的不断进步,未来可能会出现更先进的个人助手。这种助手可以理解用户的偏好,并能够以优化的方式执行用户意图,同时也考虑到用户的个人喜好。
Intent pools to Mempool(内存池)
当前以太坊交易池的设计主要关注交易的传播和执行,更专注于交易的顺序和一致性,而不涉及复杂的 Intent 传播和匹配机制。
Paradigm 提到了三种新的 Mempool 的设计方案:
Permissionless Intentpools(无需许可的意图池):采用开放式的设计,允许任何人自由地将意图提交到池中,并为执行者提供无需许可的访问。这种设计可以提供更大的自由度和去中心化特性,但也面临如 DoS 攻击、为了减少竞争节点不传播、MEV 等挑战。
Permissioned Intentpools(许可的意图池):需要特定权限才能提交和执行用户意图的设计。用户需要与一个值得信赖的中介方合作,该中介方负责接收用户的意图并代表用户进行执行。这种设计可以提供更好的可控性和安全性,更能抵抗 DoS,同时面临着权限限制和中心化的风险等问题。
Hybrid Solutions(混合方案):将 Permissionless Intentpools 和 Permissioned Intentpools 的特点结合在一起,用户可以自由地将意图提交到池中,但执行过程受到特定实体或组织的权限控制。这种设计可以在自由度和可控性之间找到平衡,但也需要解决激励兼容性等问题。
Intent 的风险和挑战
执行 Intent 的最佳基础设施应该最大限度地减少 MEV,最大限度地提高抗审查能力,并且最好针对跨域互动进行优化。——Archetype
但这是最理想化的状态,Intent 的执行存在一定的风险和挑战。首先,如果 Intent 的执行需要依赖于中介或特定的执行者,就有可能导致权力集中和垄断的风险以及产生中间件的信任问题。其次当执行涉及将一些链上资产的控制权交给执行者时,系统可能变得不透明,用户很难确定他们的期望是否得到满足,难以追踪和监控执行者的行为。同时将一部分控制权委托给执行者也会带来安全和隐私方面的风险,Intent 的应用开发者需要在保护用户隐私和实现交易效率之间寻求平衡。此外,离链组件的复杂性和不透明性也会加大监测区块链生态系统的难度。
当下面对这些挑战,还没有一个完美的解决方案。但是已经有一些团队如 Flashbots 和 Anoma,在努力推进解决中心化、公平透明、安全隐私、跨域互动等问题,为 Intent 的应用开发铺路。
SUAVE:更加去中心化和实现跨链 MEV
更加去中心化、让 MEV 更公开公平的措施可以促进 Intent 的发展。Flashbots 深耕 MEV 领域的研究,目前正在开发 SUAVE ,一个可以充当任何区块链的即插即用内存池和去中心化区块生成器的独立网络。
SUAVE 将内存池和区块构建者的角色从现有的区块链中分离出来,交易的排序和打包不再由单个区块构建者决定,而是通过共享的排序层来进行。该排序层由网络中的多个验证者参与维护。验证者根据一定的规则和算法来共同决定交易的排序和打包。并且共享的排序层可以提供来自不同区块链的交易,实现跨链 MEV。通过 SUAVE 提供更公平和透明的交易处理机制,解决了中心化问题,满足了跨链 MEV 需求。
Anoma:隐私和安全性
Anoma 是一个采用 Intent 为中心设计原则的框架,也可以视为提供给开发者构建 Intent 应用的工具。旨在以 Intent 的方式实现去中心化应用程序,同时不会牺牲权限、容错性、抗审查性或隐私。
当前可编程结算架构存在的问题是它们不支持交易对手发现和解决,这两个因素对于构建大多数交互式多方应用程序都是必要的。因此,当代应用程序协议至少需要一个 Web2 组件,这导致中心化点的存在。Anoma 的设计旨在解决当前可编程结算架构存在的问题,并提供一种新的方式来实现去中心化应用程序。Anoma 的操作系统称为 Taiga,它是一种用于隐私保护分布式应用程序的虚拟机(VM),实现了隐私保护的分布式应用程序的执行。
这里举两个例子让大家更直观的感受可以用 Anoma 构建的去中心化应用程序。1)去中心化投票系统:选民可以提交他们的选票意图,并且只有在满足特定条件时才会被计算,不再仅限于目前的同意或不同意的选择;2)去中心化拍卖市场:用户可以提交他们的出价意图,并且只有在满足特定条件时才会被计算,这种拍卖市场可以提供更高的安全性和透明度,而不需要信任中心化的拍卖机构。
过去几年中,一些系统已经应用了 Intent 的概念,例如限价订单、CowSwap 的拍卖、Gas Sponsorship、委托、交易批处理和聚合器等。这些应用旨在简化与区块链的交互复杂性。随着时间的推移,Intent 在跨链 MEV、ERC4337 账户抽象甚至 Seaport 订单等领域引起了新的兴趣和关注,为以太坊社区带来了新的讨论和探索方向,这些讨论和探索将会成为未来 Intent 应用发展的有益指导,并为以太坊上的创新提供更多可能性。
相关资料:
https://www.paradigm.xyz/2023/06/intents
https://anoma.net/vision-paper.pdf
https://medium.com/anomanetwork/an-overview-of-anoma-s-architecture-26b72e8c9be5
https://github.com/anoma/whitepaper/blob/main/whitepaper.pdf