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