1kx:为下一代 Dapp 赋能——钱包赛道深入考察

钱包基础设施解锁了下一代dapp的web3体验,账户抽象和堆栈各层的发展改变了市场结构,ERC-4337提供了一种去中心化且抗审查的替代方案。Paymaster服务提供了Gas政策管理器和智能合约钱包,Safe智能钱包产品已在12多个链上部署500万多个保险箱,ERC-6900定义了模块化智能合约账户,WalletConnect* 通信协议和Web3Modal库让用户可以将任何钱包连接到任何应用程序,SDK的发展使得dapp入门UX未来变得更加便捷。

摘要由 Mars AI 生成

本摘要由 Mars AI 模型生成,其生成内容的准确性、完整性还处于迭代更新阶段。

钱包基础设施在解锁下一代 dapp 的 web3 体验方面发挥着至关重要的作用

到目前为止,用户在 web3 中进行第一次交互之前,必须安装额外的软件、使用新货币为其提供资金和资助,并面临陌生的确认屏幕。尽管改进了防火墙并远离助记词,这些障碍仍然是去中心化应用程序流失率较高的点。

抽象技术层的创新环境已经成熟,可以直观地进入新的金融、社交和游戏体验,同时又不损害自我监管和游戏的原始精神。去中心化。

2023 年对于钱包生态系统来说是关键的一年,账户抽象和堆栈各层的发展改变了市场结构并改变了我们对用户、dapp和钱包之间关系的看法。

本文涵盖:

  • 账户抽象及其好处
  • 钱包基础设施和 AA 堆栈概述
  • 新兴的 dapp/钱包开发模式及其影响
  • 持续的挑战和需要进一步探索的解决方案

账户抽象:什么、为什么以及如何

我们可以将帐户抽象视为帐户管理与密钥管理。账户是区块链上可以持有资产并具有交易历史的实体。签名者(密钥)是有权代表帐户执行操作的实体。

对于传统账户 (EOA),私钥保留对其关联账户的唯一且完全的控制权。私钥和账户之间严格的一一映射意味着:

  • 用户在与区块链交互时仅限于使用专用的密钥管理解决方案(例如 Metamask、Ledger)。
  • 私钥丢失后无法追索,并且控制账户的密钥无法切换。
  • 由该私钥发起的所有行为都被视为平等,从铸造免费的 NFT 到转移数百万美元。

账户抽象使账户成为一个智能合约,其动态逻辑决定哪些密钥可以代表其执行操作、范围权限以及根据用例进行额外的检查和平衡。

智能合约我们可以通过检查被抽象的内容来进一步分解它的好处。

智能合约由于以太坊协议仅识别 EOA 发起的交易,因此帐户抽象需要链下基础设施将智能合约发起的交易中继到链上。

ERC-4337 于 2021 年推出,作为一种无需更改核心协议即可实现此目的的标准化方法。然而,早在标准完全充实之前,一些项目就已经发挥了 AA 的优势。

  • Safe* 多重签名钱包于 2017 年推出,现已发展到可以保护价值 $50B+ 的资产,面向DAO、企业和个人等
  • Argent 的移动钱包自 2018 年起就由智能合约账户提供支持
  • Sequence 钱包于 2021 年推出,支持 Skyweaver 使用以下方式创建并登录其智能账户他们的电子邮件并使用非本地令牌支付费用

这需要由相应的项目构建和维护自定义中继基础设施。

输入ERC-4337。该标准为中继层提供了一种去中心化且抗审查的替代方案,为帐户、付款人和签名聚合器定义了一个接口,以便通过帐户抽象交易的共享备用内存池(“用户操作”)与第三方中继器进行交互。

中继器(“捆绑器”)将多个 UserOps 捆绑在一起形成一个交易,发送到单个 EntryPoint 合约,该合约随后验证费用将被支付(由账户本身或通过付款人),并在对应于智能账户的 UserOps 上执行。

智能合约我们可以将其与原生提供账户抽象的链上的验证和执行方式进行对比,因此不需要额外的中继(例如 zkSync* 和 Starknet),以及最近发布的RIP-7560以太坊及其汇总上的原生 AA 提案。

智能合约2023 年 3 月,4337 EntryPoint 合约部署到主网。它的社区在让开发人员参与帐户抽象运动方面取得了巨大成功。

这为钱包生态系统带来了一波新的基础设施和服务提供商浪潮,并推动了现有项目,以确保其业务战略和产品套件继续满足希望利用 AA 为用户提供无缝 web3 体验的应用程序开发人员的需求。

钱包基础设施和AA 堆栈

智能合约签名者和密钥管理

签名者和密钥管理基础设施负责生成和保护用于签署消息、交易和 UserOps 的公钥对。这里最直接的例子是传统的 EOA 钱包,但钱包即服务提供商已经出现,可以通过社交和电子邮件等替代身份验证方法实现无种子登录和钱包管理。

这些服务要么将密钥材料存储在 HSM(如 AWS KMS)中,只有用户才能通过授权凭证访问(Magic、Turnkey),要么在某种 SSS/MPC 方案(Privy、Web3Auth、Portal、Capsule)下运行,以保护材料。

Lit* 通过分散密钥改进了服务器端密钥存储设计。网络中的每个节点都存储一份通过 DKG 算法生成的 ECDSA 私钥,所有操作都在加密虚拟化中进行。可以将任意身份验证规则分配给密钥对,使应用程序或用户可以完全控制允许的交互,并施加支出限制等。 2-of-N MPC 钱包还可以进一步利用该网络作为备份和恢复选项。

今年,我们进行了快速实验,利用硬件签名者和密钥作为帐户的签名者为用户提供开箱即用的密钥管理服务桌面设备。这些签名者本机使用生物识别身份验证(例如 FaceID、TouchID),通过熟悉的用户体验提供额外的安全性。

  • 硬件签名者利用 iPhone Secure Enclave 和 Android Titan HSM 等独立子系统来生成密钥和签名消息,从而保证硬件级安全。由于无法从设备中提取密钥,因此与其他恢复方法结合使用或作为 系统。
  • 密钥是建立在WebAuthn之上的无密码身份验证标准。在这里,密钥对是在设备的操作系统中生成的,并且可以通过 iCloud 等服务在设备之间同步,因此如果用户选择这样做,则可以进行恢复。

此处的一个限制是,比特币和以太坊等链本身无法识别密钥和硬件签名者生成的签名。他们使用 secp256r1 (R1) 椭圆曲线,而这些链则在 K1 变体上运行。虽然正在进行的工作以无需信任且高效的方式验证 R1,但一些支持 Passkey 的产品正在通过 Lit 和 Turnkey 等服务一次性生成 K1 签名用户已使用其密钥进行身份验证。

