对于普通用户来说,加密货币和区块链应用的**挑战之一无疑是安全性:我们如何防止用户丢失或窃取资金?丢失和被盗是不可忽视的问题,导致无辜的区块链用户损失数千美元,甚至在某些情况下损失了大部分净资产。
多年来,人们提出了许多解决方案:纸质钱包、硬件钱包和多重签名钱包(我个人曾经的**)。事实上,这些方案确实大大提高了安全性,但都存在着各种缺陷:防盗和防丢失保护功能可能远远低于实际需要,或者操作不便导致采用率极低。但最近出现了一种更好的替代方案:一种新的智能合约钱包,称为社交恢复钱包。与以前的选择相比,这种钱包可以提供更高的安全性和更好的可用性,但它离简单和广泛的部署还有很长的路要走。本文将介绍什么是社会恢复钱包,它们的重要性是什么,以及我们应该如何在整个生态系统中更广泛地采用它们。
钱包安全是个大问题
可以说,自区块链产业诞生以来,钱包安全就一直困扰着生态系统。2011年,比特币几乎是当时唯一的加密货币,经常丢失和被盗。在以太坊成立之前,作为比特币杂志的联合创始人和作者,我写了一篇文章,详细描述了当时加密货币的攻击、损失和**。
这是一个例子:
昨晚太平洋时间晚上9点左右,我点击了一个连接进入coinchat[.]freetzi[.]com,并被提示运行Java。我做了(我以为这是一个正常的聊天室),然后什么也没发生。我关上窗户,没多想。大约14分钟后,我打开比特币QT钱包,看到一笔未经我批准的交易,几乎将整个钱包的资产转移到另一个钱包
用户损失了2.07个BTC,当时价值300美元,现在已经超过7万美元。另一个例子:
2011年6月,bitcointalk的成员allinvain因为一个未知的入侵者以某种方式直接访问了他的电脑,损失了25000个BTC(当时价值50万美元)。攻击者可以直接获取allinvain的信息钱包.dat文件,然后快速搜查你的钱包-发送一个交易从allinvain的电脑,或上传它自己钱包.dat归档并清空它。
按今天的价值算,差不多值一百万美元。但**并不是唯一的问题。也有私钥丢失的例子。看看斯特凡·托马斯的故事
比特币开发者Stefan Thomas的钱包有三个备份:一个加密的U设备、一个Dropbox帐户和一个VirtualBox虚拟机。他设法删除了其中两个,但忘记了第三个备份的密码,永远无法访问7000 BTC(当时价值12.5万美元)。托马斯回答说:“从那以后,我一直在为更好的客户工作。”
根据对比特币生态系统的分析,每天可能损失1500 BTC,是比特币用户交易费用的10倍以上,比特币随着时间的推移损失的总量占其总供应量的20%。这些故事和数字都指向同一个不可避免的事实:钱包安全的重要性并非微不足道,不应低估。
人们很容易得出钱包安全性容易被低估的社会和心理原因:人们不想在一向挑剔的公众面前显得愚蠢或粗心,因此,他们的资金往往容易被盗。对于资金损失来说尤其如此,因为一般的观点(尽管在我看来非常不正确)是“你必须自责”。但现实是,包括区块链在内的数字技术的目标是让人们更容易参与复杂的事务,而无需付出巨大的脑力劳动或害怕犯错。如果一个生态系统对丢失和被盗问题的解决方案仅仅是一个12步的教程,不那么安全的应对措施,不那么意外的讽刺性的“对不起你的损失”的回应,那么它将很难被广泛采用。
因此,采取了减少资本损失和**风险的方案。这些方案不需要加密货币用户花费太多的精力和时间来维护个人资产的安全,对整个行业来说也是非常有价值的。
光靠硬件钱包是不够的
硬件钱包经常被吹捧为加密货币资产管理的**技术。硬件钱包是一种特殊的硬件设备,它可以连接到用户的电脑或手机上(例如通过U),并包含一个特殊的芯片,该芯片只能生成私钥和签署交易。用户可以在电脑或手机上发起交易,只有在硬件钱包中确认后才能发送。私钥保存在硬件钱包中,因此无法从攻击的电脑或手机中洗劫资金。
硬件钱包是一个重大的进步,可以避免上述java聊天室的情况,但硬件钱包并不完美。在我看来,硬件钱包有两个问题
供应链攻击:如果你购买了一个硬件钱包,你信任它的生产过程中的许多参与者,包括设计钱包的公司、生产钱包的工厂,以及运输过程中可以交换钱包的处理者。硬件钱包可能导致此类攻击:资金被盗的概率与被盗设备的数量高度相关。值得称道的是,像莱杰这样的硬件钱包Maker已经采取了很多保护措施来防范这些风险,但这并不好。从根本上讲,硬件设备不同于开源软件,不能被审计。
单点失败:如果有人站在你身后,看着你输入密码,偷走你的硬件钱包,他们就可以偷走你的钱。如果丢失了硬件钱包,也会丢失资产,除非硬件钱包在初始设置时生成并输出备份,但正如我们所见,仍然存在不同的问题。
记忆法是不够的
许多钱包(无论是硬件还是软件)都有一个初始设置过程,其中输出一些助记符短语,即钱包根私钥的代码,形式为人类可读的12-24个单词。记忆短语如下:
投票舞蹈式主题谷落使用丝绸作文午餐背书月亮明显种族丝带键已箭头使戏剧敏锐调查课残酷
如果您丢失了钱包但保留了助记符,您可以在设置新的钱包恢复帐户时输入助记符,因为助记符包含根密钥,所有其他密钥都可以从根密钥生成。
助记法有助于防止损失,但对于被盗资金则没有帮助。更糟糕的是,如果你有一个标准的组合硬件钱包和记忆备份,**硬件钱包和密码或记忆备份将导致经济损失。此外,保护记忆词,不让它们意外丢失,也是一种精神负担。
如果将短语分为五个部分,然后一半由朋友保存,则**问题可以得到缓解,但1)很少有人真正提倡这种行为;2)存在安全问题,如果助记符非常短(128位),则恶意攻击者可能会暴力地寻找其他264种可能的组合,以找到该短语另一半偷了一半后,3)这进一步增加了精神负担。
我们需要什么?
我们需要的钱包设计应该符合以下三个标准:
没有单一的失败点:没有东西可以被偷走,所以攻击者可以得到你的钱,或者即使丢失了,他也可以拒绝得到它。
减轻精神负担:用户尽可能不需要学习新习惯或支付脑力,以便始终遵循一定的行为模式。
交易便利性:大多数正常的活动不应该花费比普通钱包更多的精力(如状态、元掩码等)
多签点就好了!
早在2013年,解决这些问题的**技术就是多重签名。您可以拥有一个带三把钥匙的钱包,其中任意两把钥匙都是发送交易所必需的。
最初,这项技术是在比特币生态系统中开发的,但现在以太坊还拥有出色的多签名钱包(如gnosis safe)。多重签名钱包在组织中的应用非常成功。以太坊基金会使用4-7个多重签名钱包来存储资金。以太坊生态系统中的许多其他组织也使用多重签名钱包。
对于多重签名钱包,为“个人”持有资金的主要挑战是:谁持有资金?如何审批交易?最常见的公式是“用户持有的两个易于访问但相互独立的密钥(如笔记本和手机),而第三个密钥是一个更安全、更难获得的备份,它可以脱机保存或由朋友或组织持有”。
这是相当安全的:任何一个设备丢失或被盗不会让你无法使用你的钱。但它的安全性还远远不够完美,如果你能偷别人的笔记本电脑,那么偷他们的手机通常并不难。可用性也是一个挑战,因为现在每个事务都需要使用两个设备进行两次确认。
社会恢复较好
这是我个人喜欢的钱包保护方式:社会恢复。其运行机制如下:
有一个单独的“签名密钥”来批准交易
还有一组“监护人”至少由三名成员组成,他们中的大多数人一起工作来更改帐户的签名密钥
签名密钥可以增加或减少监护人的数量,这有一个延迟(通常是1-3天)。
正常情况下,用户可以像普通钱包一样方便地使用社交恢复钱包,并使用自己的签名密钥对消息进行签名,这样每一笔签名交易只需点击一次确认即可快速完成,操作就像一个“传统”钱包(如metamask)。
社交恢复钱包的真正功能是用户丢失签名密钥。用户可以联系他们的监护人,并要求他们签署一个特殊的交易,以改变他们的签名公钥注册在钱包。这并不难。他们可以访问网页(例如安全.loopring.io)登录后,您将收到一个恢复请求并对其进行签名。监护人的操作可能和在Uniswap上交易一样简单。
监护人有很多可能的选择。最常见的三种选择是:
钱包所有者的其他设备(或纸质助记符)
朋友或家人
组织,在收到您的电话号码或电子邮件确认后签署恢复交易,或在价值较高的情况下通过视频通话验证您的身份
只需输入ENS域名或ETH地址,添加监护人也很容易,不过大多数社交恢复钱包都要求监护人在恢复页面上签署交易,才能同意添加。在任何一款设计合理的社交恢复钱包中,卫士不需要下载和使用同一款钱包,他们可以使用自己现有的以太坊钱包,这不受类的限制。考虑到添加监护人的便利性,如果你的社交圈是由以太坊用户组成的,我倾向于设置更多的监护人(**是7个以上),以提高安全性。如果你已经有一个钱包,你不需要监护人的持续关注。您可以通过现有钱包执行任何恢复操作。如果你对活跃的以太坊用户了解不够,**设置一小部分知道如何操作的守护者。
为了减少对监护人的攻击和共谋风险,没有必要披露监护人。事实上,他们不需要知道对方的身份。这可以通过两种方式实现。首先,监护人地址列表的散列存储在链上,而不是监护人地址,钱包所有者只需要在恢复时发布完整的列表。第二,可以要求每个监护人为当前恢复生成一个新的地址。他们不需要使用该地址发送任何事务,除非他们确实需要恢复。为了配合技术保护,建议从不同的社会群体中选择不同的监护人(**包括机构监护人)。这些方案使得监护人很难同时受到攻击或串通。
如果钱包主人死亡或**丧失行为能力,这将是社会接受的标准协议,监护人可以披露自己的身份,以便在这种情况下找到对方并追回资金。
社会恢复钱包并没有背叛“密码学的价值”,而是一种体现
对任何形式的多重签名、社会恢复等使用建议的常见反应是,这些解决方案最终必须追溯到“信任他人”,这是对区块链和加密货币行业价值的背叛。虽然我能理解人们乍一看为什么会这么想,但我仍然认为这种批评源于对密码学的误解。
对我来说,密码学的目标绝不是消除所有形式的信任。相反,密码学的目的是使人们能够利用密码学和经济学来构造事物,从而增加对可信赖对象的选择,进一步建立更为有限的信任形式:一个人可以被授予代表你进行某些行为的权力,而不是完全的权力。从这个角度看,多重签名和社会追偿正是这一原则的完美体现:每个参与者对是否接受或拒绝交易都有一定的影响力,但任何人都不能单方面转移资金。这种更复杂的逻辑引入了比资金必须由个人或密钥单方面控制时更安全的设置。
“慎用人的输入,而不是完全放弃”的基本思想是有效的,因为它能很好地适应人脑的优缺点。人脑不太适合记忆密码和保管纸夹,但它是一个用于追踪与他人关系的专用集成电路。对于非技术用户来说,效果更为明显。他们可能在使用钱包和密码方面有困难,但他们在社交方面和科技用户一样擅长,比如“选择7个不会合谋欺骗我的人”。如果我们能从人的输入中提取一些信息到某种机制中,避免这些输入成为攻击向量,那么我们就应该弄清楚如何实现它。社会复苏非常稳定。为了摧毁一个有7名监护人的钱包,7名监护人中至少有4人需要以某种方式相互指认,并串通盗取资金。OKEX交易所中没有一个人能通知钱包的主人,这比攻击一个纯粹由个人保管的钱包要困难得多。
社会康复如何防止**?
上面提到的社交恢复讨论了“丢失”钱包的风险,但仍然存在“窃取”你的签名密钥的风险:有人入侵你的计算机,在你登录时利用这种情况,然后给你一记耳光,甚至通过制造用户界面错误来引诱你签署交易。
我们可以通过增加一个保险库来增强社会弹性来解决这个问题。每个social recovery钱包都可以自动生成保险库。只需将资产发送到保险库地址即可将其转移到保险库,但将其转移出保险库需要一周的时间。在延迟期间,签名密钥(或监护人)可以取消事务。如有必要,还可以对保险库进行编程,以便可以立即执行某些有限的操作(例如白名单代币之间的Uniswap事务)。
现有社会恢复钱包
目前,主要有两种钱包实现了社会恢复功能:银钱包和环钱包
银色钱包是第一款也是****的“智能合约”钱包,社会恢复是其卖点之一。银色钱包增加了一个添加和删除监护人的界面
为了防止被盗,钱包有一个每日限额:交易金额达到可以立即进行,但交易金额超过需要监护人的批准才能完成取款。
Loopring wallet之所以出名,可能是因为它是由Loopring protocol(zk rollup SOLution for payment and decentralized exchange)的开发者和支持者构建的。但循环钱包也有社会恢复功能,这是非常类似于银。在这两种情况下,钱包服务提供商都免费提供监护人,监护人通过手机发送的确认码验证用户身份。通过提供以太坊地址,用户可以添加同一钱包的其他用户或任何以太坊用户作为其他监护人。
两款钱包的用户体验都非常流畅。可能有两个挑战。首先,两款钱包的操作是否顺畅,取决于钱包经销商的“中心化”接力,后者会重新公布已签名的交易。二是成本较高。幸运的是,这两个挑战都可以解决。
迁移到L2(汇总)可以解决其他挑战
如上所述,存在两个主要挑战:1)依赖中继来处理事务,2)高事务成本。在以太坊的应用中,对继电器的依赖性是一个日益普遍的问题。这个问题的原因是以太坊中有两种帐户类:由单个私钥(EOA)控制的外部帐户和契约帐户。以太坊有一个规则,即每一笔交易都必须从一个外部账户开始。其初衷是,外部帐户代表“用户”,合同帐户代表“应用程序”,应用程序只能在用户与应用程序交互时运行。如果我们想要钱包具有更复杂的机制(比如多重签名和社会恢复),我们需要使用契约来代表用户。但一个新的挑战来了:如果你的钱是在合同帐户,你需要有另一个帐户与ETH余额支付每笔交易。一旦交易成本迅速上升,您可能需要大量的ETH。
银和环的解决方案亲自运行继电器。中继侦听链下具有数字签名的用户提交的消息,将这些消息打包到事务中,然后在链上发布。但从长远来看,这并不是一个好的解决办法,因为它带来了集权的问题。如果中继失败,用户需要发送事务,尽管他们总是可以从自己的外部帐户发送事务,但他们仍然需要在中心化和不便之间引入新的权衡。在分权的情况下,有办法解决这一问题,提高操作的便利性。主要有两种解决方案:一种是创建一个通用的去中心化中继网络,另一种是修改以太坊协议以支持来自合同帐户的事务。然而,这些解决方案都不能解决交易成本问题。事实上,智能合约更为复杂,这可能会加剧问题。
幸运的是,我们可以为这两个问题寻找第三种解决方案:将生态系统移动到两层协议,例如**汇总和ZK汇总。优化和ZK汇总可以设计为无中继的内置抽象。现有的钱包开发人员一直在研究汇总,但最终将整个生态系统作为一个整体迁移到汇总是一个挑战。
该生态系统向汇总系统的大规模迁移为扭转以太坊生态系统早期的错误提供了一个很好的机会,也为多签和智能合约钱包在帮助保护用户资金方面发挥了更重要的作用。但需要更广泛地认识到,钱包安全确实是一个挑战,我们还没有做出足够的努力来应对这一挑战。多重签名和社会恢复不一定是故事的结局,也许还有更好的设计。但转向汇总并确保将智能合约钱包视为“**公民”是朝着这一目标迈出的关键一步。
来源|;加利福尼亚州维塔利克
作者:vitalik buterin
感谢argent的Itamar lesuisse和looping的Daniel Wang的反馈。
文章标题:维塔利克:论社会恢复的必要性
文章链接:https://www.btchangqing.cn/182454.html
更新时间:2021年01月21日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。
不要怂~就是干
真精神!!!!!!比特币
我就来看看戏,开心一下
这两天市场又活跃了
怪不得拉的这么猛