# 七个点带你读懂 Social Recovery 钱包的优势和挑战

By [cnrunchen.eth](https://paragraph.com/@cnrunchen) · 2023-01-19

---

上周写了一篇我对于 2023 年 Web 3 行业的一些展望，其中我就提到了我认为 MPC 钱包的应用率会超过社交恢复钱包。对此有一些朋友提出了反对的意见，同时也指出了我的一些局限性，因此就有了这篇文章。

在这篇文章中我会总结可 7 个对于 Social Recovery 钱包的疑问，以及这些疑问的答案。感谢 UniPass 团队的 Jason 对本文做出的贡献。

什么是 Social Recovery 钱包？
-----------------------

严格意义上来讲，很多人认为并没有社交恢复钱包这个分类，它是账户抽象中的功能模块之一。社交恢复钱包（Social Recovery Wallet）一般情况下都是智能合约钱包，但智能合约钱包并不一定包含社交恢复的功能。

智能合约是一组部署在网络上的代码，不同的智能合约可以实现不同的功能。如 UniPass 和 Argent 就支持社交恢复，而 Gnosis Safe 就只支持多签，除此之外还有一些服务于特殊目的的智能合约钱包。

**考虑到智能合约钱包的多样性，本文仅探讨基于大规模应用（Massive adoption）目的的提供邮件等 Social Recovery 功能的「分布式托管智能合约钱包」。**

社交恢复钱包都能实现哪些功能？
---------------

由于 Solidity 是图灵完备的语言，所以理论上智能合约钱包可以实现的功能非常多。正如前面所说的，社交恢复钱包是基于智能钱包的。不同的钱包提供商所设计的功能都并不一样，因此本文仅列举主流智能钱包解决方案的一些功能。

*   账户抽象：基于账户抽象可以实现验签、多签、更换私钥、设置私钥权重等；
    
*   安全策略：设置账户权限、白名单交易账户、设置转账上限等；
    
*   钱包恢复：通过社交或其他手段恢复对钱包的控制权、设置「死亡继承」等；
    
*   合约功能：批量转账、手续费代付、使用多种代币支付手续费等；
    

除了这些以外，智能合约钱包还可以实现一些特殊的功能。如 Instadapp 的智能合约钱包可以实现基于 AAVE 实现一键的抵押品转换等 DeFi 的快捷操作。但由于本文着重讨论基于大规模应用目的设计的社交恢复钱包，这里就不展开介绍。

什么是账户抽象？我们为什么需要账户抽象？
--------------------

账户抽象是智能合约钱包的核心价值。「账户抽象」这个词本身就很抽象，我们简单的理解就是他对 EVM 的账户系统进行了分拆，让它可以模块化的实现一些以前所无法实现的功能。\*\*实际上，社交恢复也是账户抽象中的一个功能。

EVM 的体系里有两种账户类型：EOA（Externally Owned Accounts，即外部持有账户）和智能合约账户（Contract Account）。其中 EOA 指由以太坊外部主体拥有的，也可以理解为我们平时说的公私钥钱包。

EOA 钱包面临非常多的问题，如用户并不真正拥有账户，用户只是拥有私钥，而私钥拥有账户。因此当私钥泄漏或者遗失的时候，账户也就不再属于用户。**为了满足更多的需求场景，有人开始尝试将智能合约当成一个账户来使用，并且在智能合约内部署更多的逻辑，这便是账户抽象。**

**账户抽象下地址所对应的不再是一个私钥，而是一套账户逻辑，这个逻辑可以根据不同的用户需求进行模块化的定制。** 如前面提到的多签、更换控制私钥（社交恢复）、设置私钥权重等。**从某种意义上来讲，讨论社交恢复钱包其实就是在讨论账户抽象。**

社交恢复钱包如何解决隐私问题
--------------

隐私问题是社交恢复钱包需要面对的一个问题。Argent 的方案中，用户可以添加其他 Argent 用户（比如亲朋好友）来做为其守护者，但同时这也需要暴露自己的地址给对方。暴露地址同时也就意味着暴露资产情况和用户交易行为，这就给社会化攻击提供了可能，同时也会造成一系列的麻烦。

智能合约钱包是一系列逻辑，因此解决这个问题的方法有很多。一方面可以在合约中引入零知识证明，来保证在双方都不暴露的情况下完成验证。另一方面社交恢复钱包也加入更多的链下世界因子来解决这个问题，如 UniPass 的邮件 DKIM 验签。

但不可避免的，用户需要向钱包的供应商披露一些自己的信息，如使用 Argent 的时候需要披露自己的邮件地址和手机号码。但既然我们在讨论大规模应用的场景，那么我们默认这些是在用户能够接受的范围呢。

社交恢复钱包最大的问题
-----------

社交恢复钱包的挑战在于其可靠性和兼容性。可靠性指的是这个服务的稳定程度，它能否无故障的持续运行。兼容性则是指 app chain 或者说应用是否能够兼容智能合约钱包。这些问题主要在于：

*   钱包服务商是否可以保证中继器在线并提供稳定的服务；
    
*   越复杂的智能合约审计难度越大，出问题的可能性也就越高；
    
*   智能合约钱包需要服务商单独的部署在每条侧链和 app chain 上；
    
*   应用开发者需要为智能合约钱包进行专门的优化。
    

社交恢复钱包依然面临着巨大的挑战，其中最大的挑战就是来自兼容性问题。实际上早期的时候因为无法判断智能合约的逻辑，大量的 GameFi 项目是禁止智能合约钱包和其进行交换，部分交易所也不支持智能合约充币。

我们之前在 Flow 上进行开发的时候曾经遇到过一个很特殊的 performance issues。由于我们当时部署的中继节点无法应对突然涌入的用户需求，导致用户不得不在发起交易后等待很长的时间才能确认。这一问题在用户使用第三方钱包的时候也会出现，由于钱包的中继节点负载不够，导致用户交易使用体验极差。

目前都有哪些可恢复合约钱包方案？
----------------

Youbi Capital 一篇发表于 2022 年 11 月的文章（《[将 Web2 用户带入 Web3 —— 未来属于无助记词钱包](https://mirror.xyz/youbi-capital.eth/ypzwqyf6KLHl4rHvMcbyEzmgL_od0GAcvpllTqMFZEs)》）详细比较了目前市面上的几种无助记词钱包的解决方案，包括 MPC 钱包和可进行社交恢复的钱包。

![](https://storage.googleapis.com/papyrus_images/cfd763cf398a9c8ba67905f68aeabb0090d7a41710fee5c6778fe503d59f026e.png)

这篇文章总结对比了 MetaMask、web3auth、Magic、Sequence、Particle Network 和 UniPass，其中 UniPass 和 Sequence 属于我们前面讨论的社交恢复钱包，而 UniPass 的解决方案最为在功能性、Gas 费用、非托管、安全性、更换设备和延迟六个方面得分均分最高，也较为均衡。

除了 Youbi Capital 提到的这几款之外，得到 V 神点赞的 Argent 也是目前比较主流的社交恢复钱包供应商之一。但其在多链支持上选择了拥抱 zkSync，暂时不支持 Optimsm 和 Arbitrum 等 EVM 兼容链。

MPC vs 社交恢复钱包
-------------

社交恢复钱包和 MPC 钱包是在讨论大规模应用的时候经常被拿出来讨论的方案，但实际上他们并不是在同一个层面上解决问题。

MPC 钱包是从私钥的层面进行解决，它本身并不能对账户进行抽象，也无法提供社交恢复钱包这么丰富的功能。但同样的，社交恢复钱包虽然可以提供丰富的模块，但它也造成了一定的兼容性问题。

最后我简单的对比一下 MPC 钱包和社交恢复钱包的优缺点：

*   兼容性：MPC 钱包可以很好的兼容多链（无论是否为 EVM）而不需要应用开发者进行任何的修改；而基于智能合约的钱包在兼容性上有更多的挑战；
    
*   使用成本：社交恢复钱包更适用于 Layer 2，这是因为智能合约需要支付额外的 gas 成本，而这在 Ethereum 主网上非常昂贵；
    
*   功能性：账户抽象可以实现很多 MPC 钱包所无法实现的功能，如手续费代付；但我更认可协议层而非应用层的解决方案，新一代的公链如 Near、Flow 都自带账户抽象，而 EVM 兼容链如 Fantom 也在积极从协议层解决；
    
*   可恢复性：MPC 钱包一旦完整私钥泄露不可恢复，但这种可能性微乎其微；
    
*   可用性：双方都依赖中心化的节点，但社交恢复钱包还依赖中继节点；
    
*   安全性：社交恢复钱包包含智能合约逻辑，存在一定风险。同时由于智能合约钱包需要应用合约进行兼容，一定程度上加剧了风险。
    

个人而言，我认为 MPC 钱包在应用规模上会跑赢社交恢复钱包，尤其是基于游戏所产生的高频、低价值的应用场景。而社交恢复钱包在 DeFi 等高价值、低频率的场景有更好的适用性。

但我更想强调的是，我的观点是一种带有强烈个人色彩的判断，我更希望大家关注的是本文所探讨的客观事实。

最后我想说，不论如何，值得我们兴奋的是：大规模应用已经近在咫尺了。

作者：[cnrunchen.eth](https://runchen.bio/)

发布时间：2023/01/20

---

*Originally published on [cnrunchen.eth](https://paragraph.com/@cnrunchen/social-recovery)*