这里值得关注的标准是EIP-7212,它建议将 R1 曲线作为预编译合约直接添加到 EVM 中,以便每个现代设备可以在没有第三方服务或中间人的情况下本地签署交易。

随着账户抽象交易量的增长,使用 BLS 签名进行签名聚合可能会导致智能账户费用比 EOA 便宜。4337 定义了聚合器辅助合约的接口,该合约验证批准多个 UserOps 的单个聚合签名,而不是单独验证每个用户操作。

中继器

中继器(例如 4337 Bundler)将交易或 UserOps 中继到内存池。在具有本机 AA 的链上,网络运营商和排序器扮演此角色,从而无需外部专用中继器。

与以太坊有多个客户端实现(如 geth、erigon、reth)的情况类似,4337 生态系统也有多个不同语言的捆绑程序实现,从而使网络更加稳健,避免单一实现的漏洞。4337 规范包括一个测试套件,以确保整个网络的捆绑程序兼容性。实现者包括 Stackup(Golang)、Pimlico、Biconomy、Etherspot(Typescript)、Candide(Python)、OKX(Java)和 Alchemy(Rust)。

捆绑者的激励模型与区块构建者类似,从其捆绑的用户操作而不是交易中收取费用。在实践中,捆绑器需要一个进入块构建器的 API 来查看当前块并创建一个对该块有效的捆绑包,因此应将其视为块构建器的一部分。

随着 4337 吸引力的增长,我们可以预期构建者也将成为捆绑者,因为这种混合模式将比单独的构建者更有利可图,因为他们可以从交易池和 UserOps 池中进行选择.

出纳员

Paymasters 通过允许 dapp 为用户赞助 Gas、允许用户使用非原生代币支付费用或通过传统支付轨道进行链下结算来实现费用提取。 Paymaster 服务有 2 个主要组成部分:

  • Gas 政策管理器,供开发者定义他们赞助 Gas 的条件。这可以涵盖整个项目,也可以基于每个合约或每个钱包地址。开发人员还可以定义他们想要如何限制天然气赞助,例如按汽油价格、请求数或每月赞助金额。 Gas 赞助费用通常计入开发商向服务提供商提供的每月发票中,并收取赞助金额约 5% 的附加费。
  • 付款主智能合约根据账户余额等链上状态或链下 Gas 管理政策来验证给定交易是否有资格被覆盖。 Paymaster 合约持有用于支付 Gas 费用的原生代币余额,并且可能包含价格预言机逻辑,定期检查支付代币(例如 USDC)和原生代币(例如 ETH)之间的汇率。

Paymasters 可分为链上或链下:

  • Onchain Paymasters(例如 ERC20Paymaster、StablecoinPaymaster)仅依靠链上状态来验证交易是否能够被 Paymaster 覆盖。这意味着某些付款人(例如那些接受 ERC-20 中的 Gas 付款的付款人)可以无需许可,但需要注意的是,付款人必须获得账户的批准才能转出支付代币。 Paymaster 合约管理员可以提取代币并转换回原生代币以重新填充合约,在 ERC20 价格之上设置加价,设置差价阈值,以便 Paymaster 更新下一个 UserOp 的 ERC20 价格,或者手动更新价格。
  • 链下 Paymasters(例如,VerifyingPaymaster)涉及与服务提供商的 Paymaster API 进行交互以赞助 UserOp。链下服务检查资格并使用付款人的密钥签署交易。虽然该解决方案已获得许可,但链下付款人可以通过最大程度地减少链上检查来节省燃气费。 Gas 政策可以更加细化,并考虑诸如 Discord 活动之类的链下活动。

帐户工厂和帐户工厂构架

帐户工厂和帐户工厂框架提供“无头”智能帐户实现和 SDK,dapp 和钱包客户端可以在其上构建,代表用户创建自我托管嵌入式帐户。账户本身是智能合约钱包,有自己的签名验证、执行和重放保护(随机数管理)逻辑。所有者使用其密钥授权来自其智能帐户的用户操作。

在较高层面上,智能账户供应商提供 3 个核心内容:

  • 智能合约钱包的核心实现,具有自己的逻辑来说明如何验证、执行交易以及在执行之前和之后执行的任何其他操作。它还包含如何通过本机和第三方模块将附加功能添加到钱包的逻辑。
  • 工厂合约,用于部署钱包实施的新实例,由该帐户的初始签名者发起。根据 ERC-4337,dapp 可以通过指定其选择的提供商的工厂合约地址来为其用户创建智能帐户。
  • SDK 为开发人员提供即插即用的可自定义功能,帮助他们创建智能帐户。这可以包括不同的签名选项、入口/出口和中继技术。

根据 ERC-4337,UserOp 的“sender”字段是指进行交易的智能账户。如果帐户尚未部署,EntryPoint 会从“initCode”中指定的工厂合约部署帐户。用户的密钥可用于申领智能账户以进行后续的 dapp 交互。

Safe、Zerodev 和 Biconomy 等账户提供商与密钥管理器和身份验证基础架构集成,让 dapp 可以选择如何让用户管理智能账户。例如,通过 Safe 的 Web3Auth 集成,用户可以使用社交网络或电子邮件使用账户,而通过 Zerodev 与 Turnkey 的集成,用户可以选择使用 Passkeys 管理账户。

Safe 以其久经考验的智能钱包产品而闻名,被个人、团队和 DAO 广泛使用。迄今为止,已在 12 多个链上部署了 500 万多个保险箱,执行了超过 2200 万多个交易.在 v1.4.1(2023 年 7 月发布)之前,开发人员已经能够使用 Gelato 中继来启用 Gas 抽象交易。这种组合目前为 Gnosis Pay 和 BasedApp 等加密借记卡产品提供支持,其中用户可以使用其保险箱中的资金从任何接受 Visa 的供应商处进行购买。 v1.4.1 通过模块引入了ERC-4337 支持,为中继提供商提供了额外的选项。

智能合约ZeroDev 是今年早些时候推出的智能账户提供商,从一开始就为 ERC-4337 构建。 Zerodev 聚合了多个捆绑器提供商来抽象 UserOp 中继服务,并公开一个 Gas 管理器仪表板,开发人员可以在其中定义为用户提供费用的范围和速率限制逻辑。 Zerodev 和 Biconomy(也运行自己的捆绑器网络)目前在启用 4337 的帐户中占据着市场份额。

Alchemy 的 AccountKit 具有符合 4337 标准的智能帐户实现“LightAccount”,它基于 EF 的实现并添加了EIP -1271 支持(验证来自智能合约的签名)以及所有权转让、密钥轮换和命名空间存储。

账户模块

