模块化账户抽象详解和最新进展

互联网 阅读 702 2023-06-02 09:14:00

在为以太坊增加智能合约钱包(智能账户)的原生支持的多个提案被拒绝或停滞后,ERC-4337 已被接受为(临时)标准,以实现账户抽象(AA)而无需对 EVM 进行协议级别的修改。在过去的几个月里,AA 的一个子集的活动激增,它围绕着这些智能账户的模块化,使它们对用户和开发者来说更容易扩展。这种一般的方法被称为模块化账户抽象,下面的文章旨在概述这一生态系统在过去 3 个月中的发展以及事情的走向。

生态系统的组成部分

下面的部分将概述和讨论模块化 AA 生态系统的不同组件。这些组件是账户、模块、注册表、UI 和开发者工具。这些组件可能不是使这个生态系统长期运作所需的唯一部分,但至少目前充分包含了各团队集中研究和开发努力的不同领域。

模块化账户

模块化账户是指用户可以轻松、安全地扩展的智能账户,而不是只能由开发人员修改并需要重新部署的“静态”账户。这使得用户可以在他们的智能账户中即时切换出、添加或删除功能。

实施方法

目前有两种不同的模块化智能账户的方法,一种是由安全(Safe)架构创建或启发的,另一种是由多面代理(又称钻石)标准(ERC-2535)启发的。这两种方法有不同的发展,可以沿着多个轴线进行对比。

Safe 账户是从 Gnosis 建立的最初的 multisig 演变而来的,并且早于 ERC-4337. 该团队非常强调安全性和可扩展性,而 ERC-4337 的支持在目前只能通过一个模块来实现。然而,也有关于在未来的版本中实现本地支持的讨论。

另一种方法是受 ERC-2535 的启发,在过去的几个月里,不同的团队已经进行了广泛的讨论和追求。这个标准的目的是使智能合约具有可扩展性,通过标准化的方式来存储对模块(称为面)的引用,并使用 delegatecall 操作码来执行这些。虽然围绕这个机会的讨论已经持续了一段时间,但(据我们所知)第一个工作实现是由我们在 ETHDenver 建立的。从那时起,其他几个团队已经发布了不同阶段的实施方案,例如 ZeroDev Kernel,这是一个最小和可扩展的智能账户,从 ERC-2535 中获得了一些灵感。此外,Alchemy 团队已经写出了一个阶段性的 EIP 草案(ERC-6900),旨在从 ERC-2535 中获取灵感,实现模块化智能账户的标准化。Soul Wallet 过去也曾试验过 ERC-2535 账户,尽管他们后来搁置了这些尝试(我们无法链接到这些尝试的任何代码)。

如上所述,这两种不同的方法可以沿着不同的轴线进行对比。其中之一是使用 delegatecall 来执行模块,而不是使用外部调用。使用 delegatecall 允许从调用合约的上下文中执行外部代码,这就意味着外部代码可以修改调用合约的存储,并进行来自调用账户而不是模块的外部调用。这不允许关注点的分离,这意味着一个模块可以覆盖账户上的任何存储槽,这引起了一个主要的攻击媒介。虽然安全账户目前确实允许使用 delegatecall 来调用模块,但这在未来可能会改变,要么完全被删除,要么为模块创建不同的权限级别。使用 delegatecall 来执行模块的一个好处是,模块可以是单子,大大降低了添加模块的 gas 成本。

这些方法的另一个区别是模块的存储方式和交易的路由。ERC-2535 使用从函数选择器到模块地址的映射,这意味着没有两个活动模块可以共享相同的函数名称(选择器是名称和参数的散列)。使用这个路由器的事务流程是在这个映射中查找一个函数签名,然后用这个签名和参数用 delegatecall 调用相应的合同地址。另一方面,安全账户只存储对模块地址的引用,从而使多个模块使用同一个函数选择器成为可能。此外,交易流程可以由安全账户或模块触发,然后模块可以调用安全账户,从那里执行交易。

