又有 7000 枚比特币丢失,只因没做这一步

imToken view 442 2021-1-14 18:35
share to
Scan QR code with WeChat

近日,Ripple 前 CTO 史蒂芬·托马斯因忘记钱包密码,且没有妥善备份助记词,导致存有 7002 枚比特币的钱包无法打开。他已经尝试了 8 次密码,如果剩下两次输入的密码再次错误,这个钱包会被永久加密,这 7002 枚比特币将永久丢失。

其实密码记错不可怕,最可怕的是没有备份好助记词。不少人会选择纸笔抄写或者死记硬背来记录助记词,但这些方法都是有较大风险的,一旦纸张损毁、记忆出错,都会导致你的资产「归零」。此外,如果你在使用钱包时,由于各种原因不小心触发以下条件之一,那么你的资产也有可能「归零」。

条件一:是「导入」而不是「创建」

「导入钱包」和「创建钱包」是两个完全不同的动作。可能有的人会问:这也能搞错吗?世界之大,无奇不有。在与 imToken 客服小组交流的时候发现,用户反馈导入钱包资产「归零」时,绝大多数情况都是因为明明是要导入钱包,而用户选择的却是「创建钱包」,创建出来的新地址自然是没有任何资产的。

条件二:混淆多个钱包助记词

这年头,持有数字资产的朋友手里没有几个钱包地址都不好意思跟别人说是混区块链行业的。一般情况下,一组助记词只能对应一个钱包地址。如果你的资产分散放在多个钱包里,那么你应该备份了多组助记词。但是,如果你没有记录好这些助记词和钱包地址之间的对应关系,很可能会造成助记词混淆。

助记词混淆的结果就是:你导入的助记词虽然都是对的,但资产可能对不上。如果这组助记词对应的正好是一个空钱包地址,你的资产自然就「归零」了。

条件三:助记词备份有误

一般情况下,一组助记词由 12 或 24 个单词组成。不是所有的英文单词都可以作为助记词,只有 2048 个单词有幸被选中,这些单词都可以在助记词规范表格中找到(你可以在微信公众号后台回复「BIP39」获取助记词单词表)。

我们以 imToken 为例,imToken 支持 12 个单词的助记词导入。如果你备份的助记词有误,那么会有两种情况发生:

imToken APP 提示「助记词不正确」,无法导入钱包

钱包成功导入,但里面资产为零

情况一不在这篇文章的讨论范围,但解决起来比较简单:只需要对照助记词规范表,找出不在列表的单词并进行修正即可。

遇到情况二,我们需要第一时间确认新导入的钱包地址是否与之前的地址相同。如果相同,可以通过对应的区块链浏览器再次核实钱包资产情况。但如果不同,说明你导入的助记词信息有误。我们已经知道助记词一般是由 12 个单词组成,这其中有许多单词十分相似,比如「awake」和「aware」,「blue」和「blur」等。如果在抄写备份助记词时字迹潦草,就会造成输入「错误」的单词,从而「歪打正着」导入了其他的钱包地址(99.99% 为空地址),这就会造成资产「归零」的情况。

条件四:助记词导入路径改变

前面有提到:一般情况下,一组助记词只能对应一个钱包地址。请注意,我说的是一般情况下,那么还有不一般的情况吗?是的,还真有。要解释清楚这个问题,需要先向大家介绍下什么是钱包导入路径,我们还是以 imToken 钱包为例。

又有 7000 枚比特币丢失,只因没做这一步

上图是 imToken 导入 BTC 钱包的界面截图,在「选择路径」下方显示的就是目前助记词导入的路径。什么是助记词导入路径?BIP32 提出分层确定性钱包(HD Wallet)这个概念,配合 BIP 39,使得用户只要备份一组助记词就可以管理 BTC 主地址和多个 BTC 子地址。而后的 BIP 44 则对导入路径进行了规范。

BIP 44 默认的导入规范如下:

m / purpose' / coin_type' / account' / change' / address_index' /

其中各字母代表的含义如下:

m:代表公链

purpose:一般为「44」,代表遵循 BIP44 方案,但 BTC 隔离见证地址为「49」

coin_type:代表币种类型,其中 0 为 BTC,1 为 BTC 测试网,2 为 LTC,60 为 ETH 等

account:代表此币种的账户索引,从 0 开始

change:数值 0 用于外部链,1 用于内部链。一个用于创建接收地址,另一个用来创造找零地址

address_index:地址索引,从 0 开始

为了方便用户更好地在各个钱包里管理自己的资产,目前市面上主流的钱包导入路径都是一致的,但也有个别钱包的默认导入路径有所不同,这就导致用户通过同一组助记词导入出来的钱包地址不一样,造成了资产「归零」的错觉。比如 imToken 默认的 BTC 钱包导入路径为隔离见证地址,而如果你之前使用的是 BTC 普通地址,在导入后,一个大大的数字 0 就会显示在你的资产首页上(莫慌,你可以通过切换地址类型切换回 BTC 普通地址,看到自己的资产)。

所以保险起见,我们在备份助记词的同时,最好记下当前钱包的导入路径是什么,方便我们在切换钱包软件导入钱包时,能够准确地找到之前的钱包地址。同时,我们在创建钱包的时候,不要随便切换默认的导入路径,如果你要修改路径,那么请一定要记住导入路径的规范,以免造成资产丢失的风险。

那么我们要如何避免以上情况发生呢,请务必养成以下良好的习惯:

万事开头难,妥善备份好钱包助记词是最关键也是最重要的一步。在你使用去中心化钱包,比如 imToken 时,助记词只掌握在你自己手中,你必须掌握正确的备份方式,比如手抄在纸上,拒绝一切联网工具的备份,否则后续再多措施都是毫无意义的;

如果你担心备份助记词抄错,或者由于纸张老化导致字迹模糊,那么助记词密盒是你必不可少的「好帮手」;

又有 7000 枚比特币丢失,只因没做这一步

在生成新钱包时,最好记下钱包的默认导入路径;

备份完助记词,请务必进行交叉验证(即退出钱包,再重新通过助记词导入验证是否能正常导入且地址正确);

验证无误后,将钱包地址与对应的导入路径和相关助记词信息(建议写上助记词的第一个单词即可,与完整版助记词分开保管)记录在一起,以 ETH 钱包地址为例:

0x123456…789 - m/44/60/0/0/0 - abandon

做到以上几点,无论你更换多少次手机或者使用任何一种新的钱包软件,都可以通过助记词导入来继续管理你的资产。在使用去中心化钱包时,千万不要图一时方便而忽略一些最基本的安全使用规范,因为稍有一丝疏忽,可能你就要和你的数字资产说再见了,再也不见的那种。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 引介 | 无状态性:基于键值对的见证数据方案 Next: 一文探索 CID 的来龙去脉

Related