账户模块是智能合约,充当智能账户的可安装组件。尽管模块基础设施仍处于非常早期的阶段,但我们预计模块将可以通过以下方式发现和安装:

  • 开发人员:嵌入式智能账户可以根据 dapp 开发人员的决定配备“预装”模块,构建一个具有针对其用例定制的功能的入门钱包
  • 最终用户:钱包界面可以公开“模块存储”,用户可以在其中发现新功能并将其添加到钱包中

通过 AA 正式分离 UserOp 验证和执行的处理方式,模块可以包含仅验证或仅执行逻辑。

  • 验证器。在 UserOperation 的验证阶段调用。它们的主要功能是验证 UserOperation 的签名并确定它是否有效以及是否应该执行。 示例包括多重签名、ECDSA、密钥、多链验证和会话密钥。会话密钥使 dapp 能够代表用户进行签名,以简化用户体验,其行为类似于具有可自定义权限和到期时间的临时私钥。
  • 执行者。在 UserOperation 的执行阶段调用。它们扩展了帐户的执行逻辑,并允许其本机执行更多样化的操作。示例包括在常规 ERC-4337 执行流程之外触发的自动操作,例如当价格达到特定阈值时的自动代币互换。
  • 挂钩。运行执行前或执行后并对帐户实施控制。例如,挂钩可以在执行后运行并恢复满足特定条件的任何事务,以提高用户的安全性。

