解析StarkNet账户抽象:如何彻底改变加密签名?
原文:《》
编译:「StarkNet 中文社区」
淘汰复杂密钥,采用人脸识别。关于帐户抽象的案例研究
一旦可以使用人脸识别等熟悉的方式来签署加密交易,我们能预见自托管的蓬勃发展。众所周知,自行运行管理钱包是最初的加密货币理想,但是想要实现该目标并不轻松,且让大多用户转而投身交易所。
本篇案例研究文章阐述了 Braavos 如何使用 StarkNet 的帐户抽象功能实现更直观的钱包使用方式。
介绍帐户抽象
在 FTX 事件后,中心化交易所 (CEX) 问题掀起轩然大波,为什么人们仍然选择将加密资产交给中心化机构,而不是自己保管?回答是:对多数用户来说自托管很复杂。助记词并非是最优的恢复机制,让许多用户甚至是加密领域老手望而却步。
帐户抽象作为解决方案,能让钱包达到甚至超出 Web2 用户对使用体验的期待,例如,使用人脸识别或双重验证签署交易。它促进了帐户分类和支付限制;最终实现简易帐户恢复并移除全部助记词。这就是对用户页面和用户体验的革新。
StarkNet
StarkNet 是领先级别的有效性证明扩容方案,因为它所包含的几个关键特征,成为最有前景的以太坊扩展解决方案。基于 STARK 证明能在不影响以太坊安全性的前提下降低 gas 费用。采用 STARK 证明的 StarkEx 累计交易量达 8000 亿美元、完成 3 亿笔交易、 NFT 数量超 9 千万。
STARK 证明提供低费用,搭配帐户抽象的强大功能,让 Braavos 实现了开发创新型钱包功能的目标。
背景
包括比特币和以太坊在内的大多数主流区块链,采用的是 secp256k1 椭圆曲线 (Elliptic Curve) 加密签名方案(点击查看综合列表)。这种椭圆曲线实现具备稳健性,多数区块链都采用该方式,并经过了时间检验。但是它无法与移动设备的硬件安全模块(HSM)中可用的加密签名方案兼容,例如,iPhone 和安卓(Pixel 和其他)手机。移动设备采用的是另一种曲线,secp256r1 或称为 NIST-P256。意味着这些区块链用户无法利用他们设备上的安全芯片,而且如果他们想要获得高级别安全性,则必须默认使用硬件钱包。但这严重限制了任何用户体验创新,例如,用户如何登录钱包和批准交易,正因如此助记词才变得普及。
StarkNet 不支持 secp256r1 而是有专属的 STARK 友好型曲线。与其他区块链不同的是,StarkNet 在自身平台上提供原生帐户抽象,为钱包应用打开了用户体验新世界的大门。Braavos 采用这一功能推出了硬件签名器。
硬件签名器
硬件签名器由两个主要部分组成:
用户移动设备上内置的安全子系统
可以运行任意的签名验证逻辑的帐户智能合约,又称帐户抽象
安全子系统
硬件签名器使用用户设备上内置的安全子系统,例如,iPhone 的 Secure Enclave 或安卓手机的 Titan HSM 来保护帐户。
Secure Enclave 及 Titan 芯片是一个专门的、隔离的子系统,与应用处理器完全分离,可以生成私钥并签署信息。它采用内部的真随机数生成器 (True Random Number Generator) 生成密钥,并通过内部公钥加速器 (Public Key Accelerator) 在 NIST-P256 (secp256r1) 椭圆曲线上签署信息。因此,私钥永远不会离开安全系统,甚至不为任何人所知/无法访问,甚至也不为用户或应用程序本身所知。
这也就是说,即使设备的应用程序处理器内核受到威胁,用户密钥也能保证安全!
深入了解 Secure Enclave
在芯片的制造过程中,唯一标识符 (UID) 由 TRNG 生成并存储在 PKA 中。无法被读取也无法离开 PKA,因此,即使是 Secure Enclave 处理器和 Secure Enclave 处理器操作系统(SepOS)也无法得知该 UID。UID 是一个随机数,每个设备上都是唯一的,用于加密在该设备生成的所有其它密钥。运行过程是:应用请求 SepOS 生成新的密钥对,SepOS 将命令 Secure Enclave TRNG 使用 UID 生成加密密钥。然后,应用程序可以向 SepOS 发送请求解密密钥并使用生成的密钥签署信息。在整个过程中,生成的密钥永远不会离开安全系统,也不为任何人所知。
Secure Enclave 构建和运作方式,再加上它是世界各大企业和政府多年未攻破的攻击目标,这就是为什么它的安全性能超越标准的硬件钱包的原因。
帐户抽象
Braavos 作为 StarkNet 上智能合约钱包的强大之处在于它的两大支柱:
- 客户端(如应用程序)让用户可以查看/签署交易并将其发送到链上。
- 链上端有一个可以运行任意逻辑的帐户智能合约;特别是在本例中,运行任意签名验证逻辑。
应用程序使用移动设备安全模块对交易进行签名,然后将其发送到可以验证的链上帐户合约。
如上所述,iPhone 和安卓手机上的安全模块使用 NIST-P256 (secp256r1) 的加密技术,它与包括 StarkNet 在内的任何主流区块链加密方案都不兼容。这就是为什么在链上拥有一个所有交易都经过并可以运行任意逻辑的智能合约帐户,对于在 iPhone 和安卓手机上使用这些 HSM 至关重要。
生物识别
用户如何通过 Braavos 钱包批准交易?恶意应用程序是否可以在未经用户同意的情况下简单地自动签署交易?
不可能的!
移动设备中内置安全模块(例如 Secure Enclave)的妙处在于,它支持用户身份的内在生物特征认证。这意味着即使是签署交易的实际批准也是直接通过 Secure Enclave 来完成的。用户需要通过指纹或人脸识别来进行交易批准,并不通过应用程序。
恢复机制
没人知道私钥,那如果设备丢失或者无法使用该怎么办?用户如何重新获得帐户的控制权?
在 Braavos 中,一个帐户实际上有 2 个公钥:硬件签名器公钥,用于签署所有交易;另一个是从助记词派生的密钥,它只能用于签署「请求删除硬件签名器」这一交易。此请求不会立即执行,而是有 4 天的延迟(可配置),让用户可以使用硬件签名器取消此类请求。这意味着如果设备被盗/丢失/无法使用,用户仍然可以在四天内恢复帐户。但是,如果助记词被盗,并且攻击者发出删除硬件签名器的请求,用户设备会自动(且重复)收到通知,且能够取消请求并保证资产安全。
总结
硬件签名器功能为加密用户提供了最先进的安全级别,以及在 Web2 习惯的用户体验。从该意义上来说,签署交易就像用 Apple 或者 Google 支付一样顺畅、省心。
这只是 StarkNet 基于智能合约钱包(又称帐户抽象)及其支持的新设计空间,其中一个强大功能的突出示例。
可以预见到越来越多的新兴功能推出,带动加密行业发展走向更美好、更具包容性的未来,为新老用户提供无与伦比的安全性和用户体验。