以太坊创始人 Vitalik Buterin 发布博文章提倡加密货币行业应采用一种社交恢复型钱包(social recovery wallets),这种新型智能合约钱包可更好的提升加密货币的安全保护。
社交恢复型钱包工作原理主要有两部分,第一,只有一个签名密钥可用于批准交易;第二,至少有 3 个(或更多)监护人,其中大多数可以配合更改帐户的签名密钥。如果用户丢失了签名密钥,那么社交恢复功能就会启动。用户可以直接与监护人联系,要求他们签署一项特殊交易,以将钱包合同中注册的签名公钥更改为新的签名。目前,已实现社交恢复功能的两个主要钱包是 Argent 钱包和 Loopring 钱包。不过,这两个钱包都存在两大问题,分别是依赖中继器来解决交易,以及高交易费,但可以通过将生态系统移至第 2 层协议解决,例如 ZK rollups。
1,硬件钱包并不完美
硬件钱包通常被吹捧为管理加密货币资金的最佳技术,硬件钱包是一种专门的硬件设备,其可以连接到你的计算机或手机(例如通过 USB),它包含了一个专门的只能生成私钥和签署交易的芯片。交易将在你的计算机或手机上启动,必须在硬件钱包上确认后才能发送。私钥会留在你的硬件钱包里,因此入侵你的电脑或手机的攻击者,无法盗走你的资金。
硬件钱包是一种显著的改进,它们当然可以保护 Java 聊天室受害者,但它们并不完美,我发现硬件钱包存在两个主要问题:
1)供应链攻击:如果你购买了一个硬件钱包,你就相信了生产它的许多参与者(包括设计钱包的公司、生产钱包的工厂,以及所有参与运输钱包的人),这些参与者可以用赝品来代替钱包。硬件钱包可能是此类攻击的磁石:被盗资金与存在问题的设备数量的比率非常高。值得称道的是,Ledger 等硬件钱包商已经采取了很多措施来防范这些风险,但仍然存在一些风险。从根本上讲,硬件设备不能像开源软件那样被审计。
2)仍然存在单点失败风险:如果有人偷了你的硬件钱包,并获取了你的 PIN 密码,那他们就可以窃取你的资金。如果你失去了你的硬件钱包,那么你就失去了你的资金。除非硬件钱包在设置时生成并输出一个备份,但我们会看到,这些措施都存在着自己的问题……
2,助记词不够友好
无论是硬件钱包还是软件钱包都有一个设置过程,在这个过程中,它们会输出一个助记词短语,这是钱包根私钥的一种人类可读的 12 个单词或 24 个单词的短语。
如果丢失了钱包,但有助记词的话,可以在设置新钱包以恢复你的账户时输入这些助记词,由于助记词短语包含根密钥,因此可以从中生成所有其他密钥。
助记词短语有助于防止丢失,但对于防盗窃而言却无能为力。更糟糕的是,它们为盗窃增加了一个新的载体:如果有标准的硬件钱包+助记词备份组合,那么有人偷了硬件钱包+密码或助记词备份,就可以窃取资金。
社交恢复系统的工作原理如下:
只有一个签名密钥可用于批准交易;
有一组(至少 3 个或更多)的守护人,其中多数人就可合作更改帐户的签名密钥。
签名密钥可以添加或删除守护人,但会有一个延迟期(通常是 1-3 天)。
在所有正常情况下,用户只需像普通钱包一样使用他们的社交恢复钱包,使用他们的签名密钥对消息进行签名,这样每笔签名的交易都可以通过一次确认点击完成,就像在「传统」的钱包那样(例如 Metamask)。
如果用户丢失了他们的签名密钥,那么社交恢复功能就会启动。用户只需联系他们的守护人,让他们签署一项特殊交易,将钱包合约中注册的签名公钥更改为新的。这很简单:他们可以简单地去访问一个页面,例如 security.loopring.io,登录,查看恢复请求并签名。对于每一个守护人来说,操作就像进行一笔 Uniswap 交易一样容易。
对于选谁作为守护人,有很多种可能的选择。最常见的三种选择是:1,钱包持有者自己拥有的其他设备(或纸质助记词);2,朋友和家人;3,机构,如果他们得到了你的电话号码或电子邮件的确认,或者在价值很高的情况下,通过视频电话亲自核实你的身份,机构就会签署一条恢复信息;
目前,实施社交恢复功能的两大主要钱包有 Argent 钱包和 Loopring 钱包:
为了防止被盗,钱包有一个每日限额:达到该金额的交易是即时的,而超过该金额的交易,需要守护人批准才能最终取款。
Argent 钱包是首个,也是目前最流行的智能合约钱包,而社交恢复是其主要卖点之一。
而 Loopring 钱包是由 Loopring 协议(这是一个用于支付和去中心化交易的 ZK Rollup 协议)的开发者构建的。Loopring 钱包也有一个社交恢复功能,其工作原理与 Argent 非常相似。在这两种情况下,钱包公司都免费提供了一名守护人,这依赖于手机发送的确认码来验证你的身份。对于其他守护人,你可以添加同一钱包的其他用户,或通过提供其以太坊地址添加任何以太坊用户。
这两个钱包的用户体验都出奇地流畅。但它们存在着两个主要挑战,首先,两个钱包的平稳性都依赖于钱包商运行的「中继器」(relayer),它将签名消息作为交易重新发布。第二,费用是很高的。幸运的是,这两个问题都是可以克服的。