为什么我们需要广泛采用社会恢复钱包

2021-01-11 11:30:07

使加密货币和区块链应用程序对普通用户可用的最大挑战之一是安全性:我们如何防止用户资金丢失或被盗?丢失和盗窃是一个严重的问题,通常使无辜的区块链用户损失数千美元,甚至在某些情况下甚至浪费了他们全部净资产的大部分。

多年来,提出了许多解决方案:纸钱包,硬件钱包和我自己的一次性收藏:multisig钱包。实际上,它们已导致安全性的显着改善。但是,这些解决方案都存在各种缺陷-有时提供的防盗和防丢保护远远少于实际需要,有时笨拙且难以使用,导致采用率极低,有时两者兼而有之。但是最近,出现了一个更好的替代方案:一种称为社交恢复钱包的新型智能合约钱包。与以前的选件相比,这些钱包可以提供更高的安全性和更好的可用性,但是要轻松且广泛地部署它们,还有一段路要走。这篇文章将介绍什么是社会恢复钱包,为什么重要,以及我们如何并且应该如何在整个生态系统中更广泛地采用它们。

几乎从一开始,钱包安全性问题就一直困扰着区块链生态系统。甚至在2011年,当时比特币几乎是当时唯一的加密货币,加密货币的损失和盗窃猖ramp。确实,在以太坊之前作为比特币杂志的联合创始人和作家,我写了整篇文章,详细介绍了当时已经发生的骇客,损失和盗窃的恐怖。

昨晚PDT晚上9点左右,我单击了一个链接以转到CoinChat [。] freetzi [。] com –并被提示运行Java。我做到了(认为这是一个合法的聊天室),但是什么也没发生。我关上窗户,什么也没想到。大约14分钟后,我打开了我的bitcoin-qt钱包,发现一笔几乎不给我整个钱包的交易都批准了到钱包1Es3QVvKN1qA2p6me7jLCVMZpQXVXWPNTC。

此人的损失为2.07 BTC,当时价值$ 300,今天已超过$ 70000。这是另一个:

2011年6月,Bitcointalk会员" allinvain"在一个未知的入侵者以某种方式直接访问他的计算机后,他损失了25,000 BTC(当时价值500,000美元)。攻击者能够访问allinvain的wallet.dat文件,并通过从allinvain的计算机本身发送交易,或简单地上载wallet.dat文件并将其清空来快速清空钱包。他自己的机器。

以目前的价值计算,这意味着将近十亿美元的损失。但是,盗窃并不是唯一的问题。丢失私钥也有损失。这是Stefan Thomas:

比特币开发商斯特凡·托马斯(Stefan Thomas)的钱包有三个备份–一个加密的USB记忆棒,一个Dropbox帐户和一个Virtualbox虚拟机。但是,他设法擦除了其中两个,而忘记了第三个密码,从而永远失去了7,000 BTC(当时价值125,000美元)的访问权限。托马斯(Thomas)的反应:从那以后,我一直致力于创造更好的客户。

一项对比特币生态系统的分析表明,每天可能丢失1500个BTC,这是比特币用户交易费用支出的十倍以上,并且这些年来累计多达总供应量的20%。故事和数字都指向相同的不可避免的事实:钱包安全问题的重要性是巨大的,不应低估它。

很容易看出为什么钱包安全性容易被低估的社会和心理原因:人们自然而然地担心,在总是有判断力的公众面前显得粗心大意或愚蠢,因此许多人保持自己的经验,将自己的资金被黑客窃取。 。资金损失甚至更糟,因为普遍(虽然我认为这是非常不正确的)感觉到,没有人应该责怪,只有你自己。但是现实是,包括区块链在内的数字技术的全部要点是使人们更轻松地从事非常复杂的任务,而无需付出极大的脑力劳动或不断地犯错误。唯一能解决损失和盗窃的生态系统是12个步骤的教程,不太安全的对策和不太偶然的半讽刺的组合-对您的损失感到抱歉"很难被广泛采用。

因此,在不要求所有加密货币用户将个人安全变成全职爱好的情况下,减少损失和盗窃的数量的解决方案对行业来说非常有价值。

