钱包开发商 Clave 推出了通用恢复的概念验证 (SoC):利用传统信箱的验证机制搭配链上的协议,打造能同时保护用户隐私又安全的社交恢复私钥功能,提升 Web3 使用者体验中最重要的环节 — 私钥管理。
私钥管理是使用者体验关键
Web3 建立在金钥对加密技术之上
Web3 利用加密技术与金钥对,消除了中间者,将责任转移回到使用者身上。虽然具有创新性,但也因此带来了许多重大挑战,特别是使用者体验不良的问题。
使用者通常缺乏正确储存密钥的知识,~~且现代设备储存密钥的安全性上不足,~~导致现有现有 Web3 使用学习门槛高,实际上安全性却也因为私钥遗失的风险而降低。
Web3 生态需要使用者体验更友善且更安全的私钥管理解决方案。
社会恢复优化私钥管理
如果使用者遗失了帐户,将失去对其资产的存取权,因此恢复机制非常重要,可增强安全性同时提升用户体验。现有主流的恢复机制之一即为社交恢复 (Social Recovery)。
社交复原机制需要使用者指定受信任的个人作为帐户恢复的保护者 (guardians),当使用者遗失私钥时,可以向保护者寻求私钥碎片,最终取得完整的私钥 (只有使用者知道该向谁拿取)。
借此可以提升一般私钥管理的使用者体验,也可强化用户资产的安全性。
社交恢复困难点是保护者需要拥有钱包
不过现有的社交恢复功能有个限制,需要保护者拥有区块链钱包才可以运作,这项限制代表无法将此机制推广至更大的用户基础。
而 Clave 团队为此问题打造通用恢复 (Universal Recovery) 功能。目标是让任何网络使用者都能成为链上帐户的保护者,即使他们自己没有区块链钱包。
通用恢复机制介绍
考虑到超过 40 亿人拥有至少一个电子邮件地址,利用电子邮件创建一个链上钱包将可以彻底改变社交恢复系统,团队将之称为通用恢复,原理是授权特定电子邮件启动复原流程。
Clave 团队基于 EIP-4337 标准的复原机制开发了通用恢复的概念验证。该实做让用户能够指定拥有电子邮件地址的任何朋友作为保护者,扩大了 Clave 钱包中帐户恢复选项的范围。
传统邮件验证方式:DKIM
传统电子邮件协议使用域名金钥辨识邮件 (DomainKeys Identified Mail, DKIM) 的方法来保证资料完整性。DKIM 采用 RSA 金钥对,与 Web3 金钥演算法相似但又不同。
电子邮件寄件者的伺服器使用私钥为每封电子邮件产生唯一的数位签名,然后将其附加到电子邮件的标头。
收件者的伺服器使用 DNS 记录中提供的寄件者的公钥来验证签名,若公钥可以成功验证签名,则可确认电子邮件的真实性和安全性。
为了实现上述机制,每封电子邮件都有附带这三样东西 (其时会发现这就跟区块链的签名机制是类似的):
- 讯息:信件内容本身
- 签名:利用私钥、讯息、签名函数产生
- 公钥:让接收者验证签名
将验证机制搬到区块链上
如果今天可以在链上而非接受者的信箱伺服器上验证这个流程,那么就可以确保在保护人的意图下触发私钥恢复的合约,以达到利用信箱提供恢复私钥的功能。
但直接在链上验证 DKIM 会破坏隐私,因为每封电子邮件都包含签名、讯息、公钥和寄件者地址;另一方面,区块链本身并不支援 RSA 签名,验证签名的成本也可能很高。
因此 Clave 团队需要其他方式,而最后选择使用零知识证明来解决上述问题。
ZKEmail 利用零知识证明保护隐私
透过链上的 ZKEmail 协议,协助验证上述 DKIM 机制,借由创建零知识证明向链上证明讯息源自于特定电子邮件地址,并直接连结到该电子邮件的链上地址,简化基于电子邮件与区块链技术整合的过程,同时确保了隐私和效率。
以下是 ZKEmail 协议云做流程概述:
- 使用者使用他们的电子邮件地址签署讯息。
- 已签署的讯息、签名、公钥被发送给证明者。
- 证明者验证电子邮件的 DKIM 签名,然后根据该资料产生零知识证明。
- 该零知识证明在区块链上被进行验证,建立基于电子邮件的链上帐户身份以供使用。
此实做的证明验证需要消耗大量燃料费,不过幸运的是 ZK Email 的使用主要是为了恢复私钥为目的。因此仅在恢复时才需要使用,成本实际上对于用户的使用并没有造成显著影响。