imToken是一个手机钱包,它让用户自己保管助记词/私钥,平台不代为保管,将账户的控制权完全交给用户自己。
所有转出交易的电子签名,只能在本地生成。imToken不参与转账的任何环节,只负责帮你连接到比特币网络。
don't trust, verify
数字货币讲究“don't trust, verfy",如果连最重要的私钥都交给中心机构保管了,那就不存在verify一说了。这时候,用户的账户安全靠的是对中心机构的信任,中心机构只有保持良好的声誉才能良好运作。
全球最受欢迎的Coinbase钱包,是完全中心化的[1],平台对用户的数字货币有绝对的控制权。但是非常方便,可以直接在钱包内使用法币购买数字货币。
依赖中心机构的好处是,用户的学习成本低了,中心机构代替你处理复杂的事务。当前,我们已经习惯了网络支付,将数字货币的操作设计成和现有的网络支付一样,那用户不需要做太多习惯上的转变就能学会使用。
比特币才诞生10年,观念的普及需要时间,况且还是在现有的网络支付已经如此方便的情况下,做出这种妥协也是迫不得已。虽然如此,我们仍然要知道这并不是最佳做法,这会失去数字货币的很多好处(低通货膨胀率、隐私性),而这正是比特币当初提出时的初衷。
相信50年后,人们在选择中心化的钱包工具时会考虑得更多。起码不会将大笔金额的账户交给中心机构保管,而是自己保管,并且确保钱包的绝对安全。
imToken1.0的离线钱包
imToken1.0的离线钱包功能可以真正的满足“用户自己保管私钥”的需要,非常安全,也还算方便。官方将其称为“冷钱包”[2],但是我觉得称为“离线钱包”更合适。
不过可惜的是,最新的imToken 2.0取消了这个功能。imToken 1.0仍然能够下载,可是只支持ETH和ERC20代币。不过我觉得imToken 1.0的离线钱包功能提供了有趣的思路,而这个思路并不依赖于imToken。
操作方法
imToken1.0的离线钱包需要2部手机,分别都安装imToken,并扮演2个不同的角色:
- “热钱包”,安装在自己常用的手机上
- “离线钱包”,安装在另外一部不联网的手机上
账户的私钥保存在“离线钱包”,每笔交易的电子签名,也都是在“离线钱包”生成。
“热钱包”则负责:
- 给“离线钱包”提供交易信息(收款人地址、转出金额)
- 获取“离线钱包”的签名,然后将交易发出去
“热钱包”和“离线钱包”之间通过二维码传输数据,每次交易需要扫描2次二维码。
- “热钱包”创建交易,将交易信息生成二维码,“冷钱包”扫描
- “冷钱包”确认交易,将电子签名生成二维码,“热钱包”扫描
具体操作步骤见官网说明
"官方声明"
事实上,如果不使用“离线钱包”确认交易,imToken并不完全可信。
虽然imToken声称不会保存用户的私钥和助记词,但是没有人能确保这一点。软件是从App Store下载的,你看不到源码,软件也不是自己编译的,你完全不知道它在软件界面背后做了什么。
虽然大多数人也不会去看Bitcoin Core的代码,或者自己编译软件,但是社区有人这么做了。社区相比中心机构更为可信,因为中心机构的很大目标是盈利,否则没法运作。
在不使用imToken离线钱包的情况下,用户虽然拥有私钥和助记词,但还是得依赖于对“官方声明”的信任——imToken“不会”保存用户的私钥。
而使用“离线钱包”,因为没有网络连接,即使没有“官方声明”,你也可以确信这一点。因为私钥只保存在没有网络连接的“离线钱包”上,imToken没法获取你的私钥。这时候不是“不会”,而是“不能”。
和硬件钱包比较
imToken“离线钱包”的原理和Trezor这类“硬件钱包”类似:将密钥交给单独的、受到严格控制的电子设备保管,由它生成电子签名确认交易。主要不同是:
- 通信方式:
- Trezor通过USB口和电脑通信
- imToken是两部手机之间通过二维码通信;
- 硬件:
- Trezor使用功能受限的专用电子设备,即使电脑感染病毒,也不会有事
- imToken使用断开网络连接的手机,并通过二维码传输数据,用户对通信内容有了严格控制。
不管怎样,我觉得将钱包从通用设备(手机、电脑)独立出来是必然的趋势。不过imToken的这个做法很有创意,如果有换下来的旧手机,就能立即拥有非常高安全度的钱包。
附
刚看到imToken正在预售硬件钱包imKey,通过蓝牙和手机通信,价格499元。[3]比前面所叙述的“离线钱包”方便很多,不需要扫二维码。可能这也是imToken2.0去除离线钱包功能的缘故。
imToken的创始人何斌在2018年8月的一次会议中说imToken目前还没有成规模的收入来源,不过现在看来,硬件钱包可能可以成为第一个。[4]
网友评论