硬件钱包经常被吹捧为加密货币资金管理的最佳技术。硬件钱包是一种专用硬件设备,可以连接到您的计算机或电话(例如,通过USB),并且包含专用芯片,该芯片只能生成私钥和签署交易。交易将在您的计算机或电话上启动,必须​​在硬件钱包中确认后才能发送。私钥保留在您的硬件钱包中,因此,侵入您的计算机或电话的攻击者无法耗尽资金。

硬件钱包是一个重大的改进,它们肯定可以保护Java聊天室的受害者,但并不完美。我看到了硬件钱包的两个主要问题:

供应链攻击:如果您购买硬件钱包,那么您会信任许多参与生产钱包的参与者-设计钱包的公司,生产钱包的工厂以及所有可能将其替换为钱包的参与运输的人假的。硬件钱包可能会吸引此类攻击:资金被盗与被盗设备数量之比非常高。值得称赞的是,诸如Ledger之类的硬件钱包制造商已经采取了许多保护措施来防范这些风险,但是仍然存在一些风险。从根本上说,硬件设备不能像开源软件那样进行审计。

仍然是单点故障:如果有人在站在您的肩膀后抓住您输入PIN后立即偷走了您的硬件钱包,他们就可以窃取您的资金。如果您丢失了硬件钱包,那么您将损失您的资金-除非硬件钱包在设置时生成并输出备份,但是正如我们将看到的那样,它们都有自己的问题...

许多钱包,无论是硬件还是软件,都具有设置过程,在此过程中,它们输出助记词短语,该短语是人们对钱包根私人密钥的12到24字编码。助记词短语如下:

投票舞蹈类型主题山谷秋季使用丝绸作文午餐认可月球明显种族丝带键已经箭头使戏剧敏锐的调查课程残酷

如果您丢失了钱包但拥有助记词,则可以在设置新的钱包以恢复帐户时输入该词,因为助记词包含根密钥,可以从中生成所有其他密钥。

助记词短语有助于防止丢失,但对于防盗并没有任何作用。更糟糕的是,它们增加了一个新的盗窃媒介:如果您具有标准的硬件钱包+助记符备份组合,那么盗用您的硬件钱包+ PIN或助记符备份的某人可以窃取您的资金。此外,保持助记词短语而不是不小心将其丢弃本身本身就是一项不费吹灰之力。

如果将短语分成两半并给朋友一半,可以减轻盗窃的问题,但是(i)几乎没有人真正推广这种行为,(ii)存在安全问题,就像短语简短(128位)一样然后,一个精巧且积极进取的攻击者可以窃取一件东西,可以通过所有\(2 ^ {64} \)可能的组合进行暴力破解以找到另一种组合,并且(iii)进一步增加了精神负担。

没有单一的故障点:没有单一的事物(理想情况下,没有一起运送的事物的集合),如果被盗,攻击者可以使用您的资金,或者如果丢失,则可以拒绝您使用您的资金。

低的心理负担:尽可能不应该要求用户学习陌生的新习惯或付出精神努力以始终记住遵循某些行为模式。

交易的最大程度的便利:大多数常规活动所需要的精力不应比常规钱包多得多(例如,状态,Metamask ...)

早在2013年,解决这些问题的最佳技术就是multisig。您可能有一个带有三个钥匙的钱包,在其中需要任何两个钥匙才能发送交易。

这项技术最初是在比特币生态系统内开发的,但是以太坊现在也拥有出色的多重签名钱包(例如,参见Gnosis Safe)。 Multisig钱包在组织内部非常成功:以太坊基金会使用以7比4的multisig钱包来存储其资金,以太坊生态系统中的许多其他组织也是如此。

对于一个多签名钱包来说,要为一个人持有资金,主要的挑战是:谁持有资金以及如何批准交易?最常见的公式是"由您(例如笔记本电脑和电话)持有的两个易于访问但分开的密钥,以及第三个更安全但无法访问的备份(离线或由朋友或机构持有)的变体, #34;。