第三个主要区别是这些实现处理存储的方式。由于 ERC-2535 调用模块的方式,存储不能像在普通智能合约中那样处理。相反,开发人员通常选择使用结构化或“钻石”存储,将数据存储到存储槽,这些存储槽是唯一的、特定模块的标识符的哈希值。这意味着不同的模块不会覆盖对方的存储数据,并导致合同以意想不到的方式行事。虽然安全模块可以使用 delegatecall 来调用,但它们并不要求以这种方式来调用,因此可以处理自己的存储。这意味着存储不需要以上述方式进行结构化,而是可以以 Solidity 存储定位通常实现的常规(顺序)方式或其他任何想要的方式来处理存储。

这些是这些方法之间最大的一些差异,但关于不同方法的另一个评估,请看 Safe 团队写的这篇文章

模块

模块,有时称为插件或面,是旨在扩展智能账户功能的智能合约。例如,一个模块可能允许所有者使用不同的签名方案来控制他们的钱包,或者在每次代币被转移到另一个账户时触发某个动作。与到目前为止存在的、上面已经讨论过的模块化账户的不同实现方式有关,有不同的构建和执行模块的方式。因此,今天存在的模块要么是为安全架构建立的,如这些这些,要么是为钻石启发的架构建立的,如 ZeroDev 的内核或我们在 ETHDenver 建立的一些演示模块

正如上文详细解释的那样,一个模块的结构取决于它所要使用的账户实现。一个主要的区别是,为安全基础设施构建的模块需要(除非通过委托调用)回调到安全账户,以便从账户的上下文中初始化一个函数调用。相比之下,为钻石启发账户建立的模块不需要这样做,因为它的代码是从智能账户本身中执行的。在此基础上,还存在一个标准,建立在安全架构之上的模块可以使用,称为 Zodiac 标准。该标准旨在将模块化账户的不同组成部分分开,称为头像、护卫和模块,因此旨在为构建智能账户模块创建一个通用框架。一些使用该标准的模块的例子可以在这里找到。

Permissive 是一个正在为智能账户构建公共模块的团队的一个例子。到目前为止,他们的重点是为智能账户建立一个授权框架,主要集中在允许更细化的访问控制,即用户可以给不同的实体以具体的权限来执行账户的特定动作。他们已经发布了一个 Safe 账户的模块,并正在努力将其移植到不同的模块实现上。

注册表

到目前为止,许多智能合约和智能账户的模块实现都是在用户和模块开发者之间建立了强大的信任假设。这就是 ERC-2535 今天几乎完全被使用的方式,允许开发者团队管理大型和复杂的代码库。然而,智能账户生态系统的更大愿景是消除这种信任假设,允许第三方开发者建立非技术用户可以安全地添加到他们的钱包的模块。虽然信任假设不能完全取消(毕竟有人需要证明一个模块的安全性),但我们可以将单个用户和模块开发者之间的所有信任假设捆绑到一个单一的实体,即模块注册表。这意味着,用户现在只需要信任这个单一的实体,而不是需要信任他们想要使用的模块的每一个开发者。

虽然这种思路导致了中心化登记处的结论,但这远远不是我们所追求的愿景。相反,我们目前正在设计一个类似于超结构的注册中心的原型,这意味着它是开放的、不可阻挡的,而且最重要的是,没有许可。这意味着具有不同安全假设的各方可以坐在这个注册表之上,由用户来选择在什么情况下信任哪一方。目前,我们正在对不同的实现方式进行原型设计,并得到了不同团队的有益投入和合作,例如 Safe 和 EF 的 4337 团队成员。一旦我们有了关于不同实现方式和激励设计的更多具体细节,我们将开始更公开地分享这些细节,并开放基础代码。

用户接口

正如 Yoav 之前所指出的,模块化 AA 的一个较少被探索的方面是类似的模块化前端设计。这是必要的,因为 UI 组件需要通过了解函数选择器、参数编码和(潜在的)执行何种前端或后端逻辑来专门构建以触发某些链上功能。到目前为止,我们还不知道有哪个团队在这个问题上取得了重大进展,尽管我们正慢慢开始探索建立在上面讨论的注册表之上的参考实现。从我们的初步研究来看,一个允许外部模块开发者的模块化前端的安全设计是不难的。

开发者工具

