Gemini 如何使用 ZeroDev WebAuthn 验证器构建通用智能钱包

  • zerodev
  • 发布于 2025-07-18 18:48
  • 阅读 87

ZeroDev 的 Kernel 智能账户基于 ERC-7579 标准构建,具有模块化架构,允许互换组件。Gemini 利用 ZeroDev 的 WebAuthn 验证器插件快速开发了新的智能钱包,该验证器采用“双重模式”密钥验证,在支持 RIP-7212 的链上使用原生 RIP-7212 进行验证,否则回退到 Daimo 的 passkey 实现,从而实现通用地址和较低的 gas 成本。

在 ZeroDev,我们坚信开放标准和模块化架构的力量。这就是为什么我们构建了 Kernel——我们的旗舰智能账户,它基于 ERC-7579 - 这个模块化智能账户标准正在迅速成为以太坊生态系统中下一代钱包的基础。

ERC-7579 定义了一种构建具有可互换组件的模块化智能账户的标准化方法——用于签名验证的验证器、用于交易执行的执行器、用于自定义逻辑的Hook等等。这种模块化意味着一个组件的创新可以使整个生态系统受益。当我们构建一个新的验证器时,任何兼容 ERC-7579 的钱包都可以使用它。当有人改进执行器时,每个 Kernel 账户都可以利用这种改进。

这种开放的、可组合的基础设施理念使得 Gemini 能够快速开发他们的新型智能钱包。与从头开始构建自定义签名验证不同,Gemini 可以简单地从 ZeroDev 的开源且经过审计的 WebAuthn 验证器插件中获得安全性。

Gemini 的挑战:一个钱包,每个链

当 Gemini 着手构建他们的下一代智能钱包时,他们有雄心勃勃的要求:

  • 通用地址 - 用户在每个 EVM 链上都应该拥有相同的地址
  • 生物识别身份验证 - 利用 WebAuthn 实现 Face ID、Touch ID 和 Windows Hello
  • 最佳 Gas 成本 - 利用特定链的优化(如果可用)

以下是 ZeroDev WebAuthn 验证器如何实现所有这三个目标的:

秘诀:ZeroDev 的 WebAuthn 验证器

ZeroDev WebAuthn 验证器 实现了创新的“duo mode(双模式)”密码密钥验证:

Copyaddress constant DAIMO_VERIFIER = 0xc2b78104907F722DABAc4C69f826a522B2754De4;
address constant PRECOMPILED_VERIFIER = 0x0000000000000000000000000000000000000100;

简单来说,当 RIP-7212 可用时,验证器使用原生 RIP-7212(稍后会详细介绍)验证密码密钥签名,如果 RIP-7212 不可用,则回退到 Daimo 的密码密钥实现。以下是它在代码中的样子:

Copyfunction verifySignatureAllowMalleability(
    bytes32 message_hash,
    uint256 r,
    uint256 s,
    uint256 x,
    uint256 y,
    bool usePrecompiled
) internal view returns (bool) {
    bytes memory args = abi.encode(message_hash, r, s, x, y);

    if (usePrecompiled) {
        // Use RIP-7212 precompiled for gas-efficient verification
        // 使用 RIP-7212 预编译进行 gas 高效验证
        (bool success, bytes memory ret) = PRECOMPILED_VERIFIER.staticcall(args);
        if (success == false || ret.length == 0) {
            return false;
        }
        return abi.decode(ret, (uint256)) == 1;
    } else {
        // Fall back to Daimo verifier for universal compatibility
        // 回退到 Daimo 验证器以实现通用兼容性
        (, bytes memory ret) = DAIMO_VERIFIER.staticcall(args);
        return abi.decode(ret, (uint256)) == 1;
    }
}

WebAuthn + RIP-7212:完美的组合

RIP-7212 是当今大多数 rollup 实现的“rollup 改进提案”。在支持 RIP-7212 的链上,0x0100 的预编译合约提供:

  • 相比 Solidity 实现,节省 10-100 倍的 gas
  • P256 操作的原生性能
  • 跨链的标准化接口

由于 ZeroDev WebAuthn 验证器实现的“duo mode(双模式)”,Gemini 钱包将在每个链上工作,但当底层链支持时,它们将享受 RIP-7212 带来的性能提升。此外,钱包可以部署在不支持 7212 的链上,并且当底层链添加对 RIP-7212 的支持时,它将自动开始节省 gas。

具有 duo-mode(双模式)验证器的通用地址

由于 ZeroDev WebAuthn 验证器在同一个代码库中实现了两种验证模式,并具有智能回退,因此 Gemini 钱包可以在支持 RIP-7212 的链和不支持 RIP-7212 的链上使用完全相同的插件。因此,这些钱包在所有 EVM 链上共享一个通用地址,确保 Gemini 用户无论是在像以太坊这样的“旧链”上还是在新兴的 rollup 上,都能获得最佳的互操作性和用户体验。

ZeroDev 入门

受到 Gemini 智能钱包的启发了吗?立即开始使用 ZeroDev 的模块化智能账户进行构建,你可以使用整个强大的智能账户插件生态系统。

  • 原文链接: docs.zerodev.app/blog/ge...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
zerodev
zerodev
@zerodev_app Founder/CEO Derek