作者:SHEKAR RAMASWAMY 编译:Cointime.com 237

为了降低进入加密货币生态系统的门槛,许多公司正在致力于开发使私钥管理变得简单的解决方案。其中许多解决方案声称是非托管的,然而这些解决方案可以访问并丢失用户的私钥。它们利用法律灰色地带,并错误地将自己定位为安全性和用户体验之间的中庸之道...
非托管服务的准则需要改进,以建立更安全的加密货币生态系统。具体来说,需要制定更为严格的规则来定义非托管服务。如果某人选择了非托管服务,他们应该完全放心,知道他们的私钥永久安全,不会受到第三方风险的影响。这篇文章得出结论,非托管服务应具备三个要求:
用户可以访问他们的私钥;
服务无法访问私钥;
服务不会丢失私钥。
多方计算(MPC)是一种加密技术,可用于实现这三个要求。
MPC是如何工作的?
简而言之,使用#fancymath(高级数学),私钥可以被分割成多个“份额”,并在可信任的各方之间进行分发,而没有一方能够看到完整的私钥。通常采用的设定是“2对3的MPC方案”,具体如下:
1个份额存储在用户的设备上;
1个份额由第三方保存,通常是一个钱包;
1个备份份额通过电子邮件发送给用户,以防他们丢失设备。
在此方案中,总共有3个份额。每个份额可以对交易对象进行部分签名(因为份额只是私钥的一部分)。在3个份额中,至少有2个份额必须贡献部分签名,然后这些部分签名可以组合成完整的签名,提交给区块链。整个过程被视为MPC算法。

当用户想要执行操作时,他们会像通常一样使用钱包对交易进行签名。在底层,钱包不会访问完整的私钥,而是使用MPC协议来对交易进行签名,而无需合并份额(下面会详细介绍)。因此,第三方钱包将永远无法在其服务器上“看到”第二或第三份额,使其无法接管用户的账户。
即使用户的设备被盗或第三方被黑客攻击,用户仍然掌控局面,因为只有3个份额中的1个丢失。当然,如果这两件事同时发生,那就麻烦了
值得注意的是,这种方案也符合我们对非托管解决方案的标准:
1、用户可以通过使用第三方或备份密钥来获取私钥的2/3份额;
2、第三方无法访问私钥,因为他们只有1个份额;
3、第三方不会丢失私钥,因为他们只有1个份额。
MPC 智能合约钱包(SCW)
我们已经谈论了智能合约钱包通过多用户交易和消费限制等功能提供了更好的用户体验。然而,归根结底,它们仍然是智能合约,并需要一个EOA来发起交易:
以太坊虚拟机(EVM)只支持使用私钥签名的交易。由于智能合约没有私钥,它们无法创建交易!因此,只有EOA可以创建调用智能合约的交易。
作为提醒,这是智能合约钱包工作原理的示意图:

虽然MPC并不能完全解决“仍然需要EOA问题”,但它使发起交易的过程更加安全和简单。用户不再需要信任第三方代为持有私钥,也不需要自己烦恼如何保护私钥。现在,我们可以得到以下好处:

尽管这幅图比之前的更复杂,但复杂性已经在实现过程中抽象出来,不会给最终用户带来困扰。关键结果是提供了更优化的用户体验。
总之,MPC和SCW应该结合使用,以提供最佳的Web3体验。一些人已经在此方面进行了工作,比如Portal和ZeroDev的合作。
额外阅读
一些人(包括Vitalik!)认为SCW明显优于MPC,两者不应混合使用。看看这些推文,加入辩论吧。


所有评论