HD钱包【区块链生存训练】

早期的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

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2017-06-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏区块链技术指北

以太坊生态中的工具与技术

这是「区块链技术指北」的第 32 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我...

28210
来自专栏申龙斌的程序人生

SC(SiaCoin)取出到钱包的图解教程

友情提醒:云币中的SC钱包仍在维护中,暂时还不能取现,先做好准备吧。 中国各大数字货币交易平台将在9月底关闭,为此需要将数字货币提取到自己的钱包中,这是区块链世...

53711
来自专栏申龙斌的程序人生

比特币的私钥【区块链生存训练】

投资比特币,钱包和私钥是非常重要的两个概念,在这上面多花一些时间琢磨透是绝对值得的。千万别忙忙活活几个月,只因犯了一个低级错误,把买来的BTC拱手送人了。 我推...

3627
来自专栏书山有路勤为径

学会使用钱包

我们分开了解,什么事以太坊地址,Keystore,助记词,明文私钥。 地址:以 0x 开头的 42 位的哈希值 (16 进制) 字符串。

772
来自专栏申龙斌的程序人生

区块链上存证,只需这四步

区块链里的信息具有不可篡改性,比如中本聪在创世区块中写的一段话:“The Times 03/Jan/2009 Chancellor on brink of se...

4611
来自专栏区块链入门

【链安】智能合约DoS攻击原理分析及相应漏洞修复

DoS 是DenialOfService,拒绝服务的缩写[3],从字面上来理解,就是用户所需要的服务请求无法被系统处理。 打个比方来形容DoS,火车站是为大家...

1054
来自专栏专注研发

区块链关键字的解析

目前大多数区块链先驱都喜欢将区块链分为三层:应用服务层、服务平台层、底层区块链核心层

1992
来自专栏区块链入门

【链安科技】Token合约F_E漏洞

有相关安全公司风险监控平台于今日发现,ERC20代币合约F_E由于业务逻辑实现漏洞,任何人都可以随意转出他人账户中的Token。并且该Token已经上线交易所,...

841
来自专栏区块链中本聪

区块链技术分布式数据库解决隐私

​ 主链侧链开发数字货币交易所白皮书区块链浏览器跨境支付场内场外宠物挖矿游戏基金会牌照 181-4069-6008 微信电话同号

1213
来自专栏极客编程

一个EOS区块链RPC API接口的PHP SDK包

作为我们Block Producer对社区利益的承诺的一部分,我们希望专注于构建有助于提高EOS平台采用率的工具/应用程序。与大多数大型应用程序一样,当你只有少...

1571

扫码关注云+社区