虽然一些钱包(例如 Candide 已经开发了用户可以直接安装的模块,但我们预计可以在类似应用程序商店的钱包界面,或由 dapp 开发人员组成“入门”嵌入式钱包。

智能帐户框架在设计时已考虑到模块。 Safe的核心合约处理模块管理添加和删除模块的逻辑从帐户中删除,但将实际的模块相关逻辑和存储完全限制在单独的合约中。这种关注点分离降低了第三方模块覆盖相同状态、损害帐户安全和预期行为的风险。

智能合约Safe{Core} 协议 引入了一个包含模块、挂钩、管理器和注册表的开放框架,旨在培育一个可组合的智能帐户生态系统,其灵感来自 Safe 钱包产品的经验。

ZeroDev 明确地将其模块(“插件”)分类为验证或执行。执行器模块被设计为与验证器模块配对,允许自定义函数通过不同的验证器“路由”。例如,“NFT 转账”功能,仅允许通过 2FA 转账 NFT。

智能合约构建强大的模块化智能账户生态系统的一些注意事项:

互操作性。由于多个智能帐户供应商各自采用自己的方法来第三方如何向帐户添加新功能,因此模块开发人员正处于供应商锁定或拥有供应商的轨道上。管理开发相同功能以兼容多个帐户实施的技术开销。一些缓解这种情况的解决方案:

  • 用于模块化智能合约账户和插件的 ERC-6900 定义了模块化智能合约账户 (MSCA)、模块(“插件”)的接口,允许任何符合标准的账户实现和插件彼此可以互操作。
  • 用于构建和测试智能帐户模块的 Rhinestone* ModuleKit 提供了用于针对不同帐户实现测试模块的模板和框架、集成库 (例如 DeFi 协议)、预先构建的执行条件以及用于解析模块代码并标记安全漏洞的安全自动化。

安全。让用户能够将第三方软件安装到他们的钱包中,随之而来的是界面应如何管理和公开模块的相关信息的重要问题。

  • EIP-7484提供了一种验证独立构建的智能账户模块的合法性和安全性的手段。在这里,注册表允许审计员对这些模块的安全性进行证明。前端和智能帐户可以查询注册表以提取证明数据,验证模块是否可以安全使用。请参阅 Rhinestone 注册表 以获取此参考实现。
  • 更广泛地说,EIP-7512 旨在为智能合约可解析的审计报告的链上表示创建一个标准,以提取相关信息谁进行了审核以及验证了哪些标准。

智能合约可发现性。注册表可以通过开发者或最终用户安装的智能账户平台和钱包接口公开和查询。

扩展钱包功能的能力使账户成为开发者平台,并为 web3 产品和服务提供新的分销渠道。我们已经在 Metamask Snaps 上看到了这一点,它允许用户通过安全警报(通过 WalletGuard)、隐私功能(通过 Nocturne)以及与 Starknet 和比特币等非 EVM 链的互操作性来定制浏览器扩展钱包。

当 Chrome 使开发者生态系统能够通过扩展来扩展浏览器功能时,这促使他们在市场上占据了主导地位,尽管他们比现有的围墙花园年轻十岁。尽管我们大多数人都很难想象当模块化账户成为主流时钱包体验会是什么样子,但无需许可的创新已经为顺其自然铺平了道路。

新兴发展模式与发展它们的含义

进化后的钱包堆栈意味着:

  • 开发人员可以在其应用上下文中为用户创建非托管帐户,并且会寻求连接器 SDK 等工具来为他们提供如何构建最终版本的选择权。到最终的入职旅程。
  • 嵌入式钱包是一种新的钱包类别,每个供应商都有自己的功能,并在帐户可移植性、可定制性和信任假设方面进行权衡。

智能合约如果您在 2018 年玩过以太坊 dapp,您可能会记得在加载网站后立即看到一个 Metamask 弹出窗口。这是由于在连接钱包和 dapp 方面缺乏良好的用户体验实践,开发人员经常采用硬编码检查来查看用户是否使用浏览器的“window.ethereum”对象安装了扩展钱包。如果用户安装了多个扩展钱包,这会导致不可预测的行为,迫使用户选择一个,并造成钱包市场竞争不那么激烈。

WalletConnect* 通信协议的出现让用户可以将任何钱包连接到任何应用程序,同时还出现了 Web3Modal 库,该库封装了按钮和模态组件,让用户可以选择使用哪个钱包的应用程序。

如今,Web3Modal 已成为 RainbowKit、Web3Onboard 和 ConnectKit 等多个钱包连接器库之一,为 dapp 开发人员简化了钱包检测和基于钱包的身份验证过程。这些库提供了开箱即用的主题选项、钱包搜索功能和屏幕,如果用户还没有钱包,它们会重定向用户安装钱包。

最近,作为 “window.ethereum “的替代钱包发现机制,EIP-6963 最终定稿,允许扩展提供的 dapp 和注入脚本以可预测的方式进行通信。有了这一标准,用户现在在选择扩展钱包连接 dapp 时就有了更多的选择余地,同时也为钱包打开了一个更具竞争力的市场。

虽然连接器库显着改进了 DevEx 和 UX,但用户已经或将安装额外软件来与 dapp 交互的期望仍然对采用构成了很高的障碍。

随着下一代钱包库(我们在这里称之为成熟的“入门 SDK”)的发展,我们已经看到了 dapp 入门 UX 的未来是什么样子。除了基于钱包的身份验证之外,这些 SDK 还提供其他注册和登录选项,例如电子邮件、社交、短信,并为用户创建嵌入式钱包,无需他们安装额外的软件或导航远离 dapp

开发人员可以直接集成主要提供商提供的连接器(例如Magic、Privy、Web3Auth)或使用包装多个服务的服务(例如动态< a i=8>, Thirdweb, 0xPass) 提供即插即用功能- 在他们想要公开的身份验证选项和他们想要创建的钱包类型上发挥选择性,完全定制入职流程。入门 SDK 还可以与智能账户提供商集成,创建嵌入式智能钱包,提供进一步的用户体验增强功能,例如无 Gas 交易和进/出坡道。

随着“无头”钱包的普及以及嵌入式钱包的发展,钱包和 dapp 之间曾经清晰的界限开始变得模糊。

独立钱包、嵌入式钱包、特定应用钱包

智能合约如今,Web3 用户习惯于通过 Metamask 等独立钱包或通过 WalletConnect 提供的钱包与 dapp 进行交互,将其资产和链上足迹累积到一个或几个账户。

随着越来越多的 dapp 通过嵌入式钱包和多个可用供应商吸引新用户,帐户管理对于 dapp 开发者和最终用户来说很快就会变得复杂。 Dapp 开发人员必须评估和管理多个供应商,同时尽量避免锁定。对于最终用户来说,为每个 dapp 创建一个新钱包将导致资产和身份管理体验支离破碎。

虽然特定于应用程序的钱包对于游戏等某些用例来说是理想的选择,但在很多情况下,用户可能会使用他们的第一个 dapp,使用其 web2 签名者或 Passkey 创建嵌入式钱包,并希望使用他们在该应用程序中积累的资产。通过使用同一签名者登录另一个 dapp 上的帐户。

  • Capsule 是一个 基于 MPC 的嵌入式钱包提供商,其特点是跨使用其 dapp 的钱包可移植性服务,使用户可以使用相同的电子邮件登录访问现有的钱包。 我们预计这很快就会成为跨 WaaS 提供商的赌注产品
  • Moonchute 帮助用户临时管理多个智能帐户。他们的统一帐户管理器是一款应用程序和 API,用于发现给定签名者创建的智能钱包,允许用户在一个地方管理多个帐户的资产。
  • ERC-7555 提出了一个受 SSO 启发的标准化接口和请求/响应模式,供应用程序发现使用备用签名方案创建的用户帐户。在这里,应用程序会将用户重定向到给定提供商的 URI(可以是自托管域),并解析签名者和关联的智能帐户地址的响应。

从 EOA 迁移

AA 的另一个突出挑战是为现有用户(已经在多个 EOA 上积累了资产和链上历史记录)提供无缝迁移到智能账户的方式。

  • EIP-7377 提出了一种协议内机制,允许 EOA 发送一次性交易,在其账户上部署代码,从而有效地将 EOA“升级”为智能钱包.
  • Aarc旨在解决 dapp 和最终用户的资产迁移问题。他们的 UI 和 SDK 对特定源地址的资产和权限进行索引,并允许用户选择他们想要移动到任何目标地址的资产,这些目标地址可以是智能帐户、另一个 EOA 或通过社交登录创建的嵌入式 MPC 钱包。对于现有用户习惯于独立钱包流程的 dapp,Aarc 提供了一种解决方案来简化迁移过程,因为他们希望在其产品中添加嵌入式钱包或 AA 功能。

AA 对多链账户管理的影响

鉴于 AA 和 L2 活动的势头,我们可以预见,未来智能账户将成为 EOA 的主流,用户拥有跨多个链的资产。

EOA 的用户体验优势之一是用户可以使用相同的私钥自动访问不同 EVM 链上的相同地址。缺点是无法更改控制给定地址的密钥,并且如果用户丢失私钥,所有资金都可能丢失。

由于账户抽象将密钥存储与资产存储分开,因此可以轮换给定账户的密钥,而无需迁移资金,同时保持相同的地址。智能账户能够使用 CREATE2 跨链维护相同的地址,即使合约尚未部署在给定的平台上,用户也可以访问该账户链但使用相同的初始验证密钥和帐户实现。

然而,从长远来看,跨链维护相同的地址可能是一种反模式。

  • CREATE2 只能在具有 EVM 字节码等效项的链上。在 zk-Rollups(例如 zkSync)与 EVM 略有偏差的多链世界中,这种方法是不够的。
  • 我们预计访问各种帐户所需的密钥将随着时间的推移而发生变化,因为钱包公开了额外的签名和密钥轮换功能。在当前设置下,这可能很快会导致跨链帐户权限的状态漂移,因为一条链上帐户签名者的更改不会自动发生将新权限传播到其他链上的权限。

为多链 AA 提出的长期解决方案包括:

  • 专用密钥存储合约,跨链的用户帐户在检查权限时从中读取。请参阅 Soul Wallet 的实现。
  • 使用ENS 多链解析器作为不同地址的抽象层。

跨链账户和签名者管理仍是一个正在积极研究的领域。我们的最终目标是,用户可以更改不同链上多个账户的密钥,而无需进行大量交易。

智能合约结论与结束语

  • 智能合约账户抽象是一种通过将基于合约的账户(而不是 EOA)作为区块链上的一流实体来将签名者与账户解耦的运动,从而为用户提供密钥管理和账户许可方面的灵活性。
  • ERC-4337 作为中继智能账户发起交易的标准,促进了钱包基础设施的发展以适应 AA,从而催生了新的市场结构、钱包类别、dapp 开发和用户入门模式。
  • 钱包堆栈已分为签名者、中继者、帐户提供商和帐户模块,使开发人员可以选择如何定制最终用户体验。这会带来额外的开销,即评估每个提供商在 Gas 开销、审查阻力、供应商锁定和互操作性方面的权衡。
  • 多链环境中 EOA 的迁移路径和账户抽象仍然是正在进行的研究领域。我们期望在来年看到所提议的解决方案的首次实施。

我们相信这些发展会对整个生态系统产生重大影响:

  • 对于新用户来说,钱包不再是 web3 的唯一入口。通过嵌入式钱包、无gas交易和钱包内入口,应用程序将显着改善入门。
  • 对于当前用户来说,随着应用利用会话密钥等功能,链上体验将变得更加无缝。高级用户可以通过模块更精细地控制帐户权限和其他钱包功能。
  • 对于开发者来说,模块化账户基础设施将钱包转变为操作系统。模块市场是 web3 产品和服务的新的无需许可的分销渠道。

钱包基础设施将继续促进 web3 的采用。我们 1kx 很自豪能够支持那些在本文讨论的想法上处于领先地位的团队,并将继续关注未来的发展。

如果您正在研究该领域的解决方案或对此主题有其他想法,请联系@nichanank – 很乐意和你们一起聊天

*表示 1kx 投资组合公司。

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2023年12月13日 下午12:45
下一篇 2023年12月13日 下午12:45

相关推荐

1kx:为下一代 Dapp 赋能——钱包赛道深入考察

星期三 2023-12-13 12:45:11

钱包基础设施在解锁下一代 dapp 的 web3 体验方面发挥着至关重要的作用

到目前为止,用户在 web3 中进行第一次交互之前,必须安装额外的软件、使用新货币为其提供资金和资助,并面临陌生的确认屏幕。尽管改进了防火墙并远离助记词,这些障碍仍然是去中心化应用程序流失率较高的点。

抽象技术层的创新环境已经成熟,可以直观地进入新的金融、社交和游戏体验,同时又不损害自我监管和游戏的原始精神。去中心化。

2023 年对于钱包生态系统来说是关键的一年,账户抽象和堆栈各层的发展改变了市场结构并改变了我们对用户、dapp和钱包之间关系的看法。

本文涵盖:

  • 账户抽象及其好处
  • 钱包基础设施和 AA 堆栈概述
  • 新兴的 dapp/钱包开发模式及其影响
  • 持续的挑战和需要进一步探索的解决方案

账户抽象:什么、为什么以及如何

我们可以将帐户抽象视为帐户管理与密钥管理。账户是区块链上可以持有资产并具有交易历史的实体。签名者(密钥)是有权代表帐户执行操作的实体。

对于传统账户 (EOA),私钥保留对其关联账户的唯一且完全的控制权。私钥和账户之间严格的一一映射意味着:

  • 用户在与区块链交互时仅限于使用专用的密钥管理解决方案(例如 Metamask、Ledger)。
  • 私钥丢失后无法追索,并且控制账户的密钥无法切换。
  • 由该私钥发起的所有行为都被视为平等,从铸造免费的 NFT 到转移数百万美元。

账户抽象使账户成为一个智能合约,其动态逻辑决定哪些密钥可以代表其执行操作、范围权限以及根据用例进行额外的检查和平衡。

智能合约我们可以通过检查被抽象的内容来进一步分解它的好处。

智能合约由于以太坊协议仅识别 EOA 发起的交易,因此帐户抽象需要链下基础设施将智能合约发起的交易中继到链上。

ERC-4337 于 2021 年推出,作为一种无需更改核心协议即可实现此目的的标准化方法。然而,早在标准完全充实之前,一些项目就已经发挥了 AA 的优势。

  • Safe* 多重签名钱包于 2017 年推出,现已发展到可以保护价值 $50B+ 的资产,面向DAO、企业和个人等
  • Argent 的移动钱包自 2018 年起就由智能合约账户提供支持
  • Sequence 钱包于 2021 年推出,支持 Skyweaver 使用以下方式创建并登录其智能账户他们的电子邮件并使用非本地令牌支付费用

这需要由相应的项目构建和维护自定义中继基础设施。

输入ERC-4337。该标准为中继层提供了一种去中心化且抗审查的替代方案,为帐户、付款人和签名聚合器定义了一个接口,以便通过帐户抽象交易的共享备用内存池(“用户操作”)与第三方中继器进行交互。

中继器(“捆绑器”)将多个 UserOps 捆绑在一起形成一个交易,发送到单个 EntryPoint 合约,该合约随后验证费用将被支付(由账户本身或通过付款人),并在对应于智能账户的 UserOps 上执行。

智能合约我们可以将其与原生提供账户抽象的链上的验证和执行方式进行对比,因此不需要额外的中继(例如 zkSync* 和 Starknet),以及最近发布的RIP-7560以太坊及其汇总上的原生 AA 提案。

智能合约2023 年 3 月,4337 EntryPoint 合约部署到主网。它的社区在让开发人员参与帐户抽象运动方面取得了巨大成功。

这为钱包生态系统带来了一波新的基础设施和服务提供商浪潮,并推动了现有项目,以确保其业务战略和产品套件继续满足希望利用 AA 为用户提供无缝 web3 体验的应用程序开发人员的需求。

钱包基础设施和AA 堆栈

智能合约签名者和密钥管理

签名者和密钥管理基础设施负责生成和保护用于签署消息、交易和 UserOps 的公钥对。这里最直接的例子是传统的 EOA 钱包,但钱包即服务提供商已经出现,可以通过社交和电子邮件等替代身份验证方法实现无种子登录和钱包管理。

这些服务要么将密钥材料存储在 HSM(如 AWS KMS)中,只有用户才能通过授权凭证访问(Magic、Turnkey),要么在某种 SSS/MPC 方案(Privy、Web3Auth、Portal、Capsule)下运行,以保护材料。

Lit* 通过分散密钥改进了服务器端密钥存储设计。网络中的每个节点都存储一份通过 DKG 算法生成的 ECDSA 私钥,所有操作都在加密虚拟化中进行。可以将任意身份验证规则分配给密钥对,使应用程序或用户可以完全控制允许的交互,并施加支出限制等。 2-of-N MPC 钱包还可以进一步利用该网络作为备份和恢复选项。

今年,我们进行了快速实验,利用硬件签名者和密钥作为帐户的签名者为用户提供开箱即用的密钥管理服务桌面设备。这些签名者本机使用生物识别身份验证(例如 FaceID、TouchID),通过熟悉的用户体验提供额外的安全性。

  • 硬件签名者利用 iPhone Secure Enclave 和 Android Titan HSM 等独立子系统来生成密钥和签名消息,从而保证硬件级安全。由于无法从设备中提取密钥,因此与其他恢复方法结合使用或作为 系统。
  • 密钥是建立在WebAuthn之上的无密码身份验证标准。在这里,密钥对是在设备的操作系统中生成的,并且可以通过 iCloud 等服务在设备之间同步,因此如果用户选择这样做,则可以进行恢复。

此处的一个限制是,比特币和以太坊等链本身无法识别密钥和硬件签名者生成的签名。他们使用 secp256r1 (R1) 椭圆曲线,而这些链则在 K1 变体上运行。虽然正在进行的工作以无需信任且高效的方式验证 R1,但一些支持 Passkey 的产品正在通过 Lit 和 Turnkey 等服务一次性生成 K1 签名用户已使用其密钥进行身份验证。

这里值得关注的标准是EIP-7212,它建议将 R1 曲线作为预编译合约直接添加到 EVM 中,以便每个现代设备可以在没有第三方服务或中间人的情况下本地签署交易。

随着账户抽象交易量的增长,使用 BLS 签名进行签名聚合可能会导致智能账户费用比 EOA 便宜。4337 定义了聚合器辅助合约的接口,该合约验证批准多个 UserOps 的单个聚合签名,而不是单独验证每个用户操作。

中继器

中继器(例如 4337 Bundler)将交易或 UserOps 中继到内存池。在具有本机 AA 的链上,网络运营商和排序器扮演此角色,从而无需外部专用中继器。

与以太坊有多个客户端实现(如 geth、erigon、reth)的情况类似,4337 生态系统也有多个不同语言的捆绑程序实现,从而使网络更加稳健,避免单一实现的漏洞。4337 规范包括一个测试套件,以确保整个网络的捆绑程序兼容性。实现者包括 Stackup(Golang)、Pimlico、Biconomy、Etherspot(Typescript)、Candide(Python)、OKX(Java)和 Alchemy(Rust)。

捆绑者的激励模型与区块构建者类似,从其捆绑的用户操作而不是交易中收取费用。在实践中,捆绑器需要一个进入块构建器的 API 来查看当前块并创建一个对该块有效的捆绑包,因此应将其视为块构建器的一部分。

随着 4337 吸引力的增长,我们可以预期构建者也将成为捆绑者,因为这种混合模式将比单独的构建者更有利可图,因为他们可以从交易池和 UserOps 池中进行选择.

出纳员

Paymasters 通过允许 dapp 为用户赞助 Gas、允许用户使用非原生代币支付费用或通过传统支付轨道进行链下结算来实现费用提取。 Paymaster 服务有 2 个主要组成部分:

  • Gas 政策管理器,供开发者定义他们赞助 Gas 的条件。这可以涵盖整个项目,也可以基于每个合约或每个钱包地址。开发人员还可以定义他们想要如何限制天然气赞助,例如按汽油价格、请求数或每月赞助金额。 Gas 赞助费用通常计入开发商向服务提供商提供的每月发票中,并收取赞助金额约 5% 的附加费。
  • 付款主智能合约根据账户余额等链上状态或链下 Gas 管理政策来验证给定交易是否有资格被覆盖。 Paymaster 合约持有用于支付 Gas 费用的原生代币余额,并且可能包含价格预言机逻辑,定期检查支付代币(例如 USDC)和原生代币(例如 ETH)之间的汇率。

Paymasters 可分为链上或链下:

  • Onchain Paymasters(例如 ERC20Paymaster、StablecoinPaymaster)仅依靠链上状态来验证交易是否能够被 Paymaster 覆盖。这意味着某些付款人(例如那些接受 ERC-20 中的 Gas 付款的付款人)可以无需许可,但需要注意的是,付款人必须获得账户的批准才能转出支付代币。 Paymaster 合约管理员可以提取代币并转换回原生代币以重新填充合约,在 ERC20 价格之上设置加价,设置差价阈值,以便 Paymaster 更新下一个 UserOp 的 ERC20 价格,或者手动更新价格。
  • 链下 Paymasters(例如,VerifyingPaymaster)涉及与服务提供商的 Paymaster API 进行交互以赞助 UserOp。链下服务检查资格并使用付款人的密钥签署交易。虽然该解决方案已获得许可,但链下付款人可以通过最大程度地减少链上检查来节省燃气费。 Gas 政策可以更加细化,并考虑诸如 Discord 活动之类的链下活动。

帐户工厂和帐户工厂构架

帐户工厂和帐户工厂框架提供“无头”智能帐户实现和 SDK,dapp 和钱包客户端可以在其上构建,代表用户创建自我托管嵌入式帐户。账户本身是智能合约钱包,有自己的签名验证、执行和重放保护(随机数管理)逻辑。所有者使用其密钥授权来自其智能帐户的用户操作。

在较高层面上,智能账户供应商提供 3 个核心内容:

  • 智能合约钱包的核心实现,具有自己的逻辑来说明如何验证、执行交易以及在执行之前和之后执行的任何其他操作。它还包含如何通过本机和第三方模块将附加功能添加到钱包的逻辑。
  • 工厂合约,用于部署钱包实施的新实例,由该帐户的初始签名者发起。根据 ERC-4337,dapp 可以通过指定其选择的提供商的工厂合约地址来为其用户创建智能帐户。
  • SDK 为开发人员提供即插即用的可自定义功能,帮助他们创建智能帐户。这可以包括不同的签名选项、入口/出口和中继技术。

根据 ERC-4337,UserOp 的“sender”字段是指进行交易的智能账户。如果帐户尚未部署,EntryPoint 会从“initCode”中指定的工厂合约部署帐户。用户的密钥可用于申领智能账户以进行后续的 dapp 交互。

Safe、Zerodev 和 Biconomy 等账户提供商与密钥管理器和身份验证基础架构集成,让 dapp 可以选择如何让用户管理智能账户。例如,通过 Safe 的 Web3Auth 集成,用户可以使用社交网络或电子邮件使用账户,而通过 Zerodev 与 Turnkey 的集成,用户可以选择使用 Passkeys 管理账户。

Safe 以其久经考验的智能钱包产品而闻名,被个人、团队和 DAO 广泛使用。迄今为止,已在 12 多个链上部署了 500 万多个保险箱,执行了超过 2200 万多个交易.在 v1.4.1(2023 年 7 月发布)之前,开发人员已经能够使用 Gelato 中继来启用 Gas 抽象交易。这种组合目前为 Gnosis Pay 和 BasedApp 等加密借记卡产品提供支持,其中用户可以使用其保险箱中的资金从任何接受 Visa 的供应商处进行购买。 v1.4.1 通过模块引入了ERC-4337 支持,为中继提供商提供了额外的选项。

智能合约ZeroDev 是今年早些时候推出的智能账户提供商,从一开始就为 ERC-4337 构建。 Zerodev 聚合了多个捆绑器提供商来抽象 UserOp 中继服务,并公开一个 Gas 管理器仪表板,开发人员可以在其中定义为用户提供费用的范围和速率限制逻辑。 Zerodev 和 Biconomy(也运行自己的捆绑器网络)目前在启用 4337 的帐户中占据着市场份额。

Alchemy 的 AccountKit 具有符合 4337 标准的智能帐户实现“LightAccount”,它基于 EF 的实现并添加了EIP -1271 支持(验证来自智能合约的签名)以及所有权转让、密钥轮换和命名空间存储。

账户模块

账户模块是智能合约,充当智能账户的可安装组件。尽管模块基础设施仍处于非常早期的阶段,但我们预计模块将可以通过以下方式发现和安装:

  • 开发人员:嵌入式智能账户可以根据 dapp 开发人员的决定配备“预装”模块,构建一个具有针对其用例定制的功能的入门钱包
  • 最终用户:钱包界面可以公开“模块存储”,用户可以在其中发现新功能并将其添加到钱包中

通过 AA 正式分离 UserOp 验证和执行的处理方式,模块可以包含仅验证或仅执行逻辑。

  • 验证器。在 UserOperation 的验证阶段调用。它们的主要功能是验证 UserOperation 的签名并确定它是否有效以及是否应该执行。 示例包括多重签名、ECDSA、密钥、多链验证和会话密钥。会话密钥使 dapp 能够代表用户进行签名,以简化用户体验,其行为类似于具有可自定义权限和到期时间的临时私钥。
  • 执行者。在 UserOperation 的执行阶段调用。它们扩展了帐户的执行逻辑,并允许其本机执行更多样化的操作。示例包括在常规 ERC-4337 执行流程之外触发的自动操作,例如当价格达到特定阈值时的自动代币互换。
  • 挂钩。运行执行前或执行后并对帐户实施控制。例如,挂钩可以在执行后运行并恢复满足特定条件的任何事务,以提高用户的安全性。

虽然一些钱包(例如 Candide 已经开发了用户可以直接安装的模块,但我们预计可以在类似应用程序商店的钱包界面,或由 dapp 开发人员组成“入门”嵌入式钱包。

智能帐户框架在设计时已考虑到模块。 Safe的核心合约处理模块管理添加和删除模块的逻辑从帐户中删除,但将实际的模块相关逻辑和存储完全限制在单独的合约中。这种关注点分离降低了第三方模块覆盖相同状态、损害帐户安全和预期行为的风险。

智能合约Safe{Core} 协议 引入了一个包含模块、挂钩、管理器和注册表的开放框架,旨在培育一个可组合的智能帐户生态系统,其灵感来自 Safe 钱包产品的经验。

ZeroDev 明确地将其模块(“插件”)分类为验证或执行。执行器模块被设计为与验证器模块配对,允许自定义函数通过不同的验证器“路由”。例如,“NFT 转账”功能,仅允许通过 2FA 转账 NFT。

智能合约构建强大的模块化智能账户生态系统的一些注意事项:

互操作性。由于多个智能帐户供应商各自采用自己的方法来第三方如何向帐户添加新功能,因此模块开发人员正处于供应商锁定或拥有供应商的轨道上。管理开发相同功能以兼容多个帐户实施的技术开销。一些缓解这种情况的解决方案:

  • 用于模块化智能合约账户和插件的 ERC-6900 定义了模块化智能合约账户 (MSCA)、模块(“插件”)的接口,允许任何符合标准的账户实现和插件彼此可以互操作。
  • 用于构建和测试智能帐户模块的 Rhinestone* ModuleKit 提供了用于针对不同帐户实现测试模块的模板和框架、集成库 (例如 DeFi 协议)、预先构建的执行条件以及用于解析模块代码并标记安全漏洞的安全自动化。

安全。让用户能够将第三方软件安装到他们的钱包中,随之而来的是界面应如何管理和公开模块的相关信息的重要问题。

  • EIP-7484提供了一种验证独立构建的智能账户模块的合法性和安全性的手段。在这里,注册表允许审计员对这些模块的安全性进行证明。前端和智能帐户可以查询注册表以提取证明数据,验证模块是否可以安全使用。请参阅 Rhinestone 注册表 以获取此参考实现。
  • 更广泛地说,EIP-7512 旨在为智能合约可解析的审计报告的链上表示创建一个标准,以提取相关信息谁进行了审核以及验证了哪些标准。

智能合约可发现性。注册表可以通过开发者或最终用户安装的智能账户平台和钱包接口公开和查询。

扩展钱包功能的能力使账户成为开发者平台,并为 web3 产品和服务提供新的分销渠道。我们已经在 Metamask Snaps 上看到了这一点,它允许用户通过安全警报(通过 WalletGuard)、隐私功能(通过 Nocturne)以及与 Starknet 和比特币等非 EVM 链的互操作性来定制浏览器扩展钱包。

当 Chrome 使开发者生态系统能够通过扩展来扩展浏览器功能时,这促使他们在市场上占据了主导地位,尽管他们比现有的围墙花园年轻十岁。尽管我们大多数人都很难想象当模块化账户成为主流时钱包体验会是什么样子,但无需许可的创新已经为顺其自然铺平了道路。

新兴发展模式与发展它们的含义

进化后的钱包堆栈意味着:

  • 开发人员可以在其应用上下文中为用户创建非托管帐户,并且会寻求连接器 SDK 等工具来为他们提供如何构建最终版本的选择权。到最终的入职旅程。
  • 嵌入式钱包是一种新的钱包类别,每个供应商都有自己的功能,并在帐户可移植性、可定制性和信任假设方面进行权衡。

智能合约如果您在 2018 年玩过以太坊 dapp,您可能会记得在加载网站后立即看到一个 Metamask 弹出窗口。这是由于在连接钱包和 dapp 方面缺乏良好的用户体验实践,开发人员经常采用硬编码检查来查看用户是否使用浏览器的“window.ethereum”对象安装了扩展钱包。如果用户安装了多个扩展钱包,这会导致不可预测的行为,迫使用户选择一个,并造成钱包市场竞争不那么激烈。

WalletConnect* 通信协议的出现让用户可以将任何钱包连接到任何应用程序,同时还出现了 Web3Modal 库,该库封装了按钮和模态组件,让用户可以选择使用哪个钱包的应用程序。

如今,Web3Modal 已成为 RainbowKit、Web3Onboard 和 ConnectKit 等多个钱包连接器库之一,为 dapp 开发人员简化了钱包检测和基于钱包的身份验证过程。这些库提供了开箱即用的主题选项、钱包搜索功能和屏幕,如果用户还没有钱包,它们会重定向用户安装钱包。

最近,作为 “window.ethereum “的替代钱包发现机制,EIP-6963 最终定稿,允许扩展提供的 dapp 和注入脚本以可预测的方式进行通信。有了这一标准,用户现在在选择扩展钱包连接 dapp 时就有了更多的选择余地,同时也为钱包打开了一个更具竞争力的市场。

虽然连接器库显着改进了 DevEx 和 UX,但用户已经或将安装额外软件来与 dapp 交互的期望仍然对采用构成了很高的障碍。

随着下一代钱包库(我们在这里称之为成熟的“入门 SDK”)的发展,我们已经看到了 dapp 入门 UX 的未来是什么样子。除了基于钱包的身份验证之外,这些 SDK 还提供其他注册和登录选项,例如电子邮件、社交、短信,并为用户创建嵌入式钱包,无需他们安装额外的软件或导航远离 dapp

开发人员可以直接集成主要提供商提供的连接器(例如Magic、Privy、Web3Auth)或使用包装多个服务的服务(例如动态< a i=8>, Thirdweb, 0xPass) 提供即插即用功能- 在他们想要公开的身份验证选项和他们想要创建的钱包类型上发挥选择性,完全定制入职流程。入门 SDK 还可以与智能账户提供商集成,创建嵌入式智能钱包,提供进一步的用户体验增强功能,例如无 Gas 交易和进/出坡道。

随着“无头”钱包的普及以及嵌入式钱包的发展,钱包和 dapp 之间曾经清晰的界限开始变得模糊。

独立钱包、嵌入式钱包、特定应用钱包

智能合约如今,Web3 用户习惯于通过 Metamask 等独立钱包或通过 WalletConnect 提供的钱包与 dapp 进行交互,将其资产和链上足迹累积到一个或几个账户。

随着越来越多的 dapp 通过嵌入式钱包和多个可用供应商吸引新用户,帐户管理对于 dapp 开发者和最终用户来说很快就会变得复杂。 Dapp 开发人员必须评估和管理多个供应商,同时尽量避免锁定。对于最终用户来说,为每个 dapp 创建一个新钱包将导致资产和身份管理体验支离破碎。

虽然特定于应用程序的钱包对于游戏等某些用例来说是理想的选择,但在很多情况下,用户可能会使用他们的第一个 dapp,使用其 web2 签名者或 Passkey 创建嵌入式钱包,并希望使用他们在该应用程序中积累的资产。通过使用同一签名者登录另一个 dapp 上的帐户。

  • Capsule 是一个 基于 MPC 的嵌入式钱包提供商,其特点是跨使用其 dapp 的钱包可移植性服务,使用户可以使用相同的电子邮件登录访问现有的钱包。 我们预计这很快就会成为跨 WaaS 提供商的赌注产品
  • Moonchute 帮助用户临时管理多个智能帐户。他们的统一帐户管理器是一款应用程序和 API,用于发现给定签名者创建的智能钱包,允许用户在一个地方管理多个帐户的资产。
  • ERC-7555 提出了一个受 SSO 启发的标准化接口和请求/响应模式,供应用程序发现使用备用签名方案创建的用户帐户。在这里,应用程序会将用户重定向到给定提供商的 URI(可以是自托管域),并解析签名者和关联的智能帐户地址的响应。

从 EOA 迁移

AA 的另一个突出挑战是为现有用户(已经在多个 EOA 上积累了资产和链上历史记录)提供无缝迁移到智能账户的方式。

  • EIP-7377 提出了一种协议内机制,允许 EOA 发送一次性交易,在其账户上部署代码,从而有效地将 EOA“升级”为智能钱包.
  • Aarc旨在解决 dapp 和最终用户的资产迁移问题。他们的 UI 和 SDK 对特定源地址的资产和权限进行索引,并允许用户选择他们想要移动到任何目标地址的资产,这些目标地址可以是智能帐户、另一个 EOA 或通过社交登录创建的嵌入式 MPC 钱包。对于现有用户习惯于独立钱包流程的 dapp,Aarc 提供了一种解决方案来简化迁移过程,因为他们希望在其产品中添加嵌入式钱包或 AA 功能。

AA 对多链账户管理的影响

鉴于 AA 和 L2 活动的势头,我们可以预见,未来智能账户将成为 EOA 的主流,用户拥有跨多个链的资产。

EOA 的用户体验优势之一是用户可以使用相同的私钥自动访问不同 EVM 链上的相同地址。缺点是无法更改控制给定地址的密钥,并且如果用户丢失私钥,所有资金都可能丢失。

由于账户抽象将密钥存储与资产存储分开,因此可以轮换给定账户的密钥,而无需迁移资金,同时保持相同的地址。智能账户能够使用 CREATE2 跨链维护相同的地址,即使合约尚未部署在给定的平台上,用户也可以访问该账户链但使用相同的初始验证密钥和帐户实现。

然而,从长远来看,跨链维护相同的地址可能是一种反模式。

  • CREATE2 只能在具有 EVM 字节码等效项的链上。在 zk-Rollups(例如 zkSync)与 EVM 略有偏差的多链世界中,这种方法是不够的。
  • 我们预计访问各种帐户所需的密钥将随着时间的推移而发生变化,因为钱包公开了额外的签名和密钥轮换功能。在当前设置下,这可能很快会导致跨链帐户权限的状态漂移,因为一条链上帐户签名者的更改不会自动发生将新权限传播到其他链上的权限。

为多链 AA 提出的长期解决方案包括:

  • 专用密钥存储合约,跨链的用户帐户在检查权限时从中读取。请参阅 Soul Wallet 的实现。
  • 使用ENS 多链解析器作为不同地址的抽象层。

跨链账户和签名者管理仍是一个正在积极研究的领域。我们的最终目标是,用户可以更改不同链上多个账户的密钥,而无需进行大量交易。

智能合约结论与结束语

  • 智能合约账户抽象是一种通过将基于合约的账户(而不是 EOA)作为区块链上的一流实体来将签名者与账户解耦的运动,从而为用户提供密钥管理和账户许可方面的灵活性。
  • ERC-4337 作为中继智能账户发起交易的标准,促进了钱包基础设施的发展以适应 AA,从而催生了新的市场结构、钱包类别、dapp 开发和用户入门模式。
  • 钱包堆栈已分为签名者、中继者、帐户提供商和帐户模块,使开发人员可以选择如何定制最终用户体验。这会带来额外的开销,即评估每个提供商在 Gas 开销、审查阻力、供应商锁定和互操作性方面的权衡。
  • 多链环境中 EOA 的迁移路径和账户抽象仍然是正在进行的研究领域。我们期望在来年看到所提议的解决方案的首次实施。

我们相信这些发展会对整个生态系统产生重大影响:

  • 对于新用户来说,钱包不再是 web3 的唯一入口。通过嵌入式钱包、无gas交易和钱包内入口,应用程序将显着改善入门。
  • 对于当前用户来说,随着应用利用会话密钥等功能,链上体验将变得更加无缝。高级用户可以通过模块更精细地控制帐户权限和其他钱包功能。
  • 对于开发者来说,模块化账户基础设施将钱包转变为操作系统。模块市场是 web3 产品和服务的新的无需许可的分销渠道。

钱包基础设施将继续促进 web3 的采用。我们 1kx 很自豪能够支持那些在本文讨论的想法上处于领先地位的团队,并将继续关注未来的发展。

如果您正在研究该领域的解决方案或对此主题有其他想法,请联系@nichanank – 很乐意和你们一起聊天

*表示 1kx 投资组合公司。