虽然存在开发者工具,供 dapp 或钱包开发者将模块化的 AA 集成到他们的应用程序中,但很少有指南或工具来帮助开发者构建模块。Safe 有一个指南在这里,ZeroDev 有一个在这里,但除了这些,我们不知道有什么更实质性的东西可以让开发者轻松了解如何建立一个模块。随着这个领域的成熟,我们相信会有更多的指南和实际的工具出现,大大降低模块开发者的门槛。

结论

模块化 AA 是更广泛的 AA 运动的一个子集,其目的是将智能账户模块化,以使其可以为用户定制,并允许开发人员轻松建立独立的智能账户功能,而不是需要建立一个完整的账户。上述文章的目的是对这一领域的现状做一个广泛的概述,以及强调正在取得进展的地方。我们还试图包括我们所知道的尽可能多的相关进展链接,但如果我们遗漏了什么,请与我们联系,以便我们能够包括它们。最后,有一个 Telegram 小组,这个空间的许多正在进行的讨论都发生在其中。如果你有兴趣了解最新情况和/或作出贡献,请随时加入。如果你有任何问题,请随时联系或上面提到的任何团队。

鸣谢

感谢 Kurt、ZeroKnots、Lukas 和 Derek 帮助我,提供的宝贵反馈。

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
上一篇:当去中心化金融(DeFi)遇到NFT 下一篇:Buidler DAO:NFTFi 生态系统概述

