什么是区块链钱包
区块链钱包(以下简称钱包)是用户访问区块链的入口,是用户在Web3世界的通行证。
钱包通常包含以下功能:
创建区块链账户
由于创建区块链账户的流程相对复杂,钱包的存在可以帮助用户简化这些流程。一般在创建账户后,钱包会引导用户备份私钥或助记词,然后进行二次验证,确保用户备份的私钥或助记词是准确的。
管理区块链资产
钱包的存在大大方便了用户管理自己的资产,主要包括转账、收款、查看资产详情、交易明细等,功能类似银行APP,可以看到自己目前拥有哪些资产,有多少,以及转移自己的资产。
探索区块链生态系统
目前部分公链设计会鼓励生态内用户积极参与公链生态建设,主要形式包括节点投票、全民公投、Staking等,都可以通过钱包参与。
而一些大型的DApp应用则是以第三方独立APP的形式存在的,在体验这些基于APP的DApp时,同样需要钱包作为登录、交易授权的媒介。
交易
部分钱包还支持法币兑换、场内交易、OTC交易等加密资产交易服务。其中OTC(Over The Counter)交易是在交易所之外的点对点交易,由第三方担保,目前是法币与加密资产一对一交易的主要方式。
其他的
由于钱包天然具备金融属性,部分钱包会集成矿池、理财、挖矿、项目投资等多种金融工具和功能,可以满足用户对资产增值的需求。
与“支付宝”比较
对于刚接触区块链的用户,我们可以先从非严格定义的角度将区块链钱包与“支付宝”进行类比。
与支付宝的相似之处:
与支付宝的区别:
钱包的发展与挑战
比特币刚诞生的时候,钱包非常简陋,甚至需要几天时间才能同步下载整个比特币账本,然后才能运行。当时只有少数操作电脑的极客才能使用钱包。下图是比特币创始人中本聪设计的世界上第一个比特币钱包:
随着比特币的发展,2011年6月29日,比特币支付处理器BitPay推出了首款用于智能手机的比特币电子钱包,这是钱包走向普通用户的历史性一步,但其主要特点是只能存储比特币。
2013年11月,距离比特币创世区块诞生近五年后,以太坊白皮书问世,宣布区块链进入2.0时代,智能合约开始在区块链中使用。此时,钱包除了可以转账、收款外,还可以进行链上合约操作。
2018 年,DeFi 一词首次在 Telegram 上被提出。随着 Compound、Uniswap、DAI 等协议的推出,以太坊生态开始蓬勃发展。2020 年夏季收益耕作和聚合器爆发后,交易活动大幅增加,DeFi 流动性挖矿盛行,区块链钱包用户量突破 5000 万,区块链钱包进入快速扩张期。
从2021年至今,随着跨链、Layer2的叙事,区块链钱包成为人们存储资产和交易的热门选择。同时,支持跨链资产也成为用户选择钱包的重点考虑之一。
2022 年,在波哥大举办的 Devcon 6 大会上,Tomasz Tunguz 提到了 Web3 的一些数据:主流公链的累计 DAU 大概是 250 万,而传统互联网的 DAU 是 50 亿,前者勉强达到后者的 0.05%。从供给端来看,Web3 开发的开发者大概有 1.6 万,而全球开发者总数已经达到 2700 万,Web3 开发者占比不到 0.06%。因此,Web3 距离大规模采用还有很长的路要走。
作为Web3的入口,钱包大规模采用的第一个挑战是解决“私钥保管”的问题。
在区块链世界里,私钥掌控一切,业内有“没有你的钥匙,就没有你的币”的共识。
去中心化钱包使用助记词和分层确定性(HD)结构来派生私钥并自我保管,这似乎意味着去中心化钱包应该是管理加密资产的最佳实践。根据 Finbold 发布的一份报告,全球交易所共有 2.95 亿加密货币钱包用户,去中心化钱包用户只有 8100 万,占比 21.5%。
将私钥委托给中心化交易所自然是不安全的。2022 年 11 月 FTX 的倒闭是一系列交易所安全事件中的最新一起。不过,仍有大量用户愿意承担托管风险,以换取更低的成本和易用性。因为对于绝大多数用户来说,虽然掌握私钥可以独立管理资产,而不用将资产和数据交给他人,但私钥的托管却成了一大难题。相信很多人都有在纸上写助记词的经历。
据OKLink数据统计,2022年因私钥泄露、私钥丢失导致的用户数字资产损失最大,达到9.3亿美元,占总损失的40%左右。在区块链世界里,私钥一旦丢失或被盗,就意味着资产的永久性损失,这对于普通用户来说是难以承受的。
为了解决“私钥保管”问题,钱包厂商都在探索无私钥钱包、社交恢复,智能合约钱包是主流解决方案之一。
智能合约钱包
以太坊的账户类型分为外部账户(Externally Owned Account,EOA)和合约账户(Contract Account,CA)。
智能合约钱包是一个行为类似钱包的合约账户,也就是一个允许用户管理资产、与DApp交互的智能合约。与外部账户钱包不同,智能合约钱包没有私钥,只有地址。因此,智能合约钱包无法主动发起交易,只能在触发后按照写好的代码执行交易。而且智能合约需要部署在链上,因此创建智能钱包需要初始成本。
我们常说的多重签名钱包,是智能合约钱包的一种,需要M-of-N密钥的签名才能执行交易。
多重签名钱包中每个实体都持有自己的私钥,执行交易需要多个实体通过钱包合约的验证,合约一般也提供恢复选项,多数实体可以投票改变授权密钥集,可以有效解决少数实体私钥被盗或丢失的问题。
多重签名钱包被 DeFi 协议和 DAO 广泛使用,但并不是钱包普及的技术路径,毕竟普通用户已经习惯了 Web2 支付和账户,比如生物识别支付、社交恢复账户等。
要在Web3世界实现如此强大的功能,必须引入“账户抽象”的概念。
在计算机科学中,“抽象”是指从较大的片段中提取相关部分并将某物分解为较小的部分。
在以太坊中,账户抽象是指将交易验证和交易执行从单一流程拆分为可根据用户个人需求进行调整的模块化组件。
账户抽象的核心目标是让智能合约成为交易的发起账户,让用户可以自定义账户的安全模型和运行模型,完全不需要外部账户。由于外部账户和密钥对耦合太紧,本质上就是一个东西,所以无法用自定义代码来授权交易,解锁用户体验。
V神在《以太坊的三次转型》一文中提到:如果大家都不能迁移到智能合约钱包,就会导致以太坊的失败。
所以账户抽象对于以太坊来说意义重大,一旦真正落地,Web3或许会诞生新的应用、玩法、想象空间。