转载请注明来自「Biteye」社区
作者:Biteye 核心贡献者 0xhankester.eth
编辑:Biteye 核心贡献者 Crush
*全文约 6000 字,预计阅读时间为 12 分钟。
加密货币支付公司 TripleA 的数据显示,2022 年全球 Crypto 用户数量达 3.2 亿,而同期全球互联网用户数约为 50 亿,Crypto 用户增长仍存在较大空间。
钱包是用户进入加密世界的第一站,用好钱包才能充分享受 Web3 的安全和自由。易用、安全的钱包可以推动 Web3 走向大众,带来更多用户和资金。
因此,Web3 钱包将成为引爆下一轮牛市的基石。本文将介绍钱包的主流方案和未来的发展方向,旨在为大家找到安全管理资产的最佳方案,部分项目还有很强的空投预期!
加密账户是加密世界的通用账号体系+电子金库+支付工具
在 Web2 世界中,用户通常没有统一的账号体系,登录不同的应用注册不同的账户;用户没有真正掌握资产所有权,用户的资产通常由银行等机构托管,而非时刻带在自己身边,银行也能够在一定的准备金水平上将用户的资产进行贷出;
用户依赖支付宝、微信等支付工具,在支付工具生态内进行用户间结算,而非通过银行直接进行结算
在加密世界中,用户将公-私钥地址作为统一的加密账号体系,接入各种 dapp;用户的所有资产都存放在该加密账户中,因此加密账户同时充当了电子金库,除了用户,没有任何人能够挪用该账户中的资产;
用户还可以用公钥地址发起交易和签名,直接用带在身边的金库中的资产与其他用户进行交易
钱包是加密账户的管理工具,加密账户的创建和管理均通过钱包完成
与 Web2 的账户体系类似,加密账户也需要自己的账号和密码,账号是社交 ID 与接受资产汇款的地址,密码则用来证明用户本人身份进而让用户支配资产,管理加密账户的软件就是钱包。
公钥:用户加密账户的账号,充当社交 ID 与资产汇款地址(以太坊 EOA 账户取公钥 Keccak-256 哈希值的最后 20 个字节作为账户地址);
私钥:加密账户的密码和所有权证明,用于登录账号和调动账户内资产;
助记词:私钥的备份,通过助记词可导出私钥;
钱包的登录密码:私钥被创建后,不直接明文出现在用户界面,而是经过加密后储存在用户本地或云端,用户在创建账户后需要设置密码,用来调用和解密本地的私钥用于签名和使用资产。
在普通钱包中创建账户并使用账户时,实际上涉及私钥生成、助记词生成、公钥生成、密钥保管、签名等流程,下面以以太坊为例梳理加密账户创建和管理的原理。
1.3.1 密钥的生成:包含私钥、助记词和公钥
私钥生成:钱包调用区块链操作系统底层的随机数生成器来生成 256 位随机数作为私钥,私钥大小为 32 字节;
助记词生成:以上生成的私钥将通过一系列算法的转换,形成 12 或 24 个字符长度的易识别和书写的助记词提供给用户,私钥和助记词可视为等价,且一一对应;
公钥生成:最初生成的私钥通过一系列非对称加密和哈希算法最终生成 64 字节长度的地址,公钥的后 20 位将成为用户的地址;
非对称加密算法保证了由私钥容易导出公钥,但公钥极难导出私钥的性质,因此可将公钥作为公开的账号和地址,用私钥来进行授权或调动资产;
公钥和私钥是一一对应的,且无法更改;有公钥没有私钥无法控制账户,有私钥或助记词即相当于拥有了整个加密账户;
目前有三类代表性的非对称加密算法:RSA 算法、椭圆曲线加密算法和离散对数加密算法,用于保证「私钥推公钥-公钥无法推私钥」的不对等性。
1.3.2 密钥的保管
私钥:钱包里内置了 keystore 功能,用来加密和保存生成的私钥;
登录钱包的密码:用来加密私钥并储存在 keystore 中,用户输入密码登录钱包软件的过程就是解密和调用私钥的过程;
公钥:直接明文公开。
1.3.3 签名:涉及哈希函数等数字摘要技术以及非对称加密技术
当用户发起一笔交易时,该笔交易的信息将被哈希函数转换成一串数字摘要 H(m),同时用户还会将该数字摘要用私钥 (private key) 加密一次得到数字签名 H(m,private key);
用户将数字摘要 H(m) 和数字签名 H(m,pk) 一并发给链上的验证者/矿工;
验证者/矿工用用户的公钥对数字签名 H(m,private key) 进行解密,得到数字摘要 H'(m);
验证者/矿工比对用公钥解密出的摘要 H'(m) 与用户直接发送的数字摘要 H(m);
若两者相同,则用户的交易请求未被篡改,且为用户本人发起,则验证者/矿工执行交易;
若两者不同,则用户的交易请求在传播过程中被篡改或该笔交易并非用户本人签名,该笔交易作废。
由于各公链账户体系有所不同,难以统一讨论,以下讨论均围绕用户最多的以太坊账户体系进行。
2.1.1 以太坊账户类型可以分为两种:EOA 账户和合约账户
外部账户(Externally Owned Accounts - EOA):具有发起交易、签名、支付 gas 等基础功能,是加密账户最基本的构成元素,目前以太坊的交易必须由外部账户发起,用户直接通过私钥控制 EOA 账户,Metamask 是最具代表性的 EOA 钱包。
合约账户(Contract Account - CA):由智能合约地址作为账户地址,同时利用智能合约的可编程性,实现比 EOA 账户更加复杂的业务逻辑,如多签、一次执行多笔交易等;智能合约账户无法主动发起交易、签名、支付 gas 等操作,需要用 EOA 账户来控制合约账户,实现交易和签名等功能,项目代表有 Gnosis Safe。
2.1.2 MPC 钱包和账户抽象
EOA 钱包与合约钱包自身存在诸多不足,如新用户进入门槛太高、无法满足用户精细化需求等问题,因此行业内出现了两个针对现有钱包的优化方向:MPC 钱包和账户抽象(以下主要讨论以太坊账户抽象,部分公链具有原生账户抽象设计)。
2.1.2.1 MPC(Multi-Party Computation - MPC)钱包
利用 MPC(多方计算)和 TSS(门限签名)技术,对 EOA 账户的私钥创建、保存、签名步骤进行了优化,大幅度降低了用户的进入门槛,代表项目有 Zengo、Bitizen
MPC(多方安全计算):在创建私钥时,MPC 钱包会生成数个私钥分片,而非完整的私钥,并将私钥分片进行加密后保存在几个设备或服务器中,当用户需要发起交易和签名时,几个设备需同时利用分片进行签名,最终合并成一个完整的签名,整个过程不出现完整私钥,提高了钱包的安全性
TSS(门限签名):在进行私钥分片后,用户不一定需要同时调用所有的私钥分片进行签名,可以只调用其中几片也能完成签名。 目前主流的方案是 2-2 和 2-3,即把私钥分成 2 个分片,需要 2 个分片同时签名;把私钥分成 3 个分片,仅需其中 2 个分片即可完成签名。
a. 分片的设计避免了单点失效的问题,也让 MPC 钱包能够天然实现多签逻辑;MPC 钱包还可以将解密和调用私钥分片的方式替换成 web2 用户熟悉的人脸识别、邮箱等形式,进一步降低用户门槛。
b. 通过 MPC 可以将私钥拆分为更多分片,但由于使用 MPC 技术进行签名的交互过程较为复杂,涉及的分片越多,交互时间越长,因此主流的 MPC 钱包并不会将私钥进行过多拆分。
值得注意的是,用户在使用 MPC 钱包生成账户时,钱包项目方通常会保存一个私钥分片来配合用户进行签名,这样可以让用户在签名时仅需要操作一个分片,避免繁琐。
2.1.2.2 账户抽象(Account Abstraction - AA)
核心是将账户的签名权和所有权解耦,让合约账户和 EOA 账户的组合更具灵活性,实现 gas 代付、权限可编程等功能,前段时间较火的 EIP-4337 便是最新的实现账户抽象的技术方案
现状
a. 以太坊的 EOA 账户是与私钥紧密耦合的,用创建私钥的同时也创建了唯一对应的加密账户,二者无法分离,在 EVM 的核心逻辑中硬编码写死,无法更改
b. 问题:私钥丢失意味着整个账户丢失,账户缺乏灵活性
改进逻辑
a. 让用户以智能合约地址作为首要账户,将 EOA 账户视作交易的触发器,而非直接使用的账户;用户在 AA 钱包软件中创建账户后引入邮箱、人脸或 EOA 账户等验证器来进行签名(一般带有密码学特性),提交给钱包服务商搭建的中继网络;中继网络验证用户身份后,将用户的交易按照用户需求打包好,使用中继网络的自有的 EOA 账户进行签名,进而广播到链上
b. 使用 AA 钱包可以实现用户自由替换验证器,中继网络代付 gas 等功能,实现巨大的灵活性
c. 目前实现账户抽象的技术架构多种多样,EIP-4337 为官方认可的一般性解决方法,与其余方案相比更容易获得更多钱包产品的采用
账户抽象是基于合约钱包的改进方案,两者边界较为模糊,因此下面在合约钱包部分中介绍具有账户抽象特性的 Argent
由于 EIP-4337 方案暂未成熟,以下暂不做讨论,感兴趣的读者可自行了解 Stackup、Candide、Soul Wallet 等基于 EIP-4337 开发的账户抽象钱包
EOA 钱包的核心功能差异不大,但作为用户进入加密世界的第一站以及最常用的工具,不同的 EOA 仍可以从 dapp 展示、附加功能等角度来优化用户体验。下面介绍两款主流的 EOA 钱包
3.1.1 MetaMask
简介:MetaMask 是目前应用最为广泛的加密钱包,也是绝大部分用户进入加密世界的第一站。
主要功能:EOA 账户创建与管理+内置 Swap 产品形态:浏览器插件、手机端 App
用户情况:根据 MetaMask 发布的六周年回顾,截至 2022 年 3 月,其月活用户达到了 3000 万。
MetaMask 内置的 Dex 月活跃人数约为 1.1 万人次,为 MetaMask 带来了平均千万美金以上的月收入。
融资信息:MetaMask 母公司 ConsenSys 于 2022 年 3 月宣布以 70 亿美元估值完成 4.5 亿美元 D 轮融资,由 ParaFi Capital 领投,其他参投方包括淡马锡、SoftBank Vision Fund 2 等
3.1.2 imToken
简介:imToken 是另一个应用较为广泛的 EOA 钱包。
主要功能:EOA 账户创建与管理+多类型代币展示+Swap+行情+浏览器,相比 MetaMask,imToken 集成了更加全面的功能,让用户仅在钱包内就可完成信息浏览、参与 ETH 质押、查看行情、Swap 等操作。
产品形态:手机端 App
用户情况:imToken 目前有超过 1200 万用户,覆盖 150 多个国家与地区,累计转账金额超过 5000 亿美金。
融资信息:imToken 于 2021 年 3 月宣布完成 3000 万美元 B 轮融资,由启明创投领投,IDG Capital、HashKey、Breyer Capital、Signum Capital、Longling Capital、SNZ 和个人投资者梁信军跟投,此前 A 轮独家战略投资方 IDG Capital 继续跟投。
智能合约钱包具有可编程的特性,不同产品之间功能差异可能较大,用户应根据具体的应用场景选择相应的合约钱包。
3.2.1 Gnosis Safe
简介:Gnosis Safe 是为 B 端或者有相应需求的 C 端用户打造的多签钱包,也是合约钱包赛道中的头部项目。
核心功能:在用一个 EOA 账户创建 Gonosis Safe 的合约后,可继续添加其他加密账户为该合约账户的管理员,并且设定有几个管理员同时签名后才能调用合约账户里的资产,该特征较适用于有一定组织架构的团体或公司。
产品形态:网页端应用
特点:gas 较高,从创建合约账户开始就需要用 EOA 账户支付 gas,相同一笔转账也会收取比 EOA 账户更高的 gas。
用户情况:目前 Gnosis Safe 的创建地址数约为 12 万个,月均交易量约为 5.5w 笔。
作为面向 B 端的智能合约账户,Gnosis Safe 还与诸多知名项目达成了合作。
融资信息:2022 年 7 月宣布完成 1 亿美元融资,由 1kx 领投,IOSG Ventures、Tiger Global、A&T Capital、Blockchain Capital、Digital Currency Group、Greenfield One、Rockaway Blockchain Fund、ParaFi、Lightspeed、Polymorphic Capital、Superscrypt 以及其他 50 家战略合作伙伴和行业专家参投。
3.2.2 Argent
简介:Argent 是基于 zkSync 打造的智能合约钱包,用户通过邮箱和手机号即可完成账户的创建,且过程中不出现私钥和助记词等概念,对 web2 用户较为友好;同时其充分利用了 zkSync 账户体系的灵活性,具有原生的账户抽象特征。
核心功能:集成了行情信息、Swap、法币入金等功能,让用户在应用内能进行更多操作。
用户对私钥无感,实现 web2 友好:Argent 用邮箱和手机号完成账户的创建,创建完成后可用 Face ID 或用户预设的密码调用 Argent 账户内的资产。
Argent 的交易仍为通过 EOA 账户控制的合约钱包,但 EOA 账户的私钥生成后,将由用户通过 Argent 调用,实现用户对私钥无感。
用户以 Guardians 作为首要验证器,实现私钥的可替换和社交恢复:Argent 以用户自行添加的 Guardians 作为身份验证器,能够实现对私钥的替换。
用户可以添加自己的好友为 Guardians 时,即可以通过 Guardians 证明身份,获得新的私钥
Gas 垫付机制:Argent 能够为用户的第一次交互垫付 gas,进一步降低了用户门槛。
产品形态:手机 App
用户情况:目前 Argent 注册地址数约为 7.35 万个,总交易数量超过 58 万笔。
融资信息:2022 年 4 月宣布完成 4000 万美元 B 轮融资,Fabric Ventures 和 Metaplanet 领投,参投方包括现有投资者 Paradigm、Index Ventures 和 Creandum,以及战略投资者 Starkware、Jump Trading 和 Animoca Brands。
3.3 MPC 钱包
MPC 钱包主要是在私钥的创建、保管和签名层面做了优化,纯 MPC 钱包在用户体验上差异不大。MPC 技术还能够作为一个可组合的模块,与智能合约钱包相结合,构建更加复杂的产品。
对于纯 MPC 钱包来说,MPC 对私钥的分片方案将影响钱包的安全性。
以目前市场上主流的 2-2 方案和 2-3 方案为例,两种方案分别把私钥分成了 2 个和 3 个私钥分片,其中 1 片会分给钱包项目方。两种方案都仅需 2 个分片就可以完成签名,因此用户只需要自己的 1 片加上项目方的 1 片便可以完成签名。
对于 2-2 方案来说,如果钱包项目方不配合用户进行签名,则用户无法调用自己的资产,即钱包项目方能够变相冻结用户资产;对于 2-3 方案,用户如果掌握两个分片,当钱包项目方不配合签名时,用户仍然能够用自己手中的 2 个分片进行签名,控制自己的资产,因此下面介绍一款老牌和一款新兴的主打 2-3 方案的 C 端纯 MPC 钱包。
对于 MPC+智能合约钱包的方案,由于用户引入了另外的验证器来自证身份,MPC 将仅仅承担优化用户签名体验的作用,而非用户控制资产的唯一渠道,因此分片方案可以有更多选择。
由于 MPC 能够天然实现多签效果,也出现了类似 Gnosis Safe 的 toB 钱包,如 MPCVault,感兴趣读者可自行了解。
3.3.1 ZenGo
简介:ZenGo 是较早出现的 MPC 钱包
核心功能:钱包内集成了 Swap、NFT&DeFi 产品购买、法币购买 crypto 等功能,可以用邮箱和人脸来加密和调用自己的私钥分片,获得 web2 友好的使用体验。
产品形态:手机 App
用户情况:目前 ZenGo 拥有有超过 65 万的用户(数据来源:https://www.chaincatcher.com/article/2080388)
融资信息:2021 年 4 月宣布完成 2000 万美元 A 轮融资,由 Insight Partners 领投,另外,三星旗下的风投基金 Samsung Next 也再次投资了 ZenGo。
3.3.2 Bitizen
简介:Biitizen 是前段时间一级市场热度较高的 MPC 钱包,华人团队开发。
核心功能:钱包内集成了行情、dApp、浏览器等功能。用户可利用邮箱、生物识别、设备锁等方式备份自己手中的私钥分片,获得 web2 友好的使用体验。
产品形态:手机 App
用户情况:暂无具体用户数据
融资信息:暂无
Web3 钱包赛道将完整享受到 Web3 大规模应用的红利,成为引爆牛市的基石,但具体哪一款钱包将获得更多用户仍需要结合钱包特性和吸引用户进入 Web3 的具体场景来分析。
EOA 钱包是较为粗放的钱包形态,用户自己简单控制私钥的同时牺牲了账户的灵活性,也独自承担了所有与私钥相关的风险。EOA 钱包服务商也正探索改进自身的方案,来迎接新用户,如 Metamask 正寻求与 MPC 技术公司合作,探索新的钱包形态,等等
合约钱包极大丰富了加密账户的灵活性,通过可编程的智能合约让用户实现了如多签、社交恢复、打包转账等更高级的需求。但目前的合约钱包仍依赖特定 EOA 账户,且用户承担了较贵的 gas。在未来,随着账户抽象的进一步发展,合约钱包有望进一步降低门槛,获得更大的灵活性,让用户获得极致的功能体验。
MPC 钱包通过 MPC 技术消除了私钥和单点失败风险,同时能够引入 web2 友好的邮箱、人脸识别等管理方式,是引入新人进入 Web3,门槛最低的一种形式,也是短期能够最快实现的方案。此外,MPC 技术也能够和其他类型的钱包相互组合,构建出更加优秀的产品形态。
参考资料
[01]《捂好钱包!黑客也要回家过年!钱包事件大汇总》
https://foresightnews.pro/article/detail/23475
[02]《账户抽象 (Account Abstraction) 入门指南(上)》
https://foresightnews.pro/article/detail/17412
[03]《详解私钥、密码、keystore 和助记词》
https://juejin.cn/post/6882556648460828679
[04]《账户抽象的动机、历史和分析》
https://mp.weixin.qq.com/s/ZGzw3VE-8KEQE5xu7Jw_8A
[05]《名词解释:Web3 账户相关概念大梳理》
https://mirror.xyz/zhixian.eth/dACTTYPzEfRcF6jSE_iwJsnbNmN2Ier_NA_TzkZaOeM
[06]《以太坊:账户私钥、公钥、地址的生成》
https://www.cnblogs.com/kumata/p/10591394.html
[07]《Argent、智能合约钱包和以太坊的未来》
https://zhuanlan.zhihu.com/p/86385818
关于我们
Biteye 是一个海外的 Web3 学习研究型社区,以社区驱动的方式来产生内容和工具,并通过 DAO 的方式来治理和激励!
微信群:添加小助手 @Biteye01 入群
Twitter:@BiteyeCN
Discord:discord.gg/Biteye
*声明:本文分享内容仅作学习交流,不构成任何投资建议,且不代表 Biteye 立场。喜欢我们的文章,就关注我们吧!