早期的Bitcoin Core钱包一次性生成100个私钥,如果交易比较频繁,私钥可能会用光,然后再产生一批私钥,所以需要定期备份wallet.dat文件,否则会损失部分比特币。
在BIP032规范(https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)中引入了HD钱包的概念,不是HardDisk的缩写,而是指分层确定性(Hierarchical Deterministic)钱包。
所谓确定性,就是只需一个主私钥(根私钥),就可以生成所有其它私钥,这样备份起来更方便。当然如果这个主私钥泄漏,则所有子私钥也就泄漏了,所有的币也就都交给别人了。
所谓分层,就是一个大公司可以为每个子部门分别生成不同的私钥,子部门还可以再管理子子部门的私钥,每个部门可以看到所有子部门里的币,也可以花这里面的币。也可以只给会计人员某个层级的公钥,让他可以看见这个部门及子部门的收支记录,但不能花里面的钱,财务管理更方便了。
摘自《精通比特币》
Bitcoin Core里的HD钱包
新版本的Bitcoin Core钱包也支持HD钱包,如果右下角的HD图标没有打叉,则说明你正在使用HD钱包。
用《比特币的私钥》文章中介绍的办法导出私钥时,可以看到有一行标记着extended private masterkey,这就是主私钥。实际上扩展型主私钥还包含着链码(chain code),用于恢复所有子私钥,更多细节可以看参考文献。
其后的每个私钥的末尾有 hdkeypath=m/0'/0'/1' 这样的标记,这就是它的分层路径,表示m节点(主节点)下的0节点的0节点的1节点。
理论上说,这种HD钱包备份一次就可以了,以后总能恢复所有的私钥。但为了保险起见,养成定期备份的习惯总是好的,毕竟辛辛苦苦买的几个币别折腾没了。
Multibit HD
这是一款轻钱包,看名字就知道它也是一款HD钱包。它用12到16个单词来生成主私钥,然后再生成所有子私钥。
为了万无一失,建好钱包后,转入少量BTC,备份,再把软件卸载了重装,用密令恢复钱包,看看BTC是否还在,然后再转入更多的BTC,虽然麻烦一点,但绝对值得。最近群里的一位朋友,用12个单词的密令恢复钱包,钱包恢复了,可惜钱没了,正在寻求帮助呢。
小结:
HD钱包不是指硬钱包,而是分层确定性钱包
只备份主私钥就可以生成所有的子私钥
可以分层控制
参考资料:
http://www.8btc.com/hd-wallets
http://www.8btc.com/how-to-use-hd-wallets
https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki
我的饭团已经运行了21天,包月价格已从6.99元涨到9.99元,学习要趁早。
↓↓↓点击阅读原文,也可直达饭团。