您可能感兴趣

  • 解读CKB版 “闪电网络” Fiber Network:比特币可编程性扩展的另一种思路
    解读CKB版 “闪电网络” Fiber Network:比特币可编程性扩展的另一种思路

    作者:NingNing行业周期与宏观金融周期共振,加密行业正处在与 2019 年相似的整体性迷茫之中,现阶段不仅流动性枯竭,叙事貌似也在枯竭。市场不但对 VC 叙事兴趣阙如,对反 VC 的 Meme 叙事也已经疲倦。就像每次哲学危机,人们都会回归柏拉图寻找出路,当加密行业危机时,我们也需要回归比特币、回归中本聪。正如 CKB 生态 RGB++ 协议创始人 Cipher 在最新 Blog 里所阐述的,加密行业需要对以太坊 “链上计算” 的路径依赖进行反思,回归P2P经济学,让计算归于链下,让验证归于链上。因

    每日资讯 2024-09-02 12:06 1316
  • 面对NFL球员工会起诉,“退圈”的DraftKings竟主动承认NFT是证券?
    面对NFL球员工会起诉,“退圈”的DraftKings竟主动承认NFT是证券?

    作者:Zen,PANews近日,美国国家橄榄球联盟球员协会 (NFLPA) 指控数字体育娱乐和游戏公司DraftKings 逃避了其 NFT 球员许可协议的付款义务。在放弃NFT业务后,涉嫌出售未注册证券而遭到集体诉讼的DraftKings又背上了一起官司。而有趣的是,在与NFLPA的纠纷中,DraftKings的立场似乎已从反驳转变为积极承认“NFT就是证券”。放弃NFT业务:驳回集体诉讼的动议遭到否决今年7月底,Draftkings在给用户的电子邮件中表示:“经过慎重考虑,DraftKings 决定终

    每日资讯 2024-09-02 12:06 1425
  • 简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?
    简析两种最新比特币智能合约实现方案:OP_NET与Arch有何区别?

    作者:Cookie过去半个月,OP_NET 与 Arch 这两个比特币主网上的智能合约实现方案引发了较多的讨论。有意思的事情是,OP_NET 这个名字与大家熟悉的 OP_CAT 很像,都以「OP_」开头,具有很强的、让大家认为这哥俩差不多的迷惑性。所以,在开篇要和大家先提一嘴 OP_CAT。首先,OP_CAT 是比特币操作码,从去年开始有以「量子猫」Quantum Cats,也就是「大巫师」Taproot Wizards 的创始人 Udi Wertheimer 为首的社区力量一直在呼喊要「复活」OP_CA

    每日资讯 2024-09-02 12:06 1326
  • 争议不断,以太坊正在失去“万链之王”的权威
    争议不断,以太坊正在失去“万链之王”的权威

    作者:Climber,金色财经近期围绕以太坊的话题和争议越来越多,不仅 Vitalik 本人需要下场解释观点,就连以太坊基金会也要发布公告来平息社区的质疑声。在本轮牛市周期中,以太坊的表现可谓平平。而美国以太坊现货 ETF 的通过也并未让 ETH 走势如投资者期待般爆发,相反却在币价方面越走越低。这就不免让有着「万链之王」美誉的以太坊逐渐失去投资者和社区的尊重,进而质疑起有关以太坊的方方面面。争议不断,以太坊亟需重塑权威最近一段时间以来社区成员对 Vitalik 言论观点、以太坊基金会乃至以太坊生态系统的

    每日资讯 2024-09-02 12:06 1025
  • 从《黑神话:悟空》谈起,GameFi何时能取得真经?
    从《黑神话:悟空》谈起,GameFi何时能取得真经?

    作者:YBB Capital Researcher Zeke前言本文是市场垃圾时间中的一些闲聊,需要对传统游戏市场有一定程度了解。大家可以把这篇文章当作日记或者随想观看,这些只是我在游玩《黑神话:悟空》之后对GameFi的一些粗浅思考,以及对这个赛道未来的看法。一、游戏科学的九九八十一难三天全网销量破千万、Steam玩家同时在线峰值破235万、多家品牌联名周边销售爆火、国家级媒体多次采访、多个游戏取景地可凭游戏通关记录终身免费进入、86版《西游记》YouTube观看量超400万。以上,是《黑神话:悟空》上

    每日资讯 2024-09-02 12:06 713
  • Gavin Wood:如何防止女巫攻击进行有效空投?
    Gavin Wood:如何防止女巫攻击进行有效空投?

    演讲:Gavin WoodGavin 近期一直在关注的女巫攻击(civil resistance)的问题,PolkaWorld 回顾了 Gavin Wood 博士在 Polkadot Decoded 2024 上的主题演讲,想要探究 Gavin 在如何防止女巫攻击上的一些见解。什么是女巫攻击?你们可能知道,我一直在研究一些项目,我在编写灰皮书,专注于 JAM 项目,也在这个方向上做了一些代码的工作。实际上,在过去的两年时间里,我一直在思考一个非常关键的问题,这个问题在这个领域中非常重要,那就是如何防止女巫

    每日资讯 2024-09-02 12:06 1273
  • 市场热议,链抽象将成加密新叙事?
    市场热议,链抽象将成加密新叙事?

    2024年,加密货币领域的技术创新持续加速,链抽象(Chain Abstraction)逐渐成为行业内的焦点。链抽象技术的核心在于通过隐藏底层技术的复杂性,让用户能够更加便捷地在多个区块链之间进行操作。传统的区块链技术通常要求用户掌握不同链的操作流程,并需要应对跨链操作中的技术难题,这极大地吸引了新用户的进入。而链抽象的出现,则为这些问题提供了有效的解决方案,成为Web3建设不可忽视的重要一环。01、什么是链抽象及其作用链抽象能够将不同的区块链之间的差异整合在一个统一的操作界面中,使得用户只需一个账户即可

    每日资讯 2024-09-02 12:05 563
  • 今日日报|马斯克和特斯拉赢得“被指控操纵狗狗币”的诉讼;稳定币支付平台Bridge完成5800万美元融资
    今日日报|马斯克和特斯拉赢得“被指控操纵狗狗币”的诉讼;稳定币支付平台Bridge完成5800万美元融资

    今日要闻提示:马斯克和特斯拉赢得驳回指控他们操纵狗狗币的诉讼OpenAI和Anthropic已同意将其主要新AI模型在发布前共享给美国政府OKX将上线Hamster Kombat(HMSTR)现货交易X平台纽约总部将于9月13日关闭,预计将迁往得州萨尔瓦多总统布克尔成为《时代》杂志最新一期封面人物稳定币支付公司Bridge完成5800万美元融资数据:MATIC、SHIB、UNI代币头部地址持仓均超50%网龙今年上半年通过出售2.9亿元的加密货币,获利5100万元人民币监管消息美国众议院计划在9月举行多场加

    每日资讯 2024-09-02 12:05 1067