# HD Wallet 分层确定性钱包

By [soeos](https://paragraph.com/@soeos) · 2022-09-03

---

HD 钱包的想法最早出现在比特币社区，而比特币社区里面提出新功能、流程、改进建议都有标准化的流程，发起者需要用文档的形式把内容书面化，提交给社区去讨论、论证，这种文档就叫做 BIP（Bitcoin Improvement Proposal），比特币社区甚至连 BIP 本身该如何工作也写成了 BIP，定义 BIP 格式、工作流的的元 BIP 见[这里](https://github.com/bitcoin/bips/blob/master/bip-0002.mediawiki)，而和 HD 钱包紧密关联的几个 BIP 如下：

[BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki): HD 钱包的核心提案，说明了自私钥生成方法以及树壮结构的构造方式；

[BIP43](https://github.com/bitcoin/bips/blob/master/bip-0043.mediawiki): 为 HD 钱包子私钥派生路径增加有广泛共识的段；

[BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki): 确定支持多链 HD 钱包子私钥派生路径的标准格式；

BIP44 的内容相比 BIP32 就简单很多，里面规定了子节点派生路径的范式：

m / purpose' / coin\_type' / account' / chain / address\_index

示例如下：

m/44'/60'/0'/0/0

每个段的含义分别是：

*   CKD: `m`: 使用 `CKDpriv`, `M` 则表示使用 `CKDPub`
    
*   Purpose: `44'` , `hardened`, 遵循哪个规范, 44 意味着 BIP44
    
*   Coin: `60'`, `hardened`, 60 指代以太坊, [完整的链代码](https://github.com/satoshilabs/slips/blob/master/slip-0044.md)
    
*   Account: `0'` , `hardened`, 账户编号
    
*   Chain: `0` , 对于非比特币路径都是 0
    
*   Index: `0`, 具体的账户节点

---

*Originally published on [soeos](https://paragraph.com/@soeos/hd-wallet)*
