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 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

加密传输原理

数字签名,就是通过在数据单元上附加数据,或对数据单元进行秘密变换,从而使接收者可以确认数据来源和完整性。简单说来,数字签名是防止他人对传输的文件进行破坏,以及确...

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

学会使用钱包

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

592
来自专栏带你撸出一手好代码

浅谈比特币

最近比特币以及各种数字货币火的不行,区块链这个概念也三天两头霸占各种科技头条。以前虽然经常能听到「比特币」这个字眼,可完全没有足够的诱惑力吸引到我, 直到最近,...

3255
来自专栏智能计算时代

Ethereum - 以太坊项目

以太坊项目进一步扩展了区块链网络的能力,从交易延伸为智能合约(Smart Contract)。 其官网首页为 ethereum.org。 简介 根据以太坊官方的...

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

饭团开通一周,3人学会了比特币操作

最近比特币行情火爆,很多人听到此消息后全当作泡沫,没有绿灯思维。而有少许人则去快速学习区块链的相关知识,去探寻它背后的本质规律。每一个新技术的出现都会颠覆许多已...

2557
来自专栏CSDN技术头条

玩区块链游戏谜恋猫 CryptoKitties, 学习区块链技术

以太坊是可编程的区块链,是业内公认的区块链 2.0 代表项目。可以将以太坊理解为一个操作系统,使用 Solidity 等语言编写智能合约发布应用到链上,使用 G...

983
来自专栏KuPay

KuPay:管理好数字钱包的私钥

世界上最遥远的距离不是买不起比特币,而是比特币就在你面前,你却忘记了私钥!这就好比你有一张巨额存款的银行卡,但你却忘了银行卡密码。现实生活中的银行卡密码还能通过...

1082
来自专栏CDA数据分析师

以太坊是什么丨以太坊开发入门指南

原文地址:https://www.cnblogs.com/tinyxiong/p/7878468.html

550
来自专栏智能合约

以太坊智能合约开发第二篇:理解以太坊相关概念

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

如何开发一款支持多币种的钱包?

除了炒币之外,比较有深度的介入区块链行业的一种办法是开发Dapp,即去中心化的应用。钱包就是一种非常重要的Dapp,可以说是币圈用户的刚需,如果说微信是移动互联...

1004

扫描关注云+社区