这是相当安全的:没有任何一个设备会丢失或被盗,从而导致您无法使用资金。但是安全性远非完美无缺:如果您可以窃取某人的笔记本电脑,通常也并不难窃取他们的手机。可用性也是一个挑战,因为每个交易现在都需要使用两个设备进行两次确认。

这使我们进入了保护钱包的首选方法:社会恢复。社会恢复系统的工作原理如下:

至少有3名(或更多)监护人,其中大多数可以配合更改帐户的签名密钥。

签名密钥具有添加或删除监护人的功能,尽管仅在延迟(通常1-3天)之后才可以。

在所有正常情况下,用户都可以像普通钱包一样简单地使用其社会恢复钱包,并使用其签名密钥对消息进行签名,从而使每个已签名的交易都可以通过一次确认点击快速完成,就像在传统情况下一样。 34;像Metamask这样的钱包。

如果用户丢失了签名密钥,那么社交恢复功能就会启动。用户可以直接与监护人联系,要求他们签署一项特殊交易,以将钱包合同中注册的签名公钥更改为新的签名。 。这很容易:他们可以简单地转到诸如security.loopring.io之类的网页,登录,查看恢复请求并对其进行签名。对于每个监护人而言,这与进行Uniswap交易一样容易。

有许多可能的选择供您选择作为监护人。三种最常见的选择是:

机构会在收到您的电话号码或电子邮件确认后签署恢复消息,或者在高价值的情况下通过视频通话来验证您的身份

监护人很容易添加:您只需输入他们的ENS名称或ETH地址即可添加监护人,尽管大多数社交恢复钱包都要求监护人在恢复网页上签署交易以同意添加。在任何设计合理的社会恢复钱包中,监护人无需下载和使用同一钱包;他们可以简单地使用现有的以太坊钱包,无论哪种钱包。鉴于添加监护人的便利性很高,如果您很幸运您的社交圈已经由以太坊用户组成,我个人更希望监护人数量多(最好是7个以上),以提高安全性。如果您已经有了一个钱包,那么就不需要监护人不断努力:您可以通过现有的钱包进行任何恢复操作。如果您不认识许多其他活跃的以太坊用户,那么最好相信数量较少的监护人。

为了减少攻击监护人和串通的风险,不必公开了解您的监护人:实际上,他们不需要知道彼此的身份。这可以通过两种方式来完成。首先,代替监护人地址直接存储在链上,地址列表的哈希可以存储在链上,并且钱包所有者只需要在恢复时发布完整列表即可。其次,可以要求每个监护人确定性地生成一个新的单一目的地址,以用于特定的恢复。除非实际需要恢复,否则他们实际上不需要发送任何具有该地址的交易。为了补充这些技术保护,建议选择来自不同社会圈子的各种各样的监护人(理想情况下包括一个机构监护人);这些建议一起使监护人很难同时受到攻击或串通。

如果您死亡或永久丧失工作能力,这将是一项社会认可的标准协议,监护人可以公开宣布自己,以便在这种情况下,他们可以找到彼此并追回您的资金。

对于使用任何形式的多重签名,社会恢复或其他形式的建议的一种常见回应是该解决方案可以追溯到“信任人民”的想法,也是对区块链和加密货币行业价值的背叛。 。虽然我理解了为什么人们乍看之下会想到这一点,但我还是认为,这种批评源于对加密技术的基本误解。

对我而言,加密货币的目标绝不是消除对所有人的信任。相反,加密的目的是使人们能够使用加密和经济构建块,从而使人们有更多选择信任的对象,并进一步使人们建立更多受限的信任形式:赋予某人代表您做某事的权力没有赋予他们做任何事情的权力。从这种角度来看,多重签名和社会恢复是这一原则的完美表达:每个参与者对接受或拒绝交易的能力都有一定的影响,但是没有人可以单方面转移资金。与必须由一个人或钥匙单方面控制资金的情况相比,这种更复杂的逻辑可以使设置安全得多。

