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

v神特别感谢Argent的Itamar Lesuisse和Loopring的Daniel Wang的反馈。

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

多年来,已经提出了许多解决方案:纸钱包,硬件钱包和我自己的一次性收藏: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个单词的钱包根私钥编码。助记词短语如下:

 vote    dance   type    subject valley  fall    usage   silk
 essay   lunch   endorse lunar   obvious race    ribbon  key
 already arrow   enable  drama   keen    survey  lesson  cruel

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

助记词短语有助于防止丢失,但对于防盗并没有任何作用。更糟的是,他们增加一个新的载体盗窃:如果您有标准的硬件钱包+记忆备份组合,然后有人偷无论是硬件的钱包+ PIN或者您的记忆备份可以窃取您的资金。此外,保持助记词短语而不是不小心将其丢弃本身本身就是一项不费吹灰之力。

如果将短语分成两半并给朋友一半,可以减轻盗窃的问题,但是(i)几乎没有人真正推广这种行为,(ii)存在安全问题,就像短语简短(128位)一样那么一个精明且积极进取的攻击者会偷走一块,可能会在所有 264 可能的组合以找到另一个,以及(iii)进一步增加了心理负担。

那我们需要什么?

我们需要的是一个满足以下三个关键条件的钱包设计:

  • 没有单一的故障点:没有单一的东西(理想情况下,没有一起运送的东西的集合),如果被盗,攻击者可以使用您的资金,或者如果丢失,则可以拒绝您使用您的资金。
  • 低的心理负担:尽可能不应该要求用户学习陌生的新习惯或付出精神努力以始终记住遵循某些行为模式。
  • 交易的最大程度的便利:大多数常规活动所需要的精力不应比常规钱包多得多(例如,状态,Metamask ...)

Multisig很好!

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

 

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

对于multisig钱包持有资金的个人,主要的挑战是:谁拥有的资金,以及如何交易获得批准?最常见的公式是“由您(例如,笔记本电脑和电话)持有的两个易于访问但独立的密钥,而离线,由朋友或机构持有的第三个更安全但不可访问的备份”的变体。

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

社会康复更好

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

  1. 只有一个“签名密钥”可用于批准交易
  2. 至少有3个(或更多)“监护人”,其中大多数可以配合更改帐户的签名密钥。

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

 

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

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

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

  • 钱包持有者自己拥有的其他设备(或纸助记符)
  • 朋友和家人
  • 机构会在收到您的电话号码或电子邮件确认后签署恢复消息,或者在高价值的情况下通过视频通话来验证您的身份

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

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

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

社会恢复钱包不是背叛,而是“密码价值”的一种表达

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

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

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

社会恢复如何防止盗窃?

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

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

现有的社会恢复钱包

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

 

 

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

 

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

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

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

迁移到第2层(汇总)可以解决剩余的挑战

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

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

幸运的是,我们可以通过寻求第三种解决方案同时解决这两个问题:将生态系统移至第2层协议,例如乐观汇总和ZK汇总。可以使用内置的帐户抽象来设计乐观和ZK汇总,从而避免了对中继器的任何需求。现有的钱包开发人员已经在研究汇总,但是最终要整体迁移到汇总是整个生态系统的挑战。

生态系统范围内的大规模迁移到汇总是一个很好的机会,它可以扭转以太坊生态系统的早期错误,并为多重签名和智能合约钱包在帮助确保用户资金方面发挥更加重要的作用。但这需要更广泛的认识,即钱包的安全性是一个挑战,而且我们在尝试应对和挑战方面还没有做得足够。多重签名和社会复苏不一定是故事的结局。可能会有更好的设计。但是,简单地进行改革,即转移到汇总并确保这些汇总将一流的公民视为智能合约钱包是实现这一目标的重要一步。

免责声明:本文由信比特作者原创文章,不构成投资建议,请谨慎对待。

版权声明:信比特作者保留原创权利。文章为作者独立观点,转载请注明出处

原文链接:http://www.bitpoa.com/news/138.html

生成海报
收藏

相关推荐

0 条评论

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

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