本文详细介绍了ETH的RIP-7212提案及其对账户抽象的影响,特别是在用户身份验证和安全性方面的进展。作者说明了如何利用安全环境及生物识别技术来提升用户体验,并探讨了RIP-7212在预编译合约和Ethereum网络中的应用场景。
发布于 2024 年 3 月 11 日,阅读时间 5 分钟
账户抽象 为以太坊账户引入了一个重要特性,即账户可编程性。这使得开发者能够创建成千上万的新特性,例如设置每日消费限额、使用不同的签名者以及使用任何代币支付费用。在本文中,我们将重点讨论开发者如何通过即将与 RIP-7212(以前称为 EIP-7212)的集成,允许使用生物识别签名者来改善用户体验。
在 EVM 网络中,大多数默认账户是外部拥有账户 (EOA), 拥有权通过椭圆曲线密码学 (ECC) 来证明,这是一个无需信任的方式来证明你拥有某个密钥,并且该消息已用密钥签名而不暴露该密钥。
用户管理资金的当前方式是使用自我保管钱包(即通过将其密钥存储为种子短语)或托管解决方案(即通过相信第三方进行密钥管理)。
与此同时,十几年的 Web2 安全研究 culminated 成为一个经过实战检验的硬件-软件-社交堆栈,用于私钥管理。因此,现代设备拥有安全的硬件元素,旨在保护用户的密钥。然而,它们不支持以太坊当前支持的 secp256k1 椭圆曲线。因此,无法将这些安全最佳实践与 EOA 结合使用。
智能合约账户允许不同的身份验证机制,包括使用与 secp256k1(以太坊唯一的本地曲线)不同的椭圆曲线。使用生物识别签名者等不同的身份验证机制可以改善用户体验并提高安全性。在这一部分中,我们将解释这些安全保 enclave 如何工作,以及它们与智能账户结合时的表现。
几乎所有现代设备在其芯片设计中都纳入了所谓的 受信执行环境 (TEE),这是一个专门设计的先进硬件元素,旨在作为用户最敏感数据的保护屏障。
例如,自 2013 年以来,所有苹果产品均包含一个名为 Secure Enclave 的 TEE。与处理应用程序过程到通知的其他设备部件不同,TEE 是一个与设备的所有其他组件隔离的独立微芯片。这种隔离确保了生物识别信息和加密密钥等敏感数据被保护,免受可能妨碍设备其他部分的潜在威胁。在现代设备上利用 TEE 是存储密钥的最安全方式,有效地将日常设备转变为只能通过生物识别认证访问的硬件钱包。
安全保 enclave 允许用户在 TEE 内创建密钥,并使用这些密钥签署任意消息。这正是我们所需的,可以在线验证这些消息。我们可以创建一个智能账户,其所有者源自存储在 TEE 内的私钥。这些密钥从未离开设备,并且只能由设备所有者访问(得益于生物识别认证)。
约 81% 的黑客相关漏洞涉及使用被盗或弱密码。因此,研究者们一直专注于 WebAuthn 协议,该协议由 FIDO 联盟和 W3C 开发,旨在通过使用公钥密码学提供更安全的密钥管理系统,从而改善安全性和用户体验。迄今为止,WebAuthn 已被 Google、Amazon、Microsoft 和 Coinbase 等大型公司采用用于身份验证,并且更广泛的采用正在迅速增加。
WebAuthn 旨在克服传统密码系统的弱点和不便之处,通过使用特定域的公钥密码学进行用户身份验证。这种方法消除了密码、被遗忘的密码、账户锁定,并减少了常见的安全风险。
Passkey 是 Webauthn 标准的一种实现,并在几乎所有现代设备上工作。当用户注册账户时,操作系统生成与其账户关联的唯一密钥对,该密钥对对应用或网站是独占的。这些密钥使用安全保 enclave 加密,通常采用生物识别认证,并通过 iCloud Keychain 或其他密码管理器在设备之间同步。
在区块链中,passkeys 有很多账户管理的使用案例。要在区块链上使用它,开发者可以将 passkey 的公钥放入智能合约,并用作身份验证方法。
不幸的是,几乎所有安全保 enclave 和 passkeys 都支持 NIST 开发的 secp256r1 (P256) 曲线,而以太坊仅本地支持 secp256k1 曲线。因此,我们必须在链上验证它们以证明对同行的所有权,但我们该怎么做呢?
答案是 RIP-7212。
RIP-7212 是以太坊协议中的核心变化,它打开了一条通过预编译合约以便宜、安全和快速的方式进行 P256 曲线验证的途径。这是第一个被提出并成功被 Layer 2 区块链接受的 滚动改进提案。
预编译合约不是传统意义上的“合约”,而是预定义的本地函数,因为它们在以太坊协议中是本地可用的,因此被称为“预编译”。
预编译合约经过优化,以便在某些操作(例如密码学计算(如 secp256k1 和 secp256r1 的签名验证)或哈希函数)上实现高性能和低 Gas 成本。没有预编译合约,在以太坊虚拟机上执行这些操作将需要更多的代码和显著更多的计算能力,从而导致更高的 Gas 费用。你可以在 evm.codes 网站上查看 以太坊上预编译的列表。
使用 RIP-7212 验证 P256 只需 3450 gas,比最好的非协议更改选项减少了 100 倍。RIP-7212 是可以在 EVM 链上验证 P256 的最具 Gas 效率、安全性和速度的方式。
正如我们之前解释的,使用生物识别签名者(例如 Passkeys 和基于 Secure Enclave 的)仅在我们有办法在链上验证 P256 曲线时才有可能。虽然有几种可用于在链上验证 P256 曲线的选项,但没有一种是便宜的。
验证器 | 创建账户的 Gas 消耗 | 单笔交易的 Gas 消耗 | 证明时间 | 类型 |
---|---|---|---|---|
Obvious 的 Solidity 验证器 | 330k | 330k | 即时 | 智能合约验证器 |
Alembic 的 Solidity 验证器 | 2M | 375k | 即时 | 智能合约验证器 |
FCL 的 Solidity 验证器(无预计算) | 205k | 205k | 即时 | 智能合约验证器 |
FCL 的 Solidity 验证器(有预计算) | 3.2M | 69k | 即时 | 智能合约验证器 |
Risc0 验证器 | 250k | 250k | 几乎即时 | 零知识验证器 |
KnowNothingLab 的验证器 | 520k | 520k | ~4 秒 | 零知识验证器 |
Circom | 230k | 300k | 几乎即时 | 零知识验证器 |
带 EVMMAX 的验证器 | 73k | 73k | 即时 | 核心协议变更 |
EIP-7212 针对 P256 的预编译合约 | 3450 | 3450 | 即时 | 核心协议变更 |
RIP-7212 规范已最终确定,部分团队(Kakarot、Polygon、Optimism、zkSync 和 Arbitrum)已承诺将该预编译版 integriert 到他们的 Rollup 生态系统中。Polygon 最近将 RIP-7212 提交至其测试网络,开发者们开始进行测试。
RIP-7212 的使用场景并不限于智能账户。RIP-7212 也可用于验证受信执行环境的远程证明,已被用于去中心化块生成(SUAVE)、Rollups 的 2FA(Taiko 和 Scroll)等多种应用场景!
一旦 RIP-7212 上线,下一步就是让开发者尽可能轻松地使用它来改善其终端用户体验。将新代码集成到智能账户中是一个高摩擦、高风险的工作,即使像 RIP-7212 提供的高度简化流程仍然需要仔细构建、测试和审计。
这就是 ERC-6900 的用武之地。
ERC-6900:模块化智能合约账户和插件 是一个 EVM 标准,旨在使开发者能够将逻辑部分作为插件捕获,供其他任何账户开发者使用。开发者可以依赖已实战检验的插件来提升其用户体验,而无需 自己构建插件。
结合 RIP-7212 和 ERC-6900 结果形成一个简单的账户插件,用于高效的 P256 校验,从而为用户提供便宜、安全的生物识别认证,开发者的开销最小。我们期待在支持的 rollups 上发布这个插件,随着 RIP-7212 在主网的采用加速。
- 原文链接: alchemy.com/blog/what-is...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!