作为区块链大规模应用的起始点,众多钱包正在采用智能合约等技术降低用户保管私钥的门槛。抛开私钥和助记词,你需要一个智能钱包。
撰文:姚翔,MYKEY 研究员
著名证券经纪人 Peter Schiff 丢失了他的比特币,他并不开心。他发推特吐槽比特币,引发了一场热议,许多人攻击他,正如许多人攻击比特币。
如果确实如 Peter Schiff 所说,他没有记错密码,那这次丢失是如何发生的呢?钱包软件的 BUG、手机病毒甚至是一次深度磁盘清理,都可能导致私钥存储文件丢失。此外还有一类情况,手机可能直接坏掉或者丢失。这时,如果用户从未备份过私钥,那么这笔钱就永远找不回来了。
「你应该把私钥抄在纸上,存在安全的三个地方!加密就是加密,你要为自己负责!」不少人向 Peter Schiff 展现了密码货币社区的自主权。但是,以太坊联合创始人 Vitalik Buterin 认为这是不对的:这个圈子能够也必须提供更好用更安全的钱包。
那么对于普通人来说,什么样的钱包更好用呢?不妨让我们从头说起。
什么是钱包?
钱包是什么呢?简单的说,钱包是密钥管理工具 + 区块链浏览器 + 应用入口。
· 密钥管理工具
首先,密钥(私钥)是用户访问区块链网络的凭证。区块链上的每一次操作都验证用户的私钥,这是通过一种叫做数字签名的方式来实现的。私钥是用户的私密信息,需要在用户本地安全保管,一旦泄露就会带来账户安全问题。钱包需要帮助用户管理私钥,首先要保证私钥的安全,其次要保证私钥可以安全地进行签名。
· 区块链浏览器
区块链上记录了用户的资产信息和所有的操作记录。钱包访问区块链,并将原始数据解析为用户可读的格式。例如,资产的余额、游戏装备的图像、出席活动的勋章等。钱包就是区块链的 UI 层。
· 应用中心
区块链上有大量的去中心化应用,包括金融 DeFi、游戏等。钱包是这些应用的入口,类似区块链的应用商店,实现了应用分发。
区块链应用的障碍
没有钱包,就不能称作区块链的用户,钱包本该是普通人进入区块链世界的车票。而如今,钱包却成了制约用户拓展的巨大瓶颈,限制了区块链的大规模应用。总结起来主要有以下几点原因。
· 密钥管理困难
大部分用户刚刚习惯互联网的账号密码体系,且已经被复杂的密码体系弄昏了头,但好在还可以用手机号找回密码。区块链的世界里,私钥是唯一权限,忘了就是忘了,被偷了就是被偷了,没有后悔的机会。
目前的钱包要么是自己掌握私钥,称为普通钱包,要么是由第三方托管用户资产,用户并不拥有资产的私钥,而是在托管方那里记账。
绝大多数用户不愿意承担丢失私钥就无法找回的风险,因此不会使用自己掌握私钥的普通钱包,会选择托管钱包或者交易所来保管数字资产,用户也因此无法体验区块链世界的全部功能,同时也需要承受更多风险。换言之,一个安全、易用的密钥管理机制是用户自主管理资产、进入区块链世界的必要条件。
· 网络费用复杂
使用区块链需要付费,这不是问题,问题是怎么收费。
不同的区块链采用不同的方式进行计费,这与他们的底层共识和经济模型密切相关。举例来说,比特币的每一笔交易都需要设定一定数额的以 BTC 计价的手续费;而以太坊则将每一笔交易最终翻译成一组操作码的集合,而每一个操作码都对应着一定数量的 gas 消耗,交易需要设置单位 gas 的价格,gas 总消耗和 gas 价格决定了最终的手续费,以 ETH 计价;EOS 则是将资源拆分成了计算资源(CPU)、网络资源(NET)和存储资源(RAM),用户需要抵押 EOS 以租用 CPU 和 NET,而需要使用 EOS 购买 RAM,同时 EOS 提供了资源租赁平台 REX,用户可以使用采取直接购买 REX 的方式来获得一定时间内资源的使用权。
本文将不再论述不同的资源模型的优缺点,因为它太复杂了。对于普通用户来说,这些计费规则令人眼花缭乱,能不能简单地使用区块链呢?易理解、符合用户习惯的付费模式是让降低用户使用区块链门槛的重要条件。
· 多链账户分散
用户可能持有不同链上的资产,也有使用多个区块链上应用的需求。在传统的模式下,用户需要在不同的链上创建账户,并分别管理这些账户的私钥。BIP 39 协议允许通过一个种子生成在不同公链上的私钥。这种方式固然可以保护用户的隐私,即无法通过公钥将多链上的身份对应起来,但另一方面,这显然也不利于跨区块链的认证和资产转移。实现多链账户的统一管理,是实现跨链的可行路径。
越过区块链的障碍
为了解决密钥管理、网络费用和多链账户给用户造成的不便,许多从业者为行业提出了有益的解决方案。
密钥管理层面,以 TEE 和硬件钱包为代表的解决方案提高了介质的安全;基于多重签名、秘密共享和门限签名的解决方案分散了权限,降低了单点风险;以太坊也提出了 EIP-2429,旨在引入社交恢复功能。
网络费用层面,元交易(meta-tx)和 ERC865 提案(草稿)分别给出了代付网络费和使用 ERC20 token 支付网络费的方案。
多链账户层面,BIP 39/44 协议支持使用一个 seed 派生出多条链上的私钥,目前主流的多链钱包都是采用了这样的方案。然而,无论是托管钱包还是普通钱包,传统的数字钱包在安全性和易用性上难以取得平衡。
什么是智能钱包
智能钱包一词,最早出处不可考,但 Vitalik Buterin 在各种活动和文章中均提出智能钱包是一种推动区块链大规模应用的工具。
智能钱包的「智能」,并非人工智能的「智能」,而是说其是基于「智能合约」的。简单来说,用户的资产不再由一个私钥完全控制,而是通过智能合约,即设定好的区块链上的程序来控制。例如账户的钱可以由哪些密钥控制,每天是否有限额,是否可以冻结,是否可以实现账户恢复?这些逻辑都可以不依赖区块链的底层,而是依赖智能合约的逻辑来实现对权限的定义和切分。
这样做的好处是,风险不再高度集中,同时允许用户适当犯错,哪怕用户不小心泄露或遗失写有私钥的纸,也有办法保证账户安全,或者恢复账户。
智能钱包是访问基于智能合约实现的区块链账户的软件,用户在区块链上是一个智能合约。智能钱包在本地安全地保管用户的私钥,提供访问区块链的入口,构建数字签名,通过和对应的智能合约账户交互实现转账,使用区块链应用。智能钱包意在降低区块链的使用门槛,在安全性和易用性上寻求平衡。
智能钱包与托管钱包、普通钱包的区别如下:
典型的智能钱包
目前智能钱包的赛道上有哪些角力者呢?它们各自的特点和优势又是什么呢?根据公开资料,我们选取了三款用户基数较大的智能钱包进行分析,分别是 Argent、Monolith、MYKEY。
· Argent
Argent 是一家英国伦敦公司,提供基于以太坊的智能钱包。Argent 注册时需要提供手机号和邮箱,用于验证用户身份。在账户管理层面,用户无法导出私钥,私钥与设备严格绑定,允许迁移到新设备。
Argent 通过引入 Guardians 机制,允许用户设置亲友、硬件钱包或 Argent Guard 作为「guardian」。Guardian 机制实现了账户的可恢复,超过半数的 guardian 可以协助用户完成钱包的锁定、解锁和恢复。
在资产管理层面,可以设置转账限额。大额转账需要延时到账,或在 Guardian 协助下立即到账。不允许导出私钥,更换设备必须依靠 Guardian,Argent Guard 通过手机 / 邮箱验证用户。在合理使用范围内,无需支付 gas 费用。
· Monolith
Monolith 是一家伦敦公司。Monolith 允许用户设置白名单地址、日转账限额、日手续费限额等。用户可导出私钥并独立保管,但 Monolith 没有账户恢复机制。
手续费层面,Monolith 采用预付模式,用户需要向 Gas Tank 充值 ETH,用以缴纳将来产生可能产生的 gas 费用。
此外,允许欧盟成员将账户绑定一张万事达的储蓄卡,用于线下支付。
· MYKEY
MYKEY 基于 KEY ID 协议实现。KEY ID 协议将账户权限分割为管理权限和操作权限,管理权限只能对账户权限进行修改,操作权限可以用来执行转账及其它操作。
MYKEY 允许用户导出管理私钥(恢复码),操作私钥不允许导出,但可同步到新设备。此外,MYKEY Lab 默认成为实名用户的紧急联系人,可以协助用户进行恢复账户等操作。手
续费层面, MYKEY 提供一定的免费额度,同时可以针对应用设置定向免费。例如,满足条件的用户每月最多可以享有 4 笔以太坊转账免费次数,当用完之后,需要充值或通过参加活动获取网络费才能继续使用。
· 常见智能钱包比较
基于应用场景和目标用户的不同,三款钱包各有特色,在安全、易用性等方面各有千秋:
广义智能钱包
「智能钱包」是否是钱包这条大赛道上的唯一出路呢?非智能钱包中也有一些仍然在保障用户自主的情况下,允许用户更好地管理私钥,可以通过社交网络或可信的第三方服务恢复账户。采用这种方式的钱包包括 HTC Zion、ZenGo、Torus 等。
· HTC Zion
HTC Zion 是 HTC 定制的手机钱包。Zion 钱包的特殊之处主要有两点:(1)钱包是手机预装的,私钥全生命周期受 TEE 环境保护;(2)引入社交恢复功能,将私钥通过秘密分享的方式分发给可信的朋友保管,来避免私钥丢失的问题。当用户丢失手机或忘记密码时,可以向紧急联系人请求恢复,当一定数量的紧急联系人同意后,私钥可以找回。
· ZenGo
ZenGo 使用门限签名及生物鉴别的方式,降低用户保管私钥的门槛。简单来说,ZenGo 的用户端存有一份私钥,而在服务端存有另外一份私钥。发送交易时,用户在本地得到部分签名,发送到服务端,使用签名聚合的方法构造最终的交易。
ZenGo 用户端的私钥使用另外一个密钥加密后传输到云端(如 iCloud)保存,加密使用的密钥托管在一个第三方人脸识别的安全机构处。当用户丢失手机时,需要通过安全机构的人脸验证,再解密存储在云端的私钥。
· Torus
Torus 致力于密钥管理,采用了可公开验证的秘密共享(PVSS)方案将私钥托管在不同的可信机构。当用户丢失私钥时,用户提交恢复请求,可信机构验证用户身份后给出切分后的私钥。当足够的可信机构批准后,私钥可被恢复。
这些钱包虽然未使用智能合约技术,但仍是采用新技术降低用户保管私钥门槛的钱包,或许可以称之为广义的「智能钱包」。
总结
新的时代在召唤我们,忘记私钥和助记词吧,智能钱包可以让用户更方便地使用区块链。目前,本文中提到的三款智能钱包都已经向用户开放注册,大家可以下载体验感受。下载地址如下:
Argent:https://www.argent.xyz/
Monolith:https://monolith.xyz/
MYKEY:https://mykey.org/
链闻推荐补充阅读:一文读懂加密货币钱包产品现状及发展趋势
参考文献
[1] Vitalik 提到的智能钱包是什么?. https://bihu.com/article/1468923029
[2] 数字货币时代,一个钱包折射出的记忆与未来 . https://www.8btc.com/article/538179
[3] Argent:为什么智能合约钱包才是未来 . https://ethfans.org/zengmi/articles/36704
[4] A new era for crypto security. https://medium.com/argenthq/a-new-era-for-crypto-security-57909a095ae3
[5] MYKEY 来播 002 期-数字世界的应许之地在哪里?. https://bihu.com/article/1788687703
[6] 学习思考 | 秘密共享、多重签名和门限签名的概念 . https://bihu.com/article/1787708846
[7] MYKEY: 可信的平衡之美——简述 KEY ID 协议的设计的考虑 . https://bihu.com/article/1451631612