**密钥层:**用户可以使用面部识别或指纹等丝滑方法进行身份验证。从底层来看,它是基于硬件的安全处理器(如 Secure Enclave)或云服务(如 iCloud 和 Google Cloud)处理密钥管理的。后面我将深入讨论跨设备和跨平台问题。
**账户层:**智能合约账户(SCA)可分配任意签名者(例如 SE 和 Passkey)和阈值机制。此外,其模块化设计增强了灵活性和可升级性。例如,智能合约账户可以根据交易数量、时间或 IP 地址等因素动态调整其签名要求。另一方面,传统的外部账户(EOA)可以通过多方计算 (MPC) 服务进行扩展,相比于智能合约账户,这种组合提供了更好的互操作性和成本效益,但不具备智能合约账户提供的高级功能,特别是密钥轮换会更加有挑战。
想象一下,一个钱包可以根据情况灵活调整其安全需求:当用户在熟悉的本地 IP 地址上时,这个钱包支持单签名者身份验证,但对于来自未知 IP 地址或超过一定值的交易则需要多个签名者。有了模块化和可编程性,只有我们想象不到、没有实现不了的创新。许多智能合约账户服务提供商都在积极构建这一领域,包括 Safe、Zerodev、Biconomy、Etherspots、Rhinestone 等。还要感谢诸如 Stackup、Plimico、Alchemy 之类的基础设施,让这一切成为可能。
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
SevenX Ventures:WebAuthn 与 Passkey 如何拯救糟糕的加密体验?
撰文:Rui,SevenX Ventures
TL;DR
私钥是在以太坊上签署交易的关键所在,但即便是以助记词(也称「种子短语」) 这种可读形式进行管理,用户的私钥管理也是一场噩梦。而我们深知,将区块链变成一个复杂游戏从来都不是我们的本意。
要保证交易安全,就必须要对授权用户进行身份验证。随着互联网安全和用户体验的发展,我们已经从密码验证发展为面部识别和指纹等生物特征识别技术。在这一进展中,WebAuthn 是一个关键里程碑。本文将重点讨论三个术语:
正如上文所述,WebAuthn 部署与我们对于日常区块链用户的目标是一致的,即实现高级防钓鱼安全和用户友好的体验。以下是将 WebAuthn 实现融入到区块链中的提议:
* 免责声明:
技术进步并不代表一定能在市场上获得成功;并非所有设备和平台都采用了 Passkey;使用智能合约账户可能比外部账户更昂贵;所提出的解决方案将随着技术进步而不断发展。
加密用户体验很糟糕?是密钥管理烂透了!
在区块链领域,区块链资产的真正控制权并不在用户或钱包提供商手中,而在于私钥。这个密钥决定了以太坊上交易执行的成败。为了更好地理解这一点,我们以外部账户为例:
正如上文所述,私钥是链上的一个重要实体。最初,以太坊账户,即外部账户,完全依赖于单个私钥,这带来了重大风险,因为丢失私钥意味着失去了对账户的访问权限。
许多人可能认为账户抽象(AA)是用户体验问题的终极解决方案,我想说并不尽然。账户抽象将以太坊上的 validity rule(有效性规则)变为可编程的规则,而智能合约账户让其实现。账户抽象很强大,可以实现并行发送多个交易(抽象 nonce)、gas 赞助,支持使用 ERC 20 支付 gas(抽象 gas),还有一个与本文主题更相关的功能是 - 账户抽象可以打破固定签名验证(抽象 ECDSA 签名)。与外部账户不同,智能合约账户可以分配任意签名者和签名机制,如多重签名 (multisigs) 或限定范围的密钥(会话密钥)。然而,尽管账户抽象的灵活性和可升级性有所提高,但交易签名仍需要密钥。
即使将私钥转换为 12 个单词的助记词,管理私钥仍是一大挑战,存在丢失或遭受钓鱼攻击的风险。用户必须在复杂的去中心化解决方案与中心化服务之间进行抉择,但两者都不是最理想的选择。
为什么加密体验很糟糕?其中很大一部分原因是因为密钥管理很糟糕。用户在密钥管理的时候,始终需要在体验、安全性和去中心化之间进行权衡。本文探讨了管理密钥的潜在最佳解决方案。
密钥管理层
永远不存在什么万全之策,密钥保管的最佳方式需要根据特定用户场景进行定制,并受诸多因素影响,如用户类型(机构还是个人)、资本金额、交易频率和交互类型等。
事先澄清一下,我不会用目前流行的「自我托管、半托管和完全托管」等字眼。在我看来,真正的自主托管意味着不依赖其他方、独立签署交易,哪怕有些解决方案在传统意义上都不算是托管(比如存储在去中心化节点的可信执行环境中),也不算非托管。仅基于托管类型来判断解决方案是好是坏就过于简单粗暴了,也没有考虑到这些方案的适用性差异。为了更加细致地评估密钥管理方法,我建议通过三个不同的维度对其进行分析。
责任
由于个人用户在管理密钥时通常面临种种挑战,分配密钥管理责任自然就成了一种风险缓解策略。这类方法包括使用多个密钥进行协作签名,多重签名(Multi-sig)系统便是一例,以及通过秘密共享方案(SSS)或多方计算(MPC)将私钥分为多个部分。
存储
访问
访问存储的密钥需要进行身份验证。这就需要去验证试图访问的个体是否确实得到了访问密钥的授权。回顾过去,可将访问方式分类如下:
在这些基础上,双因素认证(2FA)和多因素认证(MFA)将至少两个因素结合起来,例如将短信与推送通知结合,加强用户账户的安全。
现有产品分析
MetaMask 允许用户使用密码访问存储在本地浏览器存储空间中的密钥。
Trust Wallet 允许用户使用密码或 faceID 访问存储在用户本地浏览器存储空间中的密钥,用户还可以选择使用云服务备份私钥。
Privy 允许用户使用电子邮件等多种社交登录方法,通过秘密共享方案将密钥分成三个部分:
Particle 允许用户采用社交登录,使用 MPC-TSS,将密钥分为两个部分:
新解决方案
密钥层:WebAuthn、Secure Enclave 和 Passkey
上述现有解决方案在吸引用户关注 Web3 这一方面起到了关键作用。然而,挑战也随之而来:密码可能会被遗忘或成为网络钓鱼攻击的目标,2FA 虽然更安全,但由于涉及多个步骤,用起来还是很麻烦。此外,并不是所有人都愿意委托第三方进行密钥管理,当有些服务阻止用户访问密钥时,用户仍要依赖于系统的可用性和有效性。
这让我们思考是否有更有效的解决方案——一种能够提供近乎无信任、高安全性和无缝用户体验的解决方案。对这种方案的追寻引导我们找到最优的 Web2 方法。正如本文开头所述,有几个术语与该主题密切相关,WebAuthn 是身份验证标准,而 Secure Enclave 和 Passkey 则是与该标准相关的部署或组件。
WebAuthn
WebAuthn 规范了对基于 Web 的应用进行用户身份验证的接口。用户可使用外部验证器而非密码登录互联网账户。验证器可以是漫游认证器(如 Yubikey、Titan key)或平台验证器(如 Apple 设备上的内置钥匙串 (keychain))等。
WebAuthn 背后的技术最初是由 FIDO(Fast IDentity Online)联盟所开发。2019 年 3 月,W3C 正式宣布将 WebAuthn 作为 Web 标准,随着其标准化的发展,各大浏览器如 Google Chrome、Mozilla Firefox、Microsoft Edge 和 Apple Safari 都采用了 WebAuthn,显著扩大了 WebAuthn 的应用范围和可用性。现已得到许多先进设备的支持。
WebAuthn 的优势:
基于设备的 WebAuthn,例如 Secure Enclave
现在,我们可以使用硬件处理器作为身份验证器,例如 Apple 设备的 Secure Enclave、Android 设备的 Trustzone 和 Google Pixel 的 Strongbox。
基于设备的 WebAuthn 的优势:
基于设备的 WebAuthn 的缺点:
基于云的 WebAuthn,Passkey
为解决跨设备功能的挑战,科技巨头推出了基于云的 WebAuthn 部署,Passkey 因为 Apple 而广为人知。
以 Apple 的 Passkey 为例:
基于云的 WebAuthn 的优势:
基于云的 Passkey 的缺点:
账户层:智能合约账户和外部账户
到目前为止,我们可以看到,在解决跨设备和跨平台兼容性的同时保持硬件的安全性是一大挑战。与之同样重要的是社交恢复选项,例如添加多个守护者 (guardian) 以增强安全性。在这种情况下,区块链可以为我们指明一条道路。
智能合约账户本身就是智能合约,作为链上实体,智能合约账户能够指定任意签名者。这种灵活性允许用户对各种设备和平台进行设置,比如将 Android 手机、Macbook 和 iPhone 设置为签名者。此外,模块化智能合约账户支持升级,可交换新的签名者,可将签名阈值从 2/3 更改为更复杂的配置。
想象一下,一个钱包可以根据情况灵活调整其安全需求:当用户在熟悉的本地 IP 地址上时,这个钱包支持单签名者身份验证,但对于来自未知 IP 地址或超过一定值的交易则需要多个签名者。有了模块化和可编程性,只有我们想象不到、没有实现不了的创新。许多智能合约账户服务提供商都在积极构建这一领域,包括 Safe、Zerodev、Biconomy、Etherspots、Rhinestone 等。还要感谢诸如 Stackup、Plimico、Alchemy 之类的基础设施,让这一切成为可能。
请查看我先前的研究,以获取有关智能合约账户更全面的背景信息。
智能合约账户可以通过多方计算服务实现社交恢复和跨设备 / 平台兼容性。尽管智能合约账户具有固定的签名者,但多方计算提供商可以将密钥分割成多个部分,以增强安全性和灵活性。这种方法不具备智能合约账户的可编程和可升级特性,例如时间锁恢复 (timelock recovery) 和轻松停用密钥功能。然而,MPC 不受特定区块链的限制,因此具有卓越的跨链能力,比智能合约账户更具成本效益。著名的多方计算提供商有 Particle Network、Privy、web3 Auth、OKX Wallet、Binance Wallet 等。
签名层:R1 支持
让我们退一步来理解:在以太坊上,私钥是从 k1 曲线中选择的随机数,并且签名过程也利用了这个曲线。
然而,根据 WebAuthn 标准生成的密钥对使用的是 r1 曲线。因此,在以太坊上验证 r1 签名的成本大约是 k1 签名的三倍。以下是针对这一问题的解决方案:
协议解决方案:
第三方服务:
Solidity Verifier 解决方案:
零知识(ZK)验证器:
这些解决方案都可以在以太坊生态中实现更便宜和可行的 r1 签名验证,以下是 Dogan 的评估。
WebAuthn 新案例研究
* 请注意,截至 2023 年 12 月,这些解决方案大多处于早期阶段,可能随时发生变化或改进。这些示例仅供学习目的;请始终参考它们的官方网站获取准确信息。
Clave 钱包:(Secure Enclave WebAuthn)+(智能合约账户)
基本信息:
交易过程:
恢复机制:
Soul 钱包:(Passkey)+(4337 SCA)
基本信息:
交易过程:
恢复机制:
OKX 钱包:(MPC-TSS + Passkey)+(4337 智能合约外部账户)
基本信息:
交易过程:
恢复机制:
Web3 Auth:(MPC-TSS +Passkey)+(外部账户 / 智能合约账户)
基本信息:
交易过程:
恢复机制:
Lit Protocol (MPC-TSS + 去中心化节点 + Passkey) + ( 外部账户 / 智能合约账户 )
基本信息:
交易过程:
恢复机制:
展望
在 Layer 2、Layer 3 和数据可用性 (DA) 解决方案的大力推动下,我们力求改善区块链的性能。同时,我们将零知识证明隐私与透明性相结合,追求真正的安全性。所有的努力都朝着同一个目标:加密技术做好准备应用于用户的日常生活中。
我们很容易困在一个理想的技术梦中,但我们必须问自己:我们追求的是什么样的体验?我们设想的是这样一个世界:在这个世界里,加密货币应该是直观易懂的,而不是令人生畏的技术术语;在这个世界里,用户可以毫不犹豫地跳进兔子洞,不费吹灰之力。
想象一下,有一个名叫 Rui 的用户:她发现了一个很棒的 dApp,可以轻松使用面部识别或指纹进行注册,并可以设置备份或守护者。她可以使用 dApp 轻松执行交易,可能只需支付少量 ERC 20 费用,甚至可能根本不需要任何费用。之后,她可以自定义钱包设置,例如激活自动交易的时间锁,将另一个设备添加为备份签名者,或者修改她的守护者列表。
创业者们正在努力将这一切付诸现实。结合 WebAuthn 和 Passkey,我们增强了私钥管理,使其既安全又方便。在这一基础之上,智能合约账户作为一个实体,打开了个性化安全性和功能性的领域。至于 gas?借助 Paymaster,提供商可以为 swap 交易创建一个「金库」,甚至允许广告商为用户支付费用,因此 gas 也不再是负担了。这一演变的核心,特别是对以太坊主网及其等效的 Layer 2 来说,就是 ERC 4337 。ERC 4337 引入了另一种内存池,将智能合约账户交易与外部账户区分开来,而无需对协议进行重大修改。另一方面,一些 Layer 2 网络甚至原生采用智能合约账户,并将其无缝地集成到系统中。
要使一切变得简单,需要付出巨大的努力。我们还面临着许多挑战,比如降低智能合约账户的部署、验证和执行费用;标准化接口,以增强账户的互操作性;跨链同步账户状态等。感谢所有构建者,每一天,我们都离成功更近一步。我们的公司 SevenX,以及其他加密创业公司,已经准备好,为伟大的公司赋能,帮助它们实现愿景。
致谢:
感谢我最亲爱的朋友们对本文的审阅:
David Sneider, Lit Protocol 联合创始人
Henri Stern, Privy 联合创始人
Zhen, Web3 Auth 联合创始人
Dogan 和 Rafi, Clave 创始成员
Ivo, Ambire 创始人
Itmar, Argent 创始人
Kurt Larsen 和 Konrad, Rhinestone 联合创始人
Pengyu Wang 和 Peter Pan, Particle Network 联合创始人
OKX 钱包团队
David Kim, Trust Wallet 工程主管