不久前某博主在社交平台称,有朋友突发疾病离世导致“私钥都没来得及给家人”,且家人也并不懂得加密货币的私钥、钱包等概念,找回相应的资产基本无望,这个现实案例也暴露了“私钥的保管和紧急处置”等问题有多么重要。
完全去中心化就像一把双刃剑,如果说个人原因导致的私钥遗忘、丢失可以勉强容忍,那像上面类似突发情况下的资产继承(未来无疑会越发突出)等问题,似乎就值得寻找新的解决思路。
这些年来,行业当中也陆续出现了纸钱包、脑钱包、硬件钱包等方案,但本质上都属传统私钥形式,无法根本上解决上述问题,而在此背景下社交恢复钱包(social recovery wallets)的全新概念,似乎提供了一种新的可能性。
其实 V 神早在2014年就开始推广社交恢复机制这个想法,2021 年 1 月 11 日更是专门发表了《Why we need wide adoption of social recovery wallets》(为什么我们需要广泛采用社交恢复钱包)这篇博客文章来进行详细阐述。
而迄今为止,在以太坊网络上创建的大多数帐户都属于 EOA(externally owned accounts)类型,这些账户使用私钥进行保护,通常会为用户转换为12个单词(或24个单词)的“助记词”。
这是加密货币安全性的最显著特征之一,也即“私钥即资产”,每个人对自己的资产负总责。如果用户丢失私钥或助记词,则意味着账户中的资产就会永远丢失,这种“去中心化”的特性保证了绝对安全,同时也丧失了足够的灵活性。
而社交恢复钱包不是一个普通的EOA地址,核心功能都通过智能合约定义并实现,本质上就是在以太坊上创建一个智能合约,其工作原理也主要分为两部分:
只有一个签名密钥可用于批准交易(生成钱包即存在,除非删除钱包或丢失对应设备);
至少有 3 个(或更多)监护人,其中大多数可以配合更改帐户的签名密钥。
也就是说在社交钱包中,完全不存在私钥或助记词的概念,我们普通用户也不用牢记对应的字符并担心丢失、泄露。
正常的情况下,用户可以像普通的钱包一样简单地使用他们的社交恢复钱包,用他们的签名密钥签署消息,这样签署的每一笔交易都可以通过一次确认快速完成,就像在“传统”钱包(如Metamask)中一样。
那意外情况下怎么恢复呢?很简单,如果用户丢失了签名密钥(一般就是删除钱包或丢失包含钱包的设备),那么社交恢复功能就会启动——用户可以直接与监护人联系,要求他们签署一项特殊交易,以将钱包合同中注册的签名公钥更改为新的签名,从而重新恢复钱包。
以 Loopring(路印)的智能钱包为例,它通过智能合约规定了守护人(也即“监护人”概念)机制——守护人是个人选定的可以提供签名的以太坊地址,过半数守护人的共识拥有比钱包主人更大的话语权,并可集体决策钱包的最终归属,譬如钱包回恢复。
理论上来讲,只要过半数守护人可信,那么我们的智能钱包就绝对安全,因为只有守护人过半数审批(指如果钱包拥有N个守护人,交易需要至少N/2+1个守护人核准),才可恢复钱包。
一般情况下官方免费提供一个守护人,它依靠手机发送的验证码来验证身份,其他守护人则可以添加社交钱包的其他用户或任何以太坊地址(包括自己的EOA地址)。
EOA(externally owned accounts)类型的账户在牺牲便利性和灵活性的前提下实现了资产安全保证,但无法应对极端情况下的恢复、传承等场景需求,所以很多时候仅靠私钥、助记词是不够的。
而上面的社交恢复机制则可以解决这些问题,因为它本质上其实就是“多重签名”——每个参与者对接受或拒绝交易的能力都有一些影响,但没有人可以单方面移动资金。
这远比由一个人或密钥单方面控制资金更安全,同时对于目前加密世界的普及发展也有明显的优势,V神在对应的博客文章中就提到社交恢复机制的诞生需求:
没有单一的故障点。可以让攻击者无法通过单点攻击访问资金,同时有足够的反应时间进行冻结;
低脑力消耗。尽可能不要求用户学习陌生的新习惯,也不需要花费脑力去记住某些特定的行为模式;
最大程度地简化交易。大多数正常的活动应该不会比使用普通钱包花费更多的精力(例如:Metamask);
简言之,它不仅足够安全且能够应对钱包恢复、资产传承等需求,更关键的是对用户友好,足够简单,对于加密世界之外庞大的增量用户而言极易理解上手。
毕竟私钥、助记词形式很难实现主流普及,而社交恢复形式早就被微信等采用,接受并无理解难度——微信密码丢了,在通讯录中选择几位好友验证身份即可。
仍以上面提到的 Loopring(路印)的智能钱包为例,如果我设置了3个“守护人”,那么后续如果包含“签名密钥”这个钱包被我误删或是对应的设备丢失,甚至意外情况下个人突然离世,家人想要恢复我的钱包,那就可以通过守护人实现。
譬如目前我的钱包中除了“路印官方守护人”外,还设置了一位至亲和一位朋友,也就是说只需其中2个守护人批准,就能恢复该钱包。
那如果我的手机号码还能使用,“路印官方守护人”可以批准,只用在余下两位亲友中找到任意1人,让他用自己的钱包批准验证交易,就可以实现钱包恢复了。
在这个过程中,我的亲友完全不用涉及私钥、助记词的概念,而仅仅依靠社交机制就可实现恢复,也就是说只用跟亲友报备好意外情况下需要找谁即可,但安全性却并不亚于私钥、助记词。
毕竟至少需设置3个守护人,越多则抗单点风险的能力越强,同时所设置的守护人中可以包含自己的EOA地址(甚至不止一个)从而实现多签的安全效果,与此同时其它守护人设置时也可以不让彼此知道。
其实这种“信任最小化的多签效果”远远比由一个人通过私钥保护钱包更为安全。
目前,已实现社交恢复功能钱包有 Argent 钱包(MYKEY)和 Loopring 智能钱包(守护人)、MYKEY(紧急联系人)等等。
其中 Argent 钱包注册时需要提供手机号和邮箱,用于验证用户身份,在账户管理层面用户无法导出私钥,私钥与设备严格绑定,允许迁移到新设备。
同时Argent 用户设置亲友、硬件钱包或 Argent Guard 作为“guardian”,实现了账户的可恢复——超过半数的 guardian 可以协助用户完成钱包的锁定、解锁和恢复。
而 MYKEY 基于 KEY ID 协议实现允许用户导出管理私钥(恢复码),操作私钥不允许导出,但可同步到新设备,此外MYKEY Lab 默认成为实名用户的紧急联系人,可以协助用户进行恢复账户等操作。
不过这些钱包都存在两大问题:依赖中继器来解决交易、高交易费。最直接的就是由于都是智能合约钱包,在创建和使用的过程中需要调用相对复杂的合约,因此Gas费用往往相比普通钱包更高。
譬如前几个月以太坊Gas费用居高不下时,使用 Loopring 智能钱包等创建一个新钱包就需要动辄数十甚至上百美元。
也正因如此,像 Loopring 智能钱包这样的都致力基于layer 2(比如ZK-Rollup)迁移开发,从而实现超低的手续费且可扩容以太坊。
而 2021 年伴随着加密增量市场的开拓,尤其是 Layer 2 的加速成熟应用,社交恢复钱包能否逐步生根发芽并获得市场的进一步认可,可以持续关注。
作者 | Hebao