ERC-4337 账户抽象资助项目圆满结束。该资助计划将支持 18 个团队围绕 ERC-4337(也称为账户抽象)构建多样化项目。

每个团队的项目都与 ERC-4337 AA 资助的目标独特地一致,我们相信这些努力的成果将波及整个生态系统,激发新的想法和合作机会。

推动这些项目的充满激情和才华横溢的个人是本轮资助的成功核心,他们展示了对以太坊精神的深刻理解,并致力于推动可能性的边界。本轮资助的受助者拥有各种技能和经验,共同致力于推进以太坊的能力。

为了了解各个项目和领导团队的情况,我们撰写了项目概述,这些概述由团队本身提供(排名不分先后)。随着这些项目的推进,我们迫切期待它们的进展以及对以太坊发展轨迹的潜在影响。

ZeroDev Kernel

ZeroDev Kernel,简称 Kernel,是一个智能合约账户,从头开始设计,具备以下特点:

用于 AA 钱包 - Kernel 与 ERC-4337 兼容;

高效 - 我们非常注重优化其 Gas 使用;

模块化 - Kernel 可以通过「插件」进行扩展。

插件是定制账户行为的智能合约。我们认识到无法预测用户对智能合约账户的需求,因为在使用账户的过程中,他们将与许多不同的 DApp 进行交互。因此,唯一的解决方案是使账户具有可扩展性,以便用户可以随着时间的推移为其账户添加新功能。

截至撰写本文时,Kernel 是所有主要的 EVM 网络(以太坊/Polygon/Arbitrum/Optimism/Base)上使用最广泛的 AA 账户。Kernel 是 ZeroDev 的一个项目,该项目为开发人员集成 AA 提供基础设施和工具。

Etherspot 的 Skandha Bundler

ERC-4337 引入了一个专门为账户抽象化钱包执行的活动而设定的独立内存池。此外,它还提出了一个新颖的概念,称为「bundler」,将用户的操作合并到传统的交易框架中。这种由 bundler 驱动的方法使得在不改变底层协议的情况下,可以执行和实施账户抽象化。这种机制还为未来的无缝集成奠定了基础。在这种情况下,bundler 中的 P2P 接口的重要性变得明显。通过整合 P2P 接口,由特定 bundler 接收的用户操作将在所有相互连接的节点之间传播。因此,即使特定的 bundler 出现故障行为或进行交易审查,这些用户操作仍然可以通过网络中的其他 bundler 进行处理。

Etherspot 团队已经帮助以太坊基金会制定了共享内存池的协议规范,并正在使用 Etherspot 的 bundler 实现来试点实施共享内存池(P2P 接口)。Etherspot 的 bundler 名为 Skandha。它已经在六个测试网络和十一个主网上可用,包括以太坊、Polygon、Optimism、Arbitrum、Fuse、Mantle、Gnosis、Base、Avalanche、BNB 和 Linea。

MynaWallet

MynaWallet 是一个与日本政府发行的身份证(Myna Card)集成的合约账户,目前约有1 亿居民拥有该身份证。MynaWallet 使用户能够无缝地进行代币支付、转移或接收 NFT,并执行其账户支持的任何交易,而无需意识到加密货币的存在。

这有潜力使大多数日本居民能够接触到加密货币。如果这一举措能够成为一个先例,激发其他国家进行类似实验,将其国家身份基础设施与以太坊连接,并将其居民引入加密货币领域,我们将感到非常高兴。

Blocto:对 web3.js 的 AA 支持

我们相信我们的 Web3.js 项目不仅与 ERC-4337 AA 资助的目标一致,而且在 dApp 开发的更广阔领域中扮演着重要角色。

为了推动 ERC-4337 的发展,我们决定通过 Web3.js 共享 4337 特定的 RPC 方法,例如 sendUserOperation、estimateUserOperationGas、getUserOperationByHash、getUserOperationReceipt 和 supportedEntryPoints。

通过这样做,开发人员可以使用这些方法专注于他们真正关心的事情:令人惊叹的 dApp。例如,如果 dApps 想要提供更好的用户体验,只要钱包提供商支持此功能,他们可以将调用方法从 sendTransaction 更改为 sendUserOperation。

Blocto 坚信简化这些流程,促进支持性 dApp 生态系统的增长,并最终催生一个既注重开发者又注重用户的去中心化应用新时代。

Silius