这个基本的想法(应该谨慎地使用人的输入而不是直接丢掉它)是有效的,因为它可以很好地与人脑的优缺点相适应。人脑非常不适合记住密码和跟踪纸钱包,但是它是用于跟踪与其他人的关系的ASIC。对于技术含量较低的用户而言,这种效果甚至更强:他们可能更难使用钱包和密码,但是他们擅长处理诸如选择7个人的社交任务,而这些人全都不帮我34;。如果我们可以从人类输入中至少提取一些信息到一种机制中,而又不将这些输入变成攻击和利用的载体,那么我们应该弄清楚如何做到。社会恢复非常强劲:要让一个有7个监护人的钱包受到损害,这7个监护人中的4个将需要以某种方式相互发现并同意窃取资金,而其中的任何一个都不会给所有者带来小费:当然,这是一个艰巨的挑战而不是攻击纯粹由一个人保护的钱包。

上面说明的社会恢复涉及您丢掉钱包的风险。但是仍然存在您的签名密钥被盗的风险:有人在您已经登录并击中您时砸入您的计算机,在您身后潜行,甚至只是使用一些用户界面故障来欺骗您签署您不打算签署的交易。

我们可以通过添加保管库来扩展社会恢复能力以处理此类问题。每个社会恢复钱包都可以附带一个自动生成的保管库。只需将资产发送到保管库地址即可将其移至保管库,但只能将其移出保管库,但要延迟1周。在该延迟期间,签名密钥(或扩展为监护人)可以取消交易。如果需要,还可以对库进行编程,以便可以立即进行一些有限的财务操作(例如,白名单令牌之间的Uniswap交易)。

当前,已实现社会恢复的两个主要钱包是Argent钱包和Loopring钱包:

Argent钱包是第一款,也是最受欢迎的“智能合约钱包”。目前正在使用,社会恢复是其主要卖点之一。 Argent钱包包含一个界面,可通过该界面添加和删除监护人:

为了防止盗窃,钱包有每日限额:达到该金额的交易是即时的,但超过该金额的交易需要监护人批准才能完成提款。

Loopring钱包最出名的是由Loopring协议(当然是ZK汇总付款和去中心化交易)的开发人员构建的(当然也包括对它的支持)。但是Loopring钱包还具有社交恢复功能,该功能与Argent中的功能非常相似。在这两种情况下,钱包公司都免费提供一位监护人,该监护人依靠手机发送的确认码来对您进行身份验证。对于其他监护人,您可以通过提供其以太坊地址来添加同一钱包的其他用户或任何以太坊用户。

在这两种情况下,用户体验都非常流畅。有两个主要挑战。首先,两种情况下的平滑度都取决于中央的“ relayer”。由钱包制造商运行,该钱包制造商将已签名的消息重新发布为交易。第二,费用高。幸运的是,这两个问题都是可以克服的。

如上所述,存在两个主要挑战:(i)依赖中继器来解决交易,以及(ii)高交易费。在以太坊应用中,第一个挑战是对中继器的依赖,这是一个日益普遍的问题。出现此问题是因为以太坊中有两种类型的帐户:由单个私钥控制的外部拥有帐户(EOA)和合同。在以太坊中,有一个规则,即每笔交易都必须从EOA开始。最初的意图是EOA代表" users"和合同代表“应用程序”,并且仅当用户与应用程序对话时,该应用程序才能运行。如果我们想要具有更复杂政策(如多重签名和社会恢复)的钱包,则需要使用合同来代表用户。但这带来了一个挑战:如果您的资金处于合同中,则您需要拥有其他一些具有ETH的帐户,才能开始每笔交易,并且它还需要大量的ETH,以防万一交易费用变得很高。

Argent和Loopring通过亲自运行" relayer"来解决此问题。中继器监听链下数字签名的消息。由用户提交,并将这些消息包装在事务中并发布为链接。但是从长远来看,这是一个糟糕的解决方案。它增加了集中化的额外点。如果中继器关闭并且用户确实需要发送交易,则他们始终可以从自己的EOA发送,但是仍然需要在集中化和不便之间引入新的权衡。人们在不集中的情况下努力解决这个问题并获得便利。主要的两类围绕建立通用的分散式中继网络或修改以太坊协议本身以允许转

......