Vitalik 最新观点:如何为多签钱包和社交恢复钱包选择守护者?
2023-03-17 16:40
Vitalik Buterin
2023-03-17 16:40
订阅此专栏
收藏此文章
安全使用多签名钱包和社交恢复钱包的两个关键问题是:你选择谁作为守护者,以及你给他们什么指示? 


原文标题:《How I think about choosing guardians for sig and social recovery wallets

撰文:Vitalik Buterin

编译:倩雯,ChainCatcher

 

多重签名钱包(如 Gnosis Safe)是一种简单安全的资金存储方式,让你可以享受到自托管的大部分好处——当表面看起来值得信赖的中心化实体变得不可信赖时,你的资金也不会不翼而飞。但同时你又不需承担对整个安全设置进行负责的风险。我个人使用多签钱包来存储我的大部分资金,以太坊基金会也是如此。


另外一个类似多重签名钱包的是社交恢复钱包——单一的密钥可用于签署交易,但如果该密钥丢失,可使用其他人持有的一组密钥来恢复资金。社交恢复钱包比多签钱包更容易使用,特别是 ERC-4337 账户抽象兴起,灵魂钱包( Soul Wallet)即将问世,将使该技术变得更加人性化。一旦社会恢复钱包变发展得足够成熟,我的建议是将社会恢复热钱包,储存个人或组织的一小部分资金;将多签用于冷钱包,储存个人或组织的储蓄。


多重签名钱包和社交恢复钱包都依赖于「守护者」(guardian)的概念:一组 N 个地址,通常由其他人持有,其中任何 M 个地址可以批准一个操作(例如,可以设置 N=6 和 M=4)。在多签名钱包的情况下,每笔交易必须由 N 个守护者中的 M 个人签字。在社交恢复钱包的情况下,单一的密钥可以签署交易,但如果该密钥丢失,N 个守护者中的 M 个人必须签署信息来重置密钥。


安全使用多签名钱包和社交恢复钱包的两个关键问题是:(i) 你选择谁作为守护者,以及 (ii) 你给他们什么指示?这篇文章将概述我是如何思考这个问题的,其中大部分观点应该也同样适用于被用于保障个人和组织资金的多签和社交恢复钱包。


我们想从守护者那里得到什么?


  • 最大限度地降低其丢失密钥的概率。
  • 最大限度地降低其串通起来偷走你的资金或被胁迫这样做的概率。
  • 在上述两种风险已不可避免的情况下,每个守护者的风险应是最大限度不相关的——你想尽量减少其的共同点,因为这种共同风险可能会导致风险,使你的许多守护者同时失去能力或受到影响。


这个问题的答案很简单,但它指导了我在守护者方面的所有选择:


守护者可以是你自己的设备,但不要让过多的设备成为你的守护者。


首先至少有一个守护者会是你自己设备上的钱包,这是很正常的,毕竟这是你自己的资金,不存在会影响去中心化的道理。然而,一旦你拥有一个以上受自己控制的守护者,你就会面临一个棘手的难题:你对他人的信任降低,也将更多的权力集中在自己身上,如果你被黑客攻击、被胁迫、丧失能力或死亡,这可能会产生风险。


我的经验是,应该有足够的守护者受到他人控制。如果你消失了,还有其他足够的守护者可以收回你的资金。也就是说,你应该至少控制一名守护者,最多控制 N-M 名守护者。另外,每个守护者应该在一个单独的设备上(笔记本电脑、手机、旧手机等)。


选择不经常交谈的守护者,或者最好是不认识的守护者。


理想情况下,守护者应该不知道对方是谁。这大大降低了他们合谋的风险,此外,他们也没有充分的理由去了解对方。如果你发生了什么事,他们仍然能够找到对方,因为在这种情况下,人们自然会想到一些明显的标准流程(例如,联系你的家人)。


另外,你要尽可能地减少守护者之间的关联性:不要选择两个住在同一个城市(甚至最好是同一个国家)的守护者,或者两个使用同一类型钱包的守护者,并在不同的操作系统之间进行平衡。


守护者在批准一项操作前应先提出一个密保问题:


当你要求守护者为你批准一项操作(在多签中,指的是交易;在社会恢复钱包中,指的是重设你的账户密钥),他们不应该立马开始操作。这对安全来说是一场灾难:如果有人黑进你的聊天账户,他们可以扫描你的信息,找出你的守护者是谁,联系他们每个人并要求他们确认,从而盗走你的资金。


为避免这种情况,我首选的流程是指示守护者提出密保问题。当你要求确认你的操作时,守护者应该问你一些只有你们两个人和极少数人知道的事情(例如,「我们上次见面时,我们吃了什么食物?」),只有在你给出正确答案时才确认操作。


一个很自然的选择是语音或视频通话,但在人工智能已擅长于造假的时代,这种方式不再那么可信,所以你可能想把语音 / 视频通话与询问某种密保问题结合起来。


如果你是「Degen 老手」,确保你的守护者能够快速反应。否则,你不必提出这种要求。


如果你用链上合同从事的事情风险较高,你可能需要快速行动:如果合同有漏洞,就把资金抽出来。如果你马上要被清算,就把钱转移出去,等等。如果你有这些需求,那么你要找到能在短时间内迅速行动的守护者(因此也要找到不同时区的守护者,以便有足够的守护者在任何时候都能完成交易)来保护你的资金。然而,如果你不做这类事情,那么速度就不是特别重要,事实上甚至可能是有些有害的,因为说服人们紧急行动是黑客常用的社会工程策略,如果人们厌恶这种精神,那可能反而是一种好事。


每年至少对每个守护者进行一次测试


每年至少做一次测试操作。理想情况下,每年做两次测试操作,一次使用一半的守护者,另一次使用另一半的守护者。这可以确保你的守护者没有忘记或丢失他们的账户。


更进阶的问题:隐私


守护者的挑战之一是,目前还没有技术可以使你的财务隐私不受守护者的影响。然而,这是一个可以从技术上解决的技术问题:守护者不是直接守护你的账户,而是守护一个「保险箱」合同,你的账户和保险箱之间的链接被隐藏起来。


在需要恢复之前,使链接保持隐藏是非常容易的:例如,你的账户可以有一个守护者 CREATE2 合同,只有保险箱可以创建。不过,若想要链接在恢复后保持隐藏状态,需要更先进的 ZK-SNARK 技术。我预计这个问题将在未来几年内慢慢得到解决。

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

相关Wiki
Vitalik Buterin
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开