作为Web3世界的入口,去中心化钱包的产品体验直接影响了用户是否可以顺畅进入Web3世界,因此去中心化钱包应用是整个行业非常重要的基建类产品。
目前去中心化钱包还存在诸多问题,给普通用户造成了较高的使用门槛,现在出现了两类主流解决方案:作为链下解决方案的MPC钱包以及作为链上解决方案的智能合约钱包。
本文将以MPC钱包作为切入点,横向对比MPC钱包、智能合约钱包和传统去中心化钱包三者之间的优劣势,并调研市面上主流的MPC钱包应用,由此可以帮助我们了解当前钱包赛道的现状,同时可以观察到未来的发展趋势。
在Web3世界中,我们经常会听到“去中心化钱包”这个词,去中心化钱包可以说是Web3世界的入口,那到底什么是去中心化钱包呢?
其实,去中心化钱包里面并没有放钱,就像我们现实生活中的钱包,钱包中放的是更多是银行卡、钥匙等物品。
对于Web3世界也一样,资产都保存在区块链上,去中心化钱包中保存的不是资产而是私钥。
什么是私钥呢?
这就涉及到区块链底层的密码学原理了。
简单说,在区块链中,我们是先通过随机数生成器生成一个私钥,这个私钥就是“银行卡密码”,然后再通过私钥生成公钥,这个公钥就是“银行账户”,公钥会再生成地址,这个地址就是“银行卡账号”。
去中心化钱包就是用来帮助用户存储和管理私钥(即银行卡密码)的应用,帮助我们和区块链进行交互,包括生成私钥和公钥、展示资产数据、发送交易等。
每个钱包都包含一个密钥管理系统,对于有的钱包来说,私钥管理系统是唯一的模块;而有的钱包,可能在这个基础上有更广泛的功能,比如作为各类去中心化应用的入口。
去中心化钱包的组成结构可以拆解为三层:
(1)最底层是密钥层:主要作用是管理公钥私钥、私钥的导入导出以及签名的生成;
(2)中间层是地址层:与主链有关系,根据主链的格式生成地址;
(3)最上层是应用层:主要对应资产的浏览、代币的收集和分发;
这里总结一下去中心化钱包的几个核心特征:
(1)代码开源:保证代码没有漏洞或后门,没有人或实体可以获取到用户的私钥;
(2)私钥由用户保存:这就是去中心化钱包和中心化金融产品的核心差别,银行等中心化金融机构可以动用用户的资产,但是在区块链世界中,用户自己控制私钥,就可以自己控制资产,没有人可以动用;
(3)帮助用户与区块链交互:作为普通用户,我们没有技术能力可以直接和区块链这个“全球共享数据库”交互,比如读取数据和写入数据,因此我们需要使用去中心化钱包应用和区块链进行交互;
我们只有知道当前去中心化钱包存在的问题、了解MPC钱包出现的背景,才能真正理解MPC钱包带来的价值。
用户使用去中心化钱包过程中,面临的最大问题就是私钥的保存。
私钥交由用户自己管理,虽然可以实现“资产确权”,用户可以真正掌握自己的资产,但是资产管理的风险也从原来的银行等中心化机构转嫁给了用户自身。
也就是说,用户需要自己管理资产,确保私钥的安全性,否则会面临资产损失的风险。
而用户在管理私钥过程中,面临的最大风险就是私钥泄露。
去中心化钱包被盗一定是因为私钥泄露,私钥泄露一般有三种方式:
(1)私钥被破解:主要是因为钱包应用的私钥生成算法存在问题,随机数生成器的来源不够随机,这和使用的去中心化应用有直接关系;
(2)私钥储存问题:助记词和私钥等敏感数据被存在钱包平台的服务器,造成助记词或私钥泄露,因此一定要使用代码开源的钱包应用;
(3)社会工程学攻击:用户的设备被钓鱼攻击、木马攻击,比如登录一个虚假网站,被引导输入了自己的私钥(助记词),造成了私钥泄露;
Web3世界就像一个黑暗森林,每个人都是猎人,也是猎物,别人会对你的资产虎视眈眈,一旦自己管理私钥过程中存在漏洞或者一不小心落入他人的陷阱,就可能损失掉所有资产。
去中心化钱包,作为Web3的入口,其用户体验与安全性直接影响到整个行业何时能迎来大规模化采用。
为了解决当前去中心化钱包存在的私钥难记的体验问题和私钥泄露的安全问题,当前行业中存在两种主流的解决方案:
一种是链下解决方案,也就是MPC钱包;另一种是链上解决方案,即智能合约钱包。
接下来,我们就具体看下这两种解决方案。
MPC,全称为 Multi-Party Computation(安全多方计算),是一种密码学算法。
这个理论早在1982年就被提出了,随着互联网的深入发展,人们越来越重视数据隐私,因此近几年发展非常迅速。
MPC算法和去中心化钱包的结合,其实是旧技术在新场景中的应用,这也是一种创新。
MPC的标准定义是:一种基于密码学的协同计算框架,广义的理解就是多方各自有私密的输入,一起来完成一个计算任务,在成功完成任务的同时,可以保证整个过程中各自的私密输入不会泄露。
简单理解,MPC钱包就是将一个私钥分散成多片,多个私钥分片放在不同地方保存,当需要私钥签名时,则将私钥分片的签名拼接起来形成一个完整的签名。
MPC钱包和传统去中心化钱包的最大不同其实是在“数字签名”的运作机制。
传统去中心化钱包是直接通过随机数生成器生成一个私钥,然后使用私钥生成一个数字签名,这样就可以转移资产了;而MPC钱包的私钥从始至终都没有出现过,在生成私钥时就将私钥分散为多片,而签名时只需要凑齐几个私钥分片的签名即可。
也就是说,在整个密钥管理的生命周期里,真正的私钥从来没有出现过,这样就不存在私钥存储的问题了。
这是基于 MPC的私钥管理精髓所在,它能够保证私钥能用但不存在,这样就降低Web3用户使用钱包时的门槛。
在传统的去中心化钱包私钥管理中,黑客盯住一个点就行,因为私钥就存在那个点上;
但基于MPC的密钥管理将密钥的安全性分散在多个节点里,私钥在任何时刻都会被分成多份放在多个地方,黑客可能要攻破第一个、第二个、第三个,要把三个碎片全部搞定才能拿到密钥;然而密钥碎片是在不断刷新的,因此黑客必须在某一时间范围内同时拿到三个碎片才能得到密钥。
因此,MPC钱包的安全性更高,避免了传统私钥管理的单点风险。
MPC钱包还有一个优势是隐私性。
由于签名过程是在链下完成的,比如说我们公司三个人管理三个私钥分片,需要签名的时候,使用MPC协议在链下进行签名并相互通信,生成一个签名,再把签名放到链上。
生成签名的逻辑是放在 MPC 里实现的,最终生成的是一个标准的签名,别人不知道这个协议是怎么运作的;另一方面,把这个签名结果放到链上去,别人也分不清这笔交易背后是一个人签名的还是多个人签名的。
因此,MPC钱包的隐私性更好。
总的来看,MPC钱包和去中心化钱包对比,主要有以下几个核心优势:
(1)实现无私钥:可以显著降低普通用户使用钱包的门槛,同时降低了私钥泄露的风险;
(2)社交恢复:如果用户的一个私钥分片丢失了,可以通过其他私钥分片来刷新,重新生成私钥分片,实现私钥找回;
(3)无单点风险:传统的私钥管理最大的风险就是单点出现问题,导致私钥泄露,而MPC钱包可以实现多点管理;
(4)动态管理:MPC钱包可以通过调整签名方案实现更复杂的资产管理逻辑,满足企业的需求,比如不同金额的资产变动可以有不同的审批流程;
MPC作为去中心化钱包的链下解决方案,而智能合约钱包则是去中心化钱包的链上解决方案。
作为智能合约区块链的龙头,以太坊有两种账户类型
(1)外部账户(Externally Owned Account, EOA):之所以被称为「外部」是因为这种账户本身是没有代码的,因此独立于以太坊虚拟机之外,由用户通过私钥进行控制;
(2)合约账户(Contract Account, CA):由存储在智能合约账户内的合约代码控制,无私钥,任何合约状态的改变都依赖外部账户来发起;
我们目前的主流钱包都是EOA钱包,除了私钥管理问题之外,EOA钱包在使用体验上还存在诸多问题:使用钱包必须先有主链币作为Gas费、入金困难、各种主网选择等等。
而智能合约钱包可以利用智能合约自身的可扩展性以及可组合性,通过代码逻辑实现丰富的功能,因此能够解决传统EOA钱包的痛点问题:
第一个就是更强的功能性,比如签名的内部逻辑、gas费用的代付、批量交易等都可以通过智能钱包实现,比如approve and swap(授权和交易)可以一笔完成,所以每次你需要花多少钱你就approve(授权)多少钱,同时也保证了安全性;
第二点就是更好用,让用户的门槛降得很低,备份密钥这件事情可以使用社交恢复给替代,这都是能够带来的新的变革,包括gas支付也是如此,不用自己去专门去买各个链的主链币,而是使用第三方的服务,这样就能让没有能力理解钱包、没有能力管理私钥、甚至是不想入金的一些人,能够通过智能钱包进入web3;
第三就是更大的可扩展性,可以安装类似于装插件的操作,让功能变多,智能钱包本质上就是个合约,因此本身是可扩展的,比如NFT的交易支持收到付款,用户可以签署一个离线授权「谁能给我 100 ETH,就可以转走我的某个NFT」,这样不需要授权给第三方合约,用户就可以跟其他人 P2P 地完成原子交易;
但是智能合约钱包也存在一些问题,我们可以对比一下MPC钱包相较于智能合约钱包的优势:
(1)兼容性:智能合约要适配不同链,不同链的兼容性很弱,一千条链就需要部署一千个智能合约,同时合约层面存在风险,很可能会存在漏洞;而MPC 与协议无关,它可以支持任何网络。
(2)隐私性:智能合约钱包的多重签名公开了签名方之间的数量和潜在关系,从而更容易追踪他们的身份;MPC 钱包不公开签名方数量信息,在链下管理私钥分片的签名,最后会将完整的签名发送到链上,他人无法追踪签名者。
(3)成本:智能合约钱包的多重签名交易需要每一方都支付Gas费用,这给完成一笔交易带来了额外的成本;而MPC的多签是在链下完成的,仅需最终的一笔交易手续费;
这并不是说MPC钱包要优于智能合约钱包,两者是互补关系,适用于不同的场景和需求。
目前有的产品,甚至将MPC和智能合约两种技术结合了起来,利用两者各自的优势,给用户带来了更优的体验。
目前市面上的MPC钱包,根据使用的用户群体不同,整体可以分为三类:
(1)toC产品:面向普通用户,提供上手简单的应用,降低普通用户的使用门槛,非常注重用户体验;
(2)toB产品:面向企业级用户,提供一套完整的企业级MPC技术解决方案,更加注重安全性;
(3)技术中间件:面向开发者,提供API或SDK等底层技术组件,帮助开发人员更高效地构建应用,更加注重可扩展性;
接下来,我们就具体分析下三类MPC钱包的头部应用,分析维度主要聚焦于MPC模块,包括:
(1)产品定位:一句话介绍产品;
(2)托管模式:根据私钥的控制权,可以分为自托管(用户掌控私钥,可以不依赖平台动用资金)、混合托管(用户和平台共同掌控私钥,各自单方面无法动用资金)、第三方托管(平台掌控私钥,可以动用用户资金);
(3)签名机制:私钥分片数量、签名阈值、底层运作机制等;
(4)灾备机制:用户怎么恢复私钥、是否需要依赖平台,主要分为更换设备场景和平台服务不可用场景;
(5)产品优势:产品怎么进行差异化竞争,包括用户体验、安全性、可扩展性等维度;
1.产品定位:支持邮箱社交恢复的智能合约钱包
2.托管模式:混合托管
3.签名机制:最低签名阈值/私钥分片总数量=2/2,一片保存在用户设备的云端服务器(如iCloud、Google Drive等),另一片保存在平台的服务器
4.灾备机制:
(1)更换设备场景
基于邮件的社交恢复,用户可以通过守护者邮箱向链上合约提交账户恢复邮件,找回账户。
目前市面上智能合约账户恢复的方式比较有限,最为人所知的是Argent推出的社交恢复:用户需要设置其他 Argent 账户或者 EOA 地址作为守护者,通过多签验证的形式恢复账户。
这种账户恢复方式对守护者有较高的门槛,要求守护者必须是区块链用户。
而UniPass Wallet通过独创的链上邮件验证技术,推出了邮件恢复方案,用户可以通过设置多个互联网邮箱作为账户的守护者,通过往链上提交邮件的形式实现账户恢复,这大大降低了守护者的门槛。
UniPass服务器通过为用户起草恢复邮件以及提供RPC服务来简化重置主密钥的流程。但是用户并不依赖于官方服务器,开源前端可以在本地运行,在账户恢复/社交恢复的流程中完全跳过服务器。
因此,账户恢复过程可以不依赖平台。
(2)平台服务不可用场景
用户只能恢复自己的那一片私钥分片,但是无法拿回平台管理的私钥分片,因此在平台服务不可用时(如平台倒闭、平台服务宕机),用户无法动用自己的资金。
5.产品优势:
(1)用户体验优:产品结合MPC技术和智能合约,实现无私钥、无Gas费的用户体验。
(2)安全性高:黑客需要破解两封邮件(地址和邮件之间的关系被 zk-tech 隐藏了)才能进入客户的账户,这几乎是不可能的。
(3)可扩展性强:UniPass 是一个智能合约钱包,因此它可以实现丰富的账户管理逻辑。
1.产品定位:无私钥、支持多链的EOA钱包
2.托管模式:同时支持两种模式,自托管和混合托管
3.签名机制:
(1)混合托管:最低签名阈值/私钥分片总数量=2/2,一片在用户的云存储,一片在平台的服务器;
(2)自托管:最低签名阈值/私钥分片总数量=2/3,一片在用户设备的云端服务器(如iCloud、Google Drive等)、一片在平台的服务器、另一片可以备份在用户另外的设备;
4.灾备机制:
(1)更换设备场景:通过邮箱验证+人脸验证,获取用户云端服务器中存储的私钥分片来恢复钱包;
(2)平台服务不可用场景:可以通过自托管模式转移用户资产,但是混合托管模式下,无法拿回平台管理的私钥分片;
5.产品优势:用户可以根据自己的需求选择托管模式,相对比较灵活。
1.产品定位:无私钥、支持多链的EOA钱包
2.托管模式:混合托管
3.签名机制:最低签名阈值/私钥分片总数量=2/2,一片在用户设备的云端服务器(如iCloud、Google Drive等)、一片在平台的服务器;
4.灾备机制:
(1)更换设备场景:通过邮箱验证+人脸验证,获取用户云端服务器中存储的私钥分片来恢复钱包;
(2)平台服务不可用场景:用户只能恢复自己的那一片私钥分片,但是无法拿回平台管理的私钥分片,因此在平台服务不可用时(如平台倒闭、平台服务宕机),用户无法动用自己的资金。
5.产品优势:产品形态相对简单,不用考虑过多因素,适合有一定资产安全需求的新人用户。
1.产品定位:MPC钱包技术提供商
2.托管模式:混合托管
3.签名机制:最低签名阈值/私钥分片总数量=3/3,一片在客户的设备、两片在平台的服务器;
4.灾备机制:
(1)更换设备场景:分为管理员和非管理员,非管理员更换设备,需要管理员授权;管理员更换设备,需要联系平台,通过视频会议进行身份验证。
(2)平台服务不可用场景:通过离线工具获取托管在fireblocks的两个私钥分片并恢复完整私钥。(灾备流程非常严格且复杂)
5.产品优势:
(1)企业定制:Fireblocks作为MPC技术提供商,支持私有化部署;
(2)安全性:Fireblocks是较成熟的资产托管商,服务了很多企业用户,全球品牌知名度很高,安全技术能力很高。
1.产品定位:面向机构客户的数字资产托管服务商
2.托管模式:支持两种模式,混合托管、自托管
3.签名机制:
(1)混合托管:最低签名阈值/私钥分片总数量=2/3,一片在客户、一片在平台服务器、一片由客户委托第三方管理,用于防灾备份;
(2)自托管:最低签名阈值/私钥分片总数量=2/3,客户可以自行管理两片(一片建议日常离线管理)、平台服务器一片;
4.灾备机制:
(1)更换设备场景:利用其委托的第三方私钥分片和 Cobo 所管理的私钥分片进行协作,生成新的三方私钥分片;
(2)平台服务不可用场景:通过离线工具获取托管在Cobo的两个私钥分片并恢复完整私钥,恢复原始私钥(Hard Key Recovery)所使用的恢复工具为开源项目,名为 cobo-mpc-recovery-kits。
5.产品优势:Cobo是较成熟的资产托管商,主要服务于亚太地区的客户,在亚太地区具有一定的竞争力。
2.2.3 Safeheron
1.产品定位:面向中小型团队的企业级自托管钱包
2.托管模式:混合托管
3.签名机制:最低签名阈值/私钥分片总数量=3/3,一片在用户本地设备(APP)、两片在平台的服务器;
4.灾备机制:
(1)更换设备场景:分为管理员和非管理员,非管理员更换设备,需要管理员授权;管理员更换设备,可以通过私钥分片的助记词进行恢复,如果助记词丢失,则无法恢复。
(2)平台服务不可用场景:通过离线工具获取托管在Safeheron的两个私钥分片并恢复完整私钥。
5.产品优势:
(1)移动化:产品形态为APP,基本全移动端化,可以满足移动管理需求;
(2)面向中小团队:提供直接可用的APP产品,与目前市面上较成熟的托管商差异化竞争。
2.3 技术中间件
2.3.1 Web3Auth
1.产品定位:提供企业级MPC解决方案,Web3Auth是钱包底层技术组件,可以集成到其他Web3钱包中
2.托管模式:自托管
3.签名机制:最低签名阈值/私钥分片总数量=2/3,一片在用户设备、一片在平台服务器、还有一片在用户其他设备(备用分片);
4.灾备机制:
(1)更换设备场景:未提供解决方案;
(2)平台服务不可用场景:未提供解决方案;
5.产品优势:可以通过SDK的方式集成Web3Auth,简化用户的注册流程
2.3.2 Particle Network
1.产品定位:Particle Network是一个全栈式、数据驱动、可组合的Web3数据和开发平台,覆盖多种类型的产品服务,包括MPC钱包服务、节点服务、NFT服务、去中心化存储等;
2.托管模式:混合托管
3.签名机制:最低签名阈值/私钥分片总数量=2/2,2/2,客户一片,平台一片;
4.灾备机制:
(1)更换设备场景:通过邮件或社交登录验证后,用户向官方请求恢复私钥,官方会计算一个新的分片发送到客户本地设备;
(2)平台服务不可用场景:未提供解决方案;
5.产品优势:综合性的开发平台,提供了多种底层技术组件,具有协同效应
2.3.3 Sequence
1.产品定位:用于EVM生态的智能合约钱包开发平台
2.托管模式:混合托管
3.签名机制:最低签名阈值/私钥分片总数量=2/3,一片在用户设备、一片在平台、一片委托给第三方Web3Auth;
4.灾备机制:
(1)更换设备场景:未提供解决方案;
(2)平台服务不可用场景:未提供解决方案;
5.产品优势:Sequence是一个智能合约钱包技术组件,因此支持额外的账户管理逻辑。
03 总结
本文对三类MPC钱包的9款产品进行了调研,整体汇总如下表:
横向对比分析之后,我们可以得到如下结论:
1.对于toC类产品
(1)普通用户更加注重便捷性和产品体验,因此产品主打“无私钥”的卖点;
(2)签名机制一般采用最低签名阈值/私钥分片总数量=2/2,即混合托管模式,用户保留一片,平台保留一片;
有的产品为满足部分用户的较高安全性需要,采用最低签名阈值/私钥分片总数量=2/3,用户保存两片,其中一片作为备用分片放在其他设备。
(3)在灾备机制中,面对更换设备场景,一般都会提供私钥分片恢复的解决方案,但不提供恢复原始私钥的解决方案。
2.对于toB类产品
(1)企业客户更加重视安全性,一般服务商会提供一整套解决方案,包括企业管理中常用的审批策略系统,通过灵活变更签名方案对资金进行管理;
(2)签名机制一般采用最低签名阈值/私钥分片总数量=3/3,即混合托管模式,客户保留一片,平台一片,第三方一片;若客户要求自托管,则采用2/3,客户保留两片,其中一片离线管理。
(3)在灾备机制中,面对更换设备场景,私钥分片恢复有严格的角色区分和机制管控;对于极端场景,则会提供完整私钥恢复方案,一般是使用离线工具进行私钥恢复。
总的来看,MPC技术不仅可以用在C端产品中,给普通用户提供“无私钥”的产品体验,降低使用门槛;另一方面,MPC技术也可以应用在B端产品中,满足企业客户复杂的资产管理策略,规范资产管理流程,提高资产安全性。
因此,MPC技术可以说是有发展空间的下一代去中心化钱包解决方案,同时未来的趋势是MPC技术与智能合约钱包结合,融合两者的优势,为用户提供更优的产品体验,为未来大规模用户进入Web3行业提供支持。