Silius 是一个模块化且高效的 Rust 实现的 ERC-4337 bundler。该项目完全符合更广泛的 ERC 愿景和生态系统,与规范变化保持同步,并支持即将推出的功能,如 P2P 协议和替代内存池。该 bundler 的结构使得其核心构建块——主要组件和库——可以作为乐高积木在生态系统中的其他 AA 项目中重复使用。Silius 还通过在其他 Rust 库和项目上构建和扩展,为 Rust 以太坊生态系统做出贡献。

Schnorrkel.js

我们应该强调这样一个事实:Schnorr 签名是通过帐户抽象启用的。如果没有账户抽象,每个 dapp 都必须在其合约中编写 Schnorr 签名处理,并向世界和 EOA 钱包解释为什么他们必须签署两条消息(ECDSA 用于内存池,Schnorr 用于实际交易),这使得使用起来非常笨重。所有这些问题都得到了账户抽象化的解决。只需使用 Schnorr 对 UserOperation 进行签名,然后将其传递给支付主体。Schnorr 签名验证由 AA 智能合约处理。换句话说,AA 使不同的签名方案成为可能。

为什么使用多签 Schnorr?

复杂性在链下处理,使得链上的 Schnorr 验证非常廉价(大约 3k gas);

隐私——在链上,没有人知道参与者的数量,因为它们由单个地址表示。

QR-Seal 是一个完全兼容 ERC-4337 的 Schnorr 多签名钱包,使用了赢得资助的 Schnorr 库,AA 和支付主体使用了 Ambire Wallet 合约和 Pimlico。我们参加了 ETH Prague 黑客马拉松,并凭借 QR seal 赢得了 ETH Future 类别的奖项。这个黑客马拉松突出了两个人如何通过 QR 码创建一个多签名钱包并传递数据的过程。

Ambire: 通过 DKIM 实现自托管的电子邮件/密码身份验证

电子邮件注册是将新用户引入加密世界的可行方法,因为它提供了一种熟悉的流程,可以使用电子邮件进行访问和恢复。我们将提供一种更简单、更本地化的方式,为账户抽象化钱包添加恢复机制或交易签名,同时提供更高的安全性。这种类型的恢复或交易签名将增强 Web3 中新用户的自托管性和用户体验。

这样的库将减少其他开发人员在专注于 AA 解决方案时为其用户提供更友好的用户体验应用所需的工作量。

此外,我们相信这样的应用将大大吸引 Web3 世界的新用户。

该库将完全开源,并采用像 MIT 这样的宽松许可证进行许可,就像我们目前在 DKIM 验证或电子邮件/密码账户方面的所有努力一样。

Ambire 是一个基于 Web 的账户抽象化钱包,于 2021 年底推出,是第一个通过电子邮件/密码身份验证提供自托管账户创建的钱包,得益于底层的 2/2 多签。

在主网和其他 EVM 网络上运行了一年之后,我们认为电子邮件/密码账户展示了账户抽象化如何使以太坊更具包容性。我们发现,基于电子邮件的注册非常适合那些不具备技术能力或耐心处理种子短语或浏览器扩展的人。

Ambire 智能账户提供了多个签名者的选项。我们支持两种类型的签名者。第一种是电子邮件/密码签名者,第二种是 EOA,如硬件钱包、浏览器扩展(Web3 钱包)等。

当使用电子邮件/密码签名者时,Ambire 会在幕后为您创建一个 2/2 多签,其中一个密钥位于您的设备上,并使用密码进行加密,而另一个密钥负责验证电子邮件确认代码,并存储在后端 HSM 上。控制账户需要两个密钥,但只需要一个密钥即可触发定时恢复过程。

我们为电子邮件/密码账户提供了恢复选项,以防密码或电子邮件访问丢失。如果只有一个密钥签署了交易,合约将触发一个 72 小时的时间锁恢复。72 小时后,交易中缺失的密钥将被用户在同一交易中提供的新密钥替换。

IoTeX:基于零知识证明的账户抽象钱包

利用零知识证明(ZKP),我们基于零知识证明的账户抽象钱包增强和拓宽了链上游戏、DeFi、DeSocial、DePIN 等应用的潜力,建立了以太坊和现实世界应用之间的互操作性。

该钱包使用 zkSNARK 来确认账户访问权限:如果用户拥有正确的密码,他们可以使用证明者生成一个有效的证明来解锁账户。链上智能合约然后验证这个证明以认证交易。

