币信要出全开源硬件钱包方案了,非常期待,希望不是 Trezor 开源的那套。Trezor 的硬件很好,Model T 的输入效率比 Ledger 高太多,特别是你要输入比较长的 Passphrase 时,九宫格输入法非常惬意。

但是软件层面做的差,iOS 端想要以 Watch only 模式追踪冷钱包的余额,可选的开源 App 只有 Arcbit 或 bitWallet 这种更新中断的,前者也不支持 Segwit,安卓可以用 Sentinel。并且还要自行导出扩展公钥(XPUB),这一点 Ledger 要好得多,全平台都有官方开源的客户端,每个 Account 对应一个地址集,用户可以不用关心背后的逻辑,无脑用就可以。同时也避免了导入公钥到其他平台的隐私问题。

其次因为完全开源的软硬件方案,使得 Trezor 验真比较困难,过于依赖 Seal 这种传统物理的方式,其实可以伪造。我能想到的一种攻击方式,就是从官方批量购入钱包后,写入修改后的固件,然后用伪造的 Seal 复原再全部退给 Trezor 并要求 refund。

如果 Trezor 的供应链策略是销售用户退回的商品(改一下 Batch-Number),那其他用户就有可能中招。

解决这个问题的方式最好是在收到 Trezor 先从官网升级到最新固件后再使用,即便原固件有问题也会被覆盖。

Ledger 用一颗安全芯片来校验设备ID是不是合法的,因为要和他们服务器的数据匹配教研,所以伪造不太可能。但因此也别指望 Ledger 能把安全相关的固件开源了,官方永远说有 roadmap,但大家都知道 Ledger 不可能开源的。

不过也不用太担心,只要是从官方网站买的,出问题的风险很低很低,反正我不太信任代理商,看起来再 Promising 也不行。

硬件钱包有几个基本要素要满足:

1)屏幕。用来校验发币信息的要素:地址、金额、手续费和软件显示的是否一致,没有屏幕的硬件钱包不要用。

2)软件全开源。固件和硬件部分开源或完全开源。没有开源的硬件钱包你不如把币直接放银行,即便是 Ledger 这样的公司,也是在费心建立自己的 Wall of fame,要是固件和硬件全开源就不用这么辛苦了。

不过开源到底是不是银弹呢,也未必。Pypi 里假 jeIlyfish 库偷 SSH 都偷了一年了才被发现,如果你的硬件钱包里有允许远程执行的漏洞,想想也很可怕。还有只是把源码放在仓库里就不管,一堆 issue 不fix的,也算不上真正回报开源社区,只是把自己肚皮翻出来给黑客看罢了。