原文作者:0xhankester.eth,Biteye 核心贡献者
原文来源:Biteye
加密货币支付公司 TripleA 的数据显示,2022 年全球 Crypto 用户数量达 3.2 亿,而同期全球互联网用户数约为 50 亿,Crypto 用户增长仍存在较大空间。
钱包是用户进入加密世界的第一站,用好钱包才能充分享受 Web3 的安全和自由。易用、安全的钱包可以推动 Web3 走向大众,带来更多用户和资金。
因此,Web3 钱包将成为引爆下一轮牛市的基石。本文将介绍钱包的主流方案和未来的发展方向,旨在为大家找到安全管理资产的最佳方案,部分项目还有很强的空投预期!
1.1 钱包是加密账户的管理工具
加密账户是加密世界的通用账号体系+电子金库+支付工具
在 Web2 世界中,用户通常没有统一的账号体系,登录不同的应用注册不同的账户;用户没有真正掌握资产所有权,用户的资产通常由银行等机构托管,而非时刻带在自己身边,银行也能够在一定的准备金水平上将用户的资产进行贷出;
用户依赖支付宝、微信等支付工具,在支付工具生态内进行用户间结算,而非通过银行直接进行结算
在加密世界中,用户将公-私钥地址作为统一的加密账号体系,接入各种 dapp;用户的所有资产都存放在该加密账户中,因此加密账户同时充当了电子金库,除了用户,没有任何人能够挪用该账户中的资产;
用户还可以用公钥地址发起交易和签名,直接用带在身边的金库中的资产与其他用户进行交易
钱包是加密账户的管理工具,加密账户的创建和管理均通过钱包完成
1.2 涉及概念
与 Web2 的账户体系类似,加密账户也需要自己的账号和密码,账号是社交 ID 与接受资产汇款的地址,密码则用来证明用户本人身份进而让用户支配资产,管理加密账户的软件就是钱包。
1.3 在钱包中创建和管理加密账户的原理
在普通钱包中创建账户并使用账户时,实际上涉及私钥生成、助记词生成、公钥生成、密钥保管、签名等流程,下面以以太坊为例梳理加密账户创建和管理的原理。
1.3.1 密钥的生成:包含私钥、助记词和公钥
1.3.2 密钥的保管
1.3.3 签名:涉及哈希函数等数字摘要技术以及非对称加密技术
由于各公链账户体系有所不同,难以统一讨论,以下讨论均围绕用户最多的以太坊账户体系进行。
2.1 钱包分类
2.1.1 以太坊账户类型可以分为两种:EOA 账户和合约账户
2.1.2 MPC 钱包和账户抽象
EOA 钱包与合约钱包自身存在诸多不足,如新用户进入门槛太高、无法满足用户精细化需求等问题,因此行业内出现了两个针对现有钱包的优化方向:MPC 钱包和账户抽象(以下主要讨论以太坊账户抽象,部分公链具有原生账户抽象设计)。
利用 MPC(多方计算)和 TSS(门限签名)技术,对 EOA 账户的私钥创建、保存、签名步骤进行了优化,大幅度降低了用户的进入门槛,代表项目有 Zengo、Bitizen 1. MPC(多方安全计算): 在创建私钥时,MPC 钱包会生成数个私钥分片,而非完整的私钥,并将私钥分片进行加密后保存在几个设备或服务器中,当用户需要发起交易和签名时,几个设备需同时利用分片进行签名,最终合并成一个完整的签名,整个过程不出现完整私钥,提高了钱包的安全性2. TSS(门限签名):在进行私钥分片后,用户不一定需要同时调用所有的私钥分片进行签名,可以只调用其中几片也能完成签名。目前主流的方案是 2-2 和 2-3,即把私钥分成 2 个分片,需要 2 个分片同时签名;把私钥分成 3 个分片,仅需其中 2 个分片即可完成签名。
a. 分片的设计避免了单点失效的问题,也让 MPC 钱包能够天然实现多签逻辑;MPC 钱包还可以将解密和调用私钥分片的方式替换成 web2 用户熟悉的人脸识别、邮箱等形式,进一步降低用户门槛。
b. 通过 MPC 可以将私钥拆分为更多分片,但由于使用 MPC 技术进行签名的交互过程较为复杂,涉及的分片越多,交互时间越长,因此主流的 MPC 钱包并不会将私钥进行过多拆分。
3. 值得注意的是,用户在使用 MPC 钱包生成账户时,钱包项目方通常会保存一个私钥分片来配合用户进行签名,这样可以让用户在签名时仅需要操作一个分片,避免繁琐。
核心是将账户的签名权和所有权解耦,让合约账户和 EOA 账户的组合更具灵活性,实现 gas 代付、权限可编程等功能,前段时间较火的 EIP-4337 便是最新的实现账户抽象的技术方案
1. 现状
a. 以太坊的 EOA 账户是与私钥紧密耦合的,用创建私钥的同时也创建了唯一对应的加密账户,二者无法分离,在 EVM 的核心逻辑中硬编码写死,无法更改
b. 问题:私钥丢失意味着整个账户丢失,账户缺乏灵活性
2. 改进逻辑
a. 让用户以智能合约地址作为首要账户,将 EOA 账户视作交易的触发器,而非直接使用的账户;用户在 AA 钱包软件中创建账户后引入邮箱、人脸或 EOA 账户等验证器来进行签名(一般带有密码学特性),提交给钱包服务商搭建的中继网络;中继网络验证用户身份后,将用户的交易按照用户需求打包好,使用中继网络的自有的 EOA 账户进行签名,进而广播到链上
b. 使用 AA 钱包可以实现用户自由替换验证器,中继网络代付 gas 等功能,实现巨大的灵活性
c. 目前实现账户抽象的技术架构多种多样,EIP-4337 为官方认可的一般性解决方法,与其余方案相比更容易获得更多钱包产品的采用
3. 账户抽象是基于合约钱包的改进方案,两者边界较为模糊,因此下面在合约钱包部分中介绍具有账户抽象特性的 Argent4. 由于 EIP-4337 方案暂未成熟,以下暂不做讨论,感兴趣的读者可自行了解 Stackup、Candide、Soul Wallet 等基于 EIP-4337 开发的账户抽象钱包
2.2 特点对比
3.1 EOA 钱包
EOA 钱包的核心功能差异不大,但作为用户进入加密世界的第一站以及最常用的工具,不同的 EOA 仍可以从 dapp 展示、附加功能等角度来优化用户体验。下面介绍两款主流的 EOA 钱包
3.1.1 MetaMask
(MetaMask 六周年数据,来源:https://www.panewslab.com/zh/articledetails/rlxr2q8h.html)
MetaMask 内置的 Dex 月活跃人数约为 1.1 万人次,为 MetaMask 带来了平均千万美金以上的月收入。
(MetaMask 内置 Dex 收入情况,来源:https://dune.com/lljj2022/wallet-user-analytics)
3.1.2 imToken
(imToken 用户情况,来源:https://token.im/)
3.2 合约钱包
智能合约钱包具有可编程的特性,不同产品之间功能差异可能较大,用户应根据具体的应用场景选择相应的合约钱包。
3.2.1 Gnosis Safe
(Gnosis Safe 用户情况,数据来源:https://dune.com/safe/ethereum-dau-wau-mau)
作为面向 B 端的智能合约账户,Gnosis Safe 还与诸多知名项目达成了合作。
3.2.2 Argent
用户对私钥无感,实现 web2 友好:Argent 用邮箱和手机号完成账户的创建,创建完成后可用 Face ID 或用户预设的密码调用 Argent 账户内的资产。
Argent 的交易仍为通过 EOA 账户控制的合约钱包,但 EOA 账户的私钥生成后,将由用户通过 Argent 调用,实现用户对私钥无感。
用户以 Guardians 作为首要验证器,实现私钥的可替换和社交恢复:Argent 以用户自行添加的 Guardians 作为身份验证器,能够实现对私钥的替换。
用户可以添加自己的好友为 Guardians 时,即可以通过 Guardians 证明身份,获得新的私钥
Gas 垫付机制:Argent 能够为用户的第一次交互垫付 gas,进一步降低了用户门槛。
(Argent 交易情况,数据来源:https://dune.com/safe/ethereum-dau-wau-mau)
3.3 MPC 钱包
MPC 钱包主要是在私钥的创建、保管和签名层面做了优化,纯 MPC 钱包在用户体验上差异不大。MPC 技术还能够作为一个可组合的模块,与智能合约钱包相结合,构建更加复杂的产品。
对于纯 MPC 钱包来说,MPC 对私钥的分片方案将影响钱包的安全性。
3.3.1 ZenGo
3.3.2 Bitizen
1. Web3 钱包赛道将完整享受到 Web3 大规模应用的红利,成为引爆牛市的基石,但具体哪一款钱包将获得更多用户仍需要结合钱包特性和吸引用户进入 Web3 的具体场景来分析。
2. EOA 钱包是较为粗放的钱包形态,用户自己简单控制私钥的同时牺牲了账户的灵活性,也独自承担了所有与私钥相关的风险。
EOA 钱包服务商也正探索改进自身的方案,来迎接新用户,如 Metamask 正寻求与 MPC 技术公司合作,探索新的钱包形态,等等
3. 合约钱包极大丰富了加密账户的灵活性,通过可编程的智能合约让用户实现了如多签、社交恢复、打包转账等更高级的需求。
但目前的合约钱包仍依赖特定 EOA 账户,且用户承担了较贵的 gas。在未来,随着账户抽象的进一步发展,合约钱包有望进一步降低门槛,获得更大的灵活性,让用户获得极致的功能体验。
4. MPC 钱包通过 MPC 技术消除了私钥和单点失败风险,同时能够引入 web2 友好的邮箱、人脸识别等管理方式,是引入新人进入 Web3,门槛最低的一种形式,也是短期能够最快实现的方案。
此外,MPC 技术也能够和其他类型的钱包相互组合,构建出更加优秀的产品形态。