谁是你真正可以信任的?这是要问的关键问题。这个问题适用于生活的大多数领域,尤其是其精神是“不信任任何人”的加密货币。
上周,一位思想领袖(Coinbase 前首席技术官)指出,苹果和谷歌可能对加密货币构成系统性风险。
就在同一周,Ledger 的用户发现他们需要信任 Ledger 固件更新的完整性。
在本博客中,我们研究最小化信任范围的主题:减少您对其他实体使用加密货币的信任并避免系统性风险。我们还将强调一个违反直觉的认识:在大多数情况下,消除信任的需要实际上需要在您的解决方案中添加更多参与方,而不是减少它们。
因此,对于加密钱包来说,更多参与方通常意味着更高的安全性,并且默认情况下,无单点故障的钱包(尤其是 MPC 或多签名解决方案)将比依赖于信任单一实体的钱包更安全,无论这些钱包是软件还是硬件。
处于最小化信任面的十字路口
对运营商的信任问题并非由加密钱包造成,而是由来已久。
作为所需控制方数量的函数的信任量是非单调的(即通常不能说“越多越好”或“越少越好”,因为零方比单方好,但两方更好)也比一方好),如下图所示。
如上图所示,最小化信任的最佳情况是没有任何一方能够控制某个机制,因为没有任何东西值得信任。与此形成鲜明对比的是,最糟糕的情况是只有一方完全控制:如果这一方变得流氓,没有什么可以阻止它。
然而,通过增加更多的参与方并分配责任,所需的信任量会迅速衰减(由于握手问题,呈二次方)——因为这些独立的参与方现在需要与所有其他方勾结,邪恶的计划才能成功。
默认情况下,大多数机制都是由单一方操作的。正如我们刚才看到的,这是运营商数量最差的。这一点在中心化系统的实践中也被多次证明。因此,当系统设计者想要最小化对系统的信任时,他们需要在两个相反的选项之间做出选择:他们可以走将参与方数量从一减少到零的道路,或者走完全相反的方向并添加更多聚会。
减少到零:硬件钱包故障
硬件钱包用户走上了将控制方减少到零的道路,以最大限度地减少加密货币的“信任面”——他们还相信,无论是有意还是无意,这都是硬件钱包公司所预测的叙述。他们认为,当他们使用此类设备时,他们的私钥是“受硬件保护的”,这意味着即使供应商不法行为并使用恶意固件更新硬件,该恶意固件实际上也无法访问私钥。如果这是真的,那么它将消除信任表面的一个非常重要的部分,因为私钥通过不可变的硬件是安全的,从而消除了对任何其他方的信任需要。
然而,当 Ledger 推出其恢复功能(通过互联网发送硬件钱包私钥版本)时,它发现这实际上是一个误解: 私钥在物理上并未受到固件更新的保护。通过这样做,Ledger 成功地打破了一种坚定的叙事,违反了硬件钱包的感知品质。
用户了解到,他们昂贵的“硬件钱包”(包括 Ledger 的钱包)仅仅是“固件钱包”,在恶意更新方面并不比常规软件钱包更安全。这一严厉的揭露在硬件钱包用户中引起了轩然大波。
这种对特定解决方案的不变性的错误信念并不是本次事件所独有的,但实际上代表了加密货币领域的一个重复主题。用户和系统设计人员经常受到“零价格效应”的诱惑,即完全消除控制方并用一些不可变的无故障解决方案取而代之。用户错误地依赖解决方案关键部分(硬件、智能合约等)的不变性作为最小化信任面的一种方式,结果却发现在现实世界中,这些部分实际上不可能是不变的,因为它们需要一些维护,事实上,它们的用户仍然需要信任某些管理员,以免变得流氓并更改这些部件的功能。因此,在很多情况下,选择这种“零方”路径以希望达到最佳情况的用户最终会发现自己又回到了“单方”最坏的情况。
添加更多政党:两人规则
相反,用户可以选择通过增加更多的独立方来解决信任问题,从而限制对任何个别方的信任或盲目依赖。当然,这种选择并不新鲜,因为最大限度地减少对核武器和加密材料等敏感系统运营商的信任的需求一直存在。美国空军称之为“两人规则”。
根据维基百科的说法,“两人规则是一种控制机制,旨在为特别关键的材料或操作实现高水平的安全性。根据这条规则,访问和行动需要始终有两名或更多授权人员在场。”
为了真正在加密货币中应用两人规则,我们必须消除所有“单点故障”(SPOF)。因此,需要消除的主要(但不仅仅是)单点故障包括私钥及其备份:臭名昭著的种子短语。
如今的一些系统已经做到了这一点,例如比特币的多重签名 (MultiSig) 解决方案,或用于以太坊和 EVM 环境的基于智能合约帐户抽象(“AA”) 的多重签名解决方案。在此类解决方案中,需要多个私钥来授权交易,从而消除任何单个私钥的单点故障。
但值得注意的是,此类制度仍需进一步审查,以确保各方尽可能独立,以避免系统性风险。例如:
如果多重签名系统的所有私钥都存储在同一供应商的固件解决方案(例如 Ledger)上,那么它们仍然像以前一样受到上述流氓恢复更新攻击的影响。
如果多重签名系统的所有私钥都存储在同一供应商的平台解决方案(谷歌或苹果)上,那么它们仍然容易受到政府诱导的后门的攻击,如上面推文中所建议的。
如果多重签名系统的所有私钥都保存在同一个物理位置,那么它们可能会像以前一样面临物理威胁(火灾、盗窃、崩溃)。
话虽如此,多方架构为解决此类潜在系统性风险提供了一条清晰的路径:如果您担心某些方的诚信,例如前面提到的对谷歌或苹果的恐惧,减轻这种风险的方法不是将它们从您的解决方案完全,而是确保任何关键职能的责任不由他们集中,而是分给其他各方。
MPC 钱包在设计上遵循两人规则
MPC 钱包(例如我们的 ZenGo 钱包)遵循相同的“两人规则”方法,旨在消除产品内的 SPOF。MPC 在数学层面上创建了类似 MultiSig 的解决方案,并确保代表密钥的不同份额(或分片)由不同方分布式创建和存储:它们永远不会驻留在同一位置,而是由不同的各方生成,正交系统(详细信息请参阅我们的MPC 白皮书)。
ZenGo 的解决方案由两个 MPC 方组成:用户的设备和远程 ZenGo 服务器,从而显着降低系统风险,因为每一方都包含:
不同的硬件和软件架构:移动设备和云服务器
设备所有权:用户和 ZenGo
物理位置:用户口袋和远程云数据中心
种子短语备份的 SPOF 也被消除,并被简单且安全的三因素恢复过程所取代,其中每个身份验证元素都有冗余(更多信息请参见此处)。
与前面提到的 MultiSig 解决方案相比,MPC 解决方案并不局限于特定的区块链,而是在设计上是多链的,并且 ZenGo 本身支持多个区块链和数百种不同的资产。
为了说明 ZenGo MPC 模型的有效性,让我们考虑一下前面提到的移动平台(Google 和 Apple)变得流氓并泄露用户秘密碎片的威胁。即使他们这样做,仍然不会泄露私钥,因为系统的一半(用户的远程服务器共享)超出了这些平台的范围,并且需要进一步串通才能成功,这大大降低了任何平台的动机首先成为流氓。
结论
温斯顿·丘吉尔曾说过“永远不要浪费一次好的危机”。我们应该利用最近固件钱包的失败作为一个机会来重新思考和更新我们的安全假设并摆脱我们旧有的误解。
这种反思应该包括我们对最小化信任的态度。我们应该认识到,有时多确实是多,具有更多参与方和冗余的系统,遵循经过考验的“两人规则”概念,包括 MPC 钱包,实际上比经典的单点故障更安全、更值得信赖当今流行的解决方案。
发表评论