我们的前瞻愿景涉及将零知识证明应用于账户抽象钱包的多个方面,包括通过 web2 身份验证进行钱包操作,使用 web2 社交媒体状态进行社交恢复,以及使用普遍的 web2 支付渠道初始化零余额钱包。

项目团队由 IoTeX 团队的两名高级研究员组成。

SixdegreeLab:链上数据分析

该项目的原始愿景是为 Web3 数据分析师提供必要的知识和技能,以适应 ERC-4337 引起的以太坊和 EVM 链数据结构的变化,并保持有效的链上数据分析。具体而言,该项目将:

提供几个数据指标仪表板,帮助账户抽象实践者了解生态数据情况。同时,创建一个聚合数据表格,以辅助分析师的工作。

提供一份教育教程文档,涵盖账户抽象对链上数据分析的影响,该文档将对 Web3 数据分析师开放,使他们能够适应新的数据结构,并在 Web3 中有效地进行链上数据分析。

随着越来越多的参与者涉足账户抽象,包括基础设施、dApp 和主流用户,我们需要一份数据视角的报告,以说明当前 ERC-4337 采用情况。

通过解决 ERC-4337 对链上数据分析的影响,并探索其他 Layer2 和 EVM 链中的本地账户抽象机制,该项目可以为在以太坊生态系统中工作的数据分析师提供有价值的见解和资源。这反过来可以更有效地识别和缓解以太坊平台上的漏洞和性能问题,有助于确保其持续的成功和增长。

总体而言,该项目可以帮助确保链上数据分析仍然是以太坊社区的一项有价值且有效的工具,并通过为在以太坊、Layer2 和 EVM 链中工作的数据分析师提供见解和资源,为以太坊生态系统的增长和成功做出贡献。

Jam:Picnic 的 DeFi 交易批处理器

Jam 是一个开源的 API,用于为 ERC-4337 应用程序生成 DeFi 操作。目标是使开发人员能够通过一个简单的 API 轻松提供各种 DeFi 产品,同时使 DeFi 对终端用户更加易于访问。您可以向 Jam 询问如何执行特定的 DeFi 操作,并收到执行所有必需步骤的 calldata,以便在单个交易中完成。

在过去的两年中,我们(Picnic)一直与各种 DeFi 集成合作,并感受到了维护这种基础设施的困难。我们相信,前进的最佳方式是将其转化为公共利益,并且以太坊基金会的资助是与社区协调的绝佳方式。

TokenSight:使用 WebAuthn 的账户抽象多因素认证

TokenSight 试图解决的问题与链上智能合约钱包安全有关,方法主要集中在两个重叠的方向上——创建一个具有 WebAuthn 设备的 ERC-4337 智能合约钱包,并为现有的 ERC-4337 钱包提供开发者工具,将 WebAuthn 设备作为多因素交易授权机制添加进去。

我们的方法基于完全链上实现的、针对 Gas 成本优化的 WebAuthn 签名验证方案,而不使用任何 MPC 架构,从而提供最大的安全性和去中心化。

这个项目的团队由 Nasi 和 Blagoj 组成,他们在区块链行业拥有多年的经验。我们对智能合约安全充满热情,我们相信为用户的智能合约钱包中的资金提供最大的安全性和无缝的用户体验对于吸引下一个十亿用户非常重要。我们目前正在构建 Tokensight,这将是第一个使用我们开源的 WebAuthn 钱包的应用程序。

ZK-Team:PriFi Labs 的团队隐私保护账户抽象

账户抽象的一个宝贵方面在于它能够促进团队成员之间共享账户的所有权,使他们能够作为一个统一实体无缝地进行交易。组织可以创建一个抽象账户,并制定预定义规则来管理授权个人及其分配的消费限额。在一个简单的设置中,团队成员的地址及其相应的津贴可能会被写入区块链。这样做引发了一个合理的隐私问题,因为组织可能不愿公开披露这些敏感信息。

ZK-Team 是一个隐私保护抽象账户的概念验证,允许组织在维护个人隐私的同时管理团队成员。通过利用零知识证明,ZK-Team 实现了确保团队成员独特地址及其相关津贴保密的交易。我们期望我们的项目能成为组织管理团队和资产的一站式解决方案,同时也是希望使用零知识证明保护账户抽象中存储的信息隐私的以太坊开发人员的参考。

PriFi Labs 是加拿大多伦多的一家初创公司,致力于研究如何增强区块链应用程序的安全性和隐私性。

Rhinestone:模块化账户抽象

