用旧手机做一个硬件冷钱包

对于一些人来说,可能会觉得交易所、热钱包不够安全,TrezorLedger 之类的硬件钱包又太贵,这时候就有一个折中方案:用一台旧手机作为永远离线的硬件钱包来使用。

比特币冷钱包

需要以下这些:

  • 一台旧手机,这里称之为 iPhone A;
  • 一台常用手机,这里称之为 iPhone B;
  • 一个比特币 App:BlueWallet (Version 6.3.2).

首先,打开 iPhone A 上的「设置」→「通用」→「传输或还原 iPhone」→「抹掉所有内容和设置」,然后进入引导页面设置成一个新设备。接着连接安全的 Wi-Fi,下载 BlueWallet,这是 iPhone A 最后一次连接网络。


取下 iPhone A 的 SIM 卡,打开飞行模式,关掉 Wi-Fi 和蓝牙。打开 BlueWallet 创建一个钱包,名称随意,把助记词用你认为安全的方式记下来(脑子记、纸记、助记词板等都行)。因为完全离线,钱包无法查询余额与交易,这时候需要另一台日常使用的手机作为观察账号来完成这些功能。BlueWallet 默认生成的是 12 个单词的助记词,如果你需要更高级别的安全,可以在 Settings → General(一般的)打开「进阶模式」,通过掷骰子的方式选择随机数生成 24 个单词的助记词。


进入冷钱包账户,点击右上角,选择「展示钱包公钥(XPUB)」,这时候会出现一个二维码。用 iPhone B 打开 BlueWallet 选择导入钱包然后扫二维码,会得到一个灰色的观察钱包(Watch-only),点击收款就可以看到比特币的收款地址。


这时候两个手机就设置好了,iPhone A (冷钱包)永远离线,不能查看余额与交易记录,但可以签名/验证信息(Sign/Verify Message)。iPhone B (观察钱包)在线联网,可以查看余额与交易记录,但交易时需要 iPhone A 的离线签名与验证。


在观察钱包内发送一笔比特币需得到冷钱包的签名,具体步骤为 iPhone B 发起一笔交易后会将金额、地址、手续费等打包成一个二维码,iPhone A 打开冷钱包 → 发送 → 签署一笔交易,扫描该二维码后批准交易。由于 iPhone A 冷钱包是全程离线的,它虽然批准了交易但没办法广播到网络,这时候又要回到 iPhone B 来操作。

黄色框线内为 iPhone A 冷钱包上的操作

iPhone A 批准交易后会出现一个二维码,用 iPhone B 再次扫描二维码后就交易成功了。

以太坊冷钱包

写完这篇文章不久后发现了一个 APP 叫 AirGap, 它可以支持比特币、以太坊、波卡等等。

它在生成助记词的过程中会使用视频、音频、重力传感器等来确保随机性,所以安全性应该可以保证。

钱包创建成功后,点开账户地址可以看到用其他 APP 设置观察钱包的方式。比如比特币可以用 BlueWallet,以太坊可以用 MetaMask. 打开 MetaMask 之后选择「连接硬件钱包」→「QR-based」可以看到 AirGap Vault 也是其中推荐的钱包之一。

其他 APP 设置观察钱包的方法都大同小异,选择适合自己的就可以了。

FAQ:


可以制作其他币种的冷钱包吗?

BlueWallet 只支持比特币及闪电网络,目前支持制作手机冷钱包的 APP 不多,支持的币种也基本上只有比特币跟以太坊。如果要制作以太坊冷钱包可以考虑 imToken,参考这个链接:如何设置 imToken 冷钱包?已更新。

跟 Trezor、Ledger 等相比,安全性如何?

个人认为是比不上专业的硬件钱包的,毕竟术业有专攻,但你可以加强手机冷钱包的安全性,比如设置一个复杂的锁屏密码,打开 Touch ID 或者 Face ID,在 BlueWallet 中使用 Touch ID 或 Face ID 来解锁。

冷钱包在离线状态下生成的私钥是否安全,会不会跟他人重复?

在成熟的加密钱包里,都用真随机数作为私钥,而随机数的生成算法已经非常专业,所以重复的几率基本上等于零。