1. 研报要点
Passkey 是下一代的 Web2 账户技术,具备免安装、安全、便利、隐私的特点
Passkey 钱包将这一技术引入区块链世界,为我们带来了全新的钱包体验
其用户体验甚至超过传统的 Web2 账户,新的用户体验也将催生新的用户场景
普通用户进入区块链世界的门槛已经被彻底扫平,Web3 大规模普及或许近在眼前
2. 概述
2.1 Passkey 技术简介
介绍 Passkey 之前需要先介绍 WebAuthn。它是由苹果、谷歌、微软、Meta 等共同支持的 FIDO 联盟提出的无密码登录技术。它通过设备端生成的非对称密钥对来进行用户鉴权,取代用户密码的鉴权方案。它的原理和我们传统上使用的 U 盾或者硬件钱包类似,用户使用设备内保存的私钥做数字签名来向服务器认证自己的身份。
WebAuthn 的私钥在专用的安全芯片中生成和管理,对应于苹果设备的 Secure Enclave,安卓设备的 Secure Element 以及 PC 设备的 TPM。他们都是独立于 CPU 和操作系统的独立芯片,具有非常高的安全等级。例如 Apple Pay 的信用卡信息就是存储在这个区域。安全芯片中的私钥是无法通过外界 API 读取的,它只能被系统的锁屏模块(通常是生物识别)唤起进行数字签名操作。
Passkey 则是 WebAuthn 基础上的密钥加密同步方案。用户可以使用 icloud 或 google account 自动加密同步自己的设备私钥,以达到多个设备同时自动登录一个网站的体验。目前主流的设备包括 iOS、Android、MacOS 均完整支持 Passkey,Windows 10/11 则仅支持 WebAuthn。
Passkey/WebAuthn(考虑到二者技术上仅存在可同步性的差异,后面统一称为 Passkey)技术是大公司力推的下一代账号鉴权技术,它具有非常明显的优势:无密码、防丢失、防冒用、简单易用等。但它也存在天然的缺陷,即不同品牌设备之间无法互信,iOS 的 Passkey 是不可能和 Android 设备同步的,因此跨品牌终端登录账号始终是个较大的问题。
2.2 Passkey 结合 Web3 的优势
Passkey 技术本身是为 Web2 网络服务设计的,并没有考虑到 Web3/Crypto 的应用场景。但由于它的非对称密钥架构,一旦和 Web3 结合就会发挥出极大的优势。
Passkey 钱包可以用来构建无密码、无助记词的非托管钱包
Passkey 钱包不需要透露任何用户隐私信息,包括 Email、手机号甚至用户名
Passkey 钱包把普通用户的钱包安全性提升到硬件级别,同时用户体验更好
区块链可以作为信任中介,允许不同品牌设备生成的 Passkey 互认,可以做到比 Web2 使用 Passkey 时用户体验更好
安全、便利、非托管,这看似不可能同时达到的三个优势在 Passkey 钱包上可以做到,它会是 Web3 mass-adoption 叙事的一个重要推动者。
2.3 ERC 4337 与 MPC 钱包浅析
同样主打 mass-adoption 叙事,市场上已经存在了两个主流的解决方案,分别是 ERC 4337 账户抽象钱包和 MPC 安全多方计算钱包。我们先简单回顾一下他们的原理和特点。
ERC 4337 钱包
ERC 4337 是 EVM 合约钱包的一个应用层标准。合约钱包本身的优势包括私钥丢失可重置、手续费可代付、权限管理灵活、批量交易等。但它的劣势也很明显,包括初始化成本高、单次交易手续费高、dapp 兼容性差等。这些都是合约钱包的理论优缺点,在实际使用过程中它暴露的其他缺点也不少。
用户仍然需要一把私钥,它如何被生成管理是一个问题
私钥丢失重置的信任锚点问题:即谁有权力重置用户钱包的私钥
私钥重置的多链同步问题:假设用户仅在 Polygon 上有资产,此时进行私钥重置,是否应该重置 Ethereum 上的合约私钥?如果重置,需要高额手续费,如果不重置,后续用户就无法在以太坊上使用账户
初次部署手续费来源问题,需要用户自付或第三方补贴
4337 协议下 bundler 的激励问题
这些理论和实际问题导致 ERC 4337 钱包的实际采用率并不及人们的预期。
MPC 钱包
MPC 钱包就是将私钥分割成若干份并交由多方保管,当需要签名时,再将私钥拼接起来形成一个完整的私钥再签名;或者各分片分别签名后将签名合并计算成完整签名。MPC 钱包的优势包括
链上成本低,用户不需要支付额外的钱包合约执行费用
恢复方案灵活,用户可以使用邮箱、手机、密码、云存储等多种方式作为鉴权方式获得恢复分片
平台无关,MPC 钱包不仅支持 EVM,而且理论上支持各种区块链系统
但 MPC 同时有个比较大的缺点,就是它必须引入中心化的分片托管和签名服务。他们需要大量的成本来维护分片服务器的信息安全和数据备份,并保证能够及时响应用户的签名请求。这也导致 MPC 钱包的商业模式都是 toB 的 SaaS,同时用户很难迁移。这也导致应用方往往不愿意把用户绑定在某个 MPC 服务商那边。
3. Passkey 钱包产品分析
3.1 Passkey 钱包的三个方向
我们分析了目前市场上存在的 Passkey 钱包,发现他们主要分为三个技术方向。
AA + Passkey 签名验证方案,以 Clave 和 Banana SDK 为代表
中心化委托鉴权方案,以 Turnkey 为代表
Signature Transform 方案,以 JoyID 为代表
下面我们就逐一对它们做介绍和分析。
3.2 Clave Banana SDK
第一类钱包采用 AA + Passkey 签名架构,在 EVM 兼容链上构造一个抽象账户,直接使用智能合约验证 Passkey 签名。这里介绍两个代表性的项目。
Clave (https://www.getclave.io/) 最早是一个在 EthGlobal Hackathon 2023 上获奖的项目,参赛的时候项目名叫 opClave。它使用 EVM 合约计算 Passkey 需要的 secp 256 r 1 签名(不是通常的 secp 256 k 1),由于算法复杂度和 EVM 能力的限制,验证一次 Passkey 签名需要消耗 60 万~ 90 万 gas。这对于真实场景,至少 mass-adoption 场景是不可接受的。因此 Clave 计划采取单独起一条 Layer 3 链,并在上面加入预编译 secp 256 r 1 签名验证合约的方式降低 gas 消耗。但这种方式又严重破坏了钱包的多链特性,因此很难普及。
Banana SDK (https://www.bananawallet.xyz/) 则把自己定位为一个 toB 的 SDK 而不是 toC 的钱包。通过 Banana SDK,dapp 方可以把低门槛钱包嵌入到任意地方,方便用户导入。但它的底层方案和遇到的问题和 Clave 相同,高昂的 gas fee 是这类产品走向实用的最大障碍。
为了解决 Passkey 签名在以太坊上验证的成本问题,开发者们提出了 EIP-7212 (https://eips.ethereum.org/EIPS/eip-7212) 等以太坊提案,希望 EVM 内置预编译的 secp 256 r 1 签名验签算法,从而大幅降低验签成本。但该 EIP 涉及底层密码学和共识层修改,即使能够获得通过,并合到主网时间也会以年来计算。Clave 目前和 zksync 合作,将 EIP-7212 代入 zksync,并主要部署在上面。
此外,类似采用 AA + Passkey 链上验签的项目还有一些其他的方案,包括使用零知识证明减少链上计算的方案,例如 knownothinglabs 用 halo 2、bonfire wallet 用 risc 0 bonsai。不过大部分产品都仅存在于产品原型阶段,暂时没有可以进一步分析的产品。
3.3 Turnkey
考虑到智能合约验证 Passkey 签名的成本问题,Turnkey (https://turnkey.com) 等开发者把 Passkey 的验证放到了链外,改由中心化服务验证用户的 Passkey 签名,验签成功后控制加密机生成签名。这种方案本质上就是 Web2 使用 Passkey 的方式,将用户名密码替换成了公私钥对,但最终鉴权决策还是中心化服务器给出。
Turnkey 自己的定位是 toB 的 WaaS 服务,其优势是开发工具非常完整,开发者体验很好,同时生态支持做得也很好。目前已经有多家合作方在开发产品,例如 dynamic.xyz 基于 Turnkey 提供了 toC 的钱包服务,用户体验良好。
但 Turnkey 的问题也很突出,就是它本质上管理了用户的钱包私钥(尽管它的文档反复强调自己是非托管,理由似乎是私钥在服务器的 TEE 环境,而管理员并不能直接访问 TEE),并且商业模式是 toB 的 SaaS 服务,一旦服务下线,用户就面临无法签名的问题。
3.4 JoyID
JoyID 钱包(joy.id)从技术上走得是一个独特的路线,称为 Signature Transform。JoyID 钱包本身支持包括以太坊、比特币、Solana 等多链,并且在这些链上表现为标准的 EOA 钱包,同时它通过在 Nervos CKB 上的 AA 账户对自己的密钥和授权设备做去中心化管理。这是一种非常特殊的架构,它同时具备 AA 账户的灵活性和 EOA 账户的低成本和高兼容性。
JoyID 管理的 AA 账户主要负责多设备之间的 Passkey 互相授权,并且保存 2-of-2 密钥计算的加密后的分片,另一个分片则由设备在签名时通过 Passkey 实时计算出,通过这种方式来实现 secp 256 r 1 → secp 256 k 1 之间的去中心化签名转换。这种方案在交易签名时不需要服务器介入,完全是在用户设备侧基于安全芯片的签名,确保了安全性、去中心化和非托管。
实际产品体验上,JoyID 的整个流程非常丝滑流畅,用户不需要输入任何信息,直接两次系统认证即可完成钱包创建。全程只需要几秒钟时间,中间也不需要支付任何费用。目前看是所有 Passkey 钱包中最完善,也是最成熟的方案。
4. Web3 钱包的未来
总结一下 Passkey 钱包的优势:免安装、硬件级安全、生物识别认证、无须助记词、可随时恢复、无须密码、无须提供隐私信息、不依赖 Web2 大公司、EOA 兼容性高(部分钱包支持)等。对比传统的 Metamask 插件钱包、助记词钱包,其用户体验甚至安全性的提升都是巨大的。甚至其用户体验已经超越了一个 Web2 账户的注册使用体验,后者不但需要用户提供邮箱、手机号,还需要通过验证码验证。
新的用户体验将带来新的用户,进而也将催生新的应用场景。音乐 NFT、创作者经济、Open Loyalty、DAO 等 Web3 应用过去受限于主流钱包用户的投机属性,往往无法专注自己的有价值业务。海量非投机用户进入后,这些应用场景可以发挥自己的真正优势,为客户提供长期价值。
未来 Web3 钱包的格局很可能像是微信支付和支付宝的关系。用户通过支付宝使用金融服务,通过微信使用日常的小额支付。对应 Web3 钱包大家会使用硬件钱包或者助记词钱包进行 DeFi 业务和资产存储,使用 Passkey 钱包进行日常 dapp 交互和小额支付。期待 Passkey 钱包普及并带来真正的大规模用户。