本文将深入研究这个新标准的复杂性,它与ERC-4337的比较,以及它彻底改变用户与区块链交互方式的潜力。
原文标题:Introducing ERC-7521: Generalized Intents for Smart Contract Wallets
原文作者:Stephen Monn
原文来源:essential
编译:Kate, Marsbit
ERC-7521为以太坊生态系统中基于意图的项目引入了单一的通用接口,解锁了对不断发展的意图领域的未来访问,并确保了长期的可组合性。
在区块链和去中心化应用不断发展的环境中,越来越多的人关注用户定义其意图的概念,而不是纯粹的交易。这使得用户不必担心如何应对日益复杂的DeFi,并解锁了一系列现在才被构思出来的新增用例。
由于各个应用程序已经使用了各自不同且不兼容的意图结构,因此创建一个单一的通用意图标准是有意义的,该标准可以被所有用户、应用程序、钱包软件、求解器、搜索器等共享和理解。
为了提高可组合性和降低进入门槛,我们提出了ERC-7521,这是一个支持智能合约钱包通用意图的标准。
https://github.com/ethereum/EIPs/pull/7739?ref=blog.essential.builders
在这篇文章中,我们将深入研究这个新标准的复杂性,它与ERC-4337的比较,以及它彻底改变用户与区块链交互方式的潜力。
由于这是一个全新的领域,所以意图的定义目前还有些模糊。作为一个整体概念,该术语通常用于指用户对期望的链上结果或最终状态的表达。出于本规范的目的,意图被定义为用户设置的一组操作和期望。这些操作和期望可以与其他意图的操作和期望混合在一起,以最大限度地相互满足所有参与者。
使各方都满意的链上操作组合称为解决方案。专门的求解器(类似于ERC-4337中的捆绑器)将会竞相寻找能够为用户提供最高满意度的解决方案。例如,这可以通过寻找最佳/最有效的链上路径,利用链下流动性来源,结合不同用户的意图来利用需求重合,甚至包括他们自己的意图来实现。
实现广义意图的关键是使用基于智能合约的抽象账户。与ERC-4337类似,意图被签名为消息,然后最终通过单独的交易在链上进行验证。这些签名的消息然后在它们自己的内存池中传播。
本规范的目标不是在如何准确地处理,结构化或管理链下意图方面过于技术性,而是为智能合约钱包创建一个框架,以集成并自动支持由签名意图本身定义的各种可能性。因此,当出现新的意图用例时,该框架还需要允许无缝且无需许可的升级和代码扩展过程。
用户意图与ERC-4337帐户抽象
为了促进这种无缝且无需许可的升级和扩展过程,模仿了ERC-4337的EntryPoint合约,但也被分为两个不同的部分。第一部分称为入口点(Entry Point),是提交意图解决方案的主要入口点,负责验证意图签名以及运行高级意图处理逻辑。
意图处理逻辑的细节定义在单独的合约中,称为意图标准,由签署的意图本身指定。入口点调用这些契约来处理意图。意图标准定义了如何处理额外的意图数据和执行,以及基本的链外规则,例如如何将消息传达给求解器,以及针对意图固有的DoS攻击向量的保护机制。
广义意图的核心合约交互
这些意图标准应该独立于本规范之外单独制定。我们预计,随着意图领域变得更加成熟,随着优化的利基市场和新出现的用例的出现,带有附加功能的新意图标准的开发将会增长。这些标准的采用和支持将受到钱包开发人员和意图解决者之间的社会共识以及最终用户需求的推动。
为了确保我们提议的ERC在早期阶段就具有重要的功能,我们开发了一个基于资产的意图标准来支持当前大多数区块链用例。为了适应生态系统的需求,我们将在公开的情况下完善这个标准(连同这个ERC),我们鼓励意图社区的成员与我们合作,并提供意见和建议。查看我们的其他帖子以了解有关此意图标准的更多信息。
https://blog.essential.builders/asset-based-intent-standard/
用户意图包含的数据可以分为两个主要部分:
1. 基本验证数据,Entry Point合约在执行消息之前与发送方验证消息。
2. 意图标准指定的附加数据。
意图标准数据可以是任何东西,但总是被分解成单独的部分,这些部分被称为意图段。
Entry Point合约并不确切地理解数据是什么,但可以识别数据的细分。Entry Point合约调用意图标准合约,一次处理一个片段,并强制意图的片段总是按照指定的顺序处理。然而,Entry Point允许在段执行之间处理其他意图。
这些意图段通常由用户定义的操作组成,它们希望处理或检查是否满足某些条件。此外,在处理过程中,一个段(Segment)可以将数据传递给下一个段。该数据被称为意图上下文数据,用于验证段之间发生的更改,并避免重新计算有用的数据。同样,要充分利用这些数据取决于意图标准规范。
用户意图数据结构和处理例程
在意图处理过程中,意图能够对任何类型的条件提出不满意,无论是意外的低余额还是意图标准可能正在寻找的任何评估结果为假的条件。当发生这种情况时,整个交易将回滚,包括处理之前可能发生的不相关意图。
只有当一组意图以一种让所有各方都满意的顺序被提交和处理时,意图才会被认为已经使用,并且结果状态才被允许在链上持久存在。正是这些意图组组成了解决方案,并传递给Entry Point合约进行处理。
但是,仅仅提交一个意图列表是不够的,因为不同意图的片段可以按照不同的顺序排列。因此,解决方案还指定了在处理过程中不同意图的段应该如何排序(不同意图的段如何交错)。
将意图捆绑到解决方案中
解决过程的一部分通常包括求解器制定一个意图,该意图有助于促进一组其他意图的满足,使他们能够最大化用户满意度,同时也产生一些利润。
本规范的重点是定义智能合约钱包的基本框架,以便在环境不断发展的情况下为用户连接并解锁强大的意图表达。将意图定义为一组较小的意图段(intent segment),可以减少用户需要签名的数量,从而提供良好的用户体验。意图段和共享上下文数据也有助于解锁强大的功能,而无需高gas。意图可以相信所有的意图段都将被按顺序处理,而无需手动检查。
广义的用户意图打开了一个全新的世界,而这个世界现在才刚刚开始被挖掘。从简单的无gas代币交换,到更复杂的有条件意图,再到自动化流程,如将资金从冷钱包转移到热钱包,或通过单个签名消息进行日常代币购买,意图的可能性是巨大的!我们的基于资产的意图标准规范是许多迭代中的第一个,它将使社区能够利用这个新框架。
这个通用的意图标准适用于所有人。与所有ERC一样,社区参与和反馈对于确保标准满足所有利益相关者的需求至关重要。
•加入Ethereum Magicians的讨论。
•为ERC-7521代码库做出贡献。
•在Twitter上关注我们并参与对话。
意图的世界正在加剧....