账户抽象承诺提供增强的安全性和有意义的用户体验改进,而不损害 Web3 的理念。在 Rhinestone,我们相信账户抽象的未来是模块化的,其中模块是扩展智能账户功能的智能合约,为无需许可的钱包创新提供了一个新平台。

然而,通过模块将智能账户开放给第三方开发者会增加用户账户的攻击面。我们正在开发一个标准,用于注册模块和声明,以声明有关这些模块安全性的陈述。这个注册表作为一个信任委托机制,供智能账户在安装第三方模块之前查询,以增加用户的安全保证。

AAA: Account Abstraction Afterhours

在 AAA,始于一个简单的想法——提高对 AA 和 4337 的认识。虽然我们可能不再亲自进行编码工作,但我们对技术的热情和对大规模加密技术采用的承诺仍然如此坚定。我们坚信,账户抽象是推动广泛采用的关键。

从最初的开发者聚会开始,我们已经发展成为在三大洲举办的一系列有影响力的活动。这些活动为知识共享和社区建设提供了平台,与 ERC-4337 AA 资助的目标完美契合。

展望未来,我们对进一步扩大影响力感到兴奋。教育视频和互动教程即将推出,让我们能够赋予更多人参与和理解加密技术的能力。我们很荣幸能成为这个旅程的一部分,并致力于对加密技术领域做出有意义的贡献。

Unpacking 4337——一系列技术文章

系列文章的作者获得了一项资助,旨在帮助理解 EIP-4337 组件的运行机制。目标是减少开发人员和研究人员追赶进展并开始专注于他们有兴趣进一步贡献的特定领域所需的时间和精力。

这三个主题是:

用户操作生命周期:用户操作在打包器中的旅程以及打包器在入口点中调用的不同函数,用于验证并最终将其提交到链上。

理解不同的 Gas 参数:在打包器、内存池和用户操作级别上指定了多个 Gas 参数(如下所列)。解释这些参数及其影响。

解释不同的 calldata 参数:输入交易 calldata、UserOp.calldata、多发送 Txns calldata。

Hexlink:EIP-4972 - 将 ENS 与 ERC-4337 账户链接起来

Hexlink 旨在为所有 ENS 用户提供一个与 AA 兼容的智能账户,该账户可通过 EIP-4972 直接使用。通过 Hexlink,每个 ENS 名称都可以派生出一个独特的与 AA 兼容的智能账户,该账户仅由域名所有者部署,并可用于立即接收加密货币。考虑到目前大多数 ENS 名称由 EOA 控制,我们相信这种双账户设置将有助于从 EOA 迁移到智能账户,将所有现有的 ENS 用户转变为 AA 用户,从而促进 AA 的更广泛采用。

UniPass:OpenID 身份验证模块

账户抽象使开发者能够定制验证逻辑,并利用各种互联网基础设施进行用户身份验证。我们的 UniPass 团队正在引入一种新颖的用户身份验证解决方案,该解决方案通过验证 OpenID Connect 协议的 ID 令牌的链上签名来进行 - 用于新用户入职和恢复的 OpenID 身份验证解决方案。

这个解决方案与 ERC-4337 结合使用,为使用 Google 和 Apple 等社交登录的新用户提供一键 OAuth 登录和账户创建的便利。此外,它还简化了在密钥丢失或受损的情况下的恢复过程。该项目旨在构建一个库,使 ERC-4337 钱包开发者能够轻松将 OpenID 身份验证集成到他们的产品中。

Clave:推广对 AA 的 secp256r1 曲线支持

尽管账户抽象解决方案正在涌现,提供更好的用户体验而不损害安全性仍然是主要挑战之一。Clave 团队(之前是 Opclave)正在研究和开发利用移动设备本地软件和硬件解决方案作为签名者的工具,通过最大化用户体验将移动设备钱包提升到硬件钱包的安全级别。以下是该授权范围的一些目标:

共享利用 Secure Enclave、WebAuthn、Passkeys 等解决方案的研究成果。

提供使用这些解决方案作为交易签名者的示例代码。

提供处理这些已签名交易的智能合约示例代码。

通过集成 Solidity 验证器和预编译合约,提供由这些解决方案管理的示例账户合约。

倡导 EIP-7212 以改进这些解决方案,以便在 EVM 中高效使用。

Clave 团队包括开发人员和研究人员,他们在「ETHGlobal Scaling Ethereum 2023」黑客马拉松中首次引入了这一概念。现在,该团队正致力于利用移动设备的可信执行环境作为签名者来提供由帐户抽象驱动的帐户。