Standards Track Proposed
BIP-44: 確定性錢包的多帳戶層次結構
定義 HD 錢包的標準派生路徑結構,支持多幣種和多帳戶。
Marek Palatinus, Pavol Rusnak 2014年4月24日
BIP 編號
44
類型
Standards Track
狀態
Proposed
創建日期
2014-04-24
摘要
BIP-44 定義了階層式確定性錢包的邏輯層次結構,基於 BIP-32 的算法。 它為不同的加密貨幣和帳戶創建了標準化的派生路徑, 使得同一個種子可以在不同錢包軟體中產生相同的地址。
派生路徑結構
BIP-44 定義了以下五層派生路徑:
m / purpose' / coin_type' / account' / change / address_index
Purpose(目的)
固定為 44', 表示遵循
BIP-44 規範。硬化派生(')確保無法從子公鑰推導父私鑰。
Coin Type(幣種)
標識不同的加密貨幣。比特幣主網使用 0', 測試網使用 1'。
Account(帳戶)
允許用戶在邏輯上分離資金。從 0' 開始遞增。 每個帳戶都是完全獨立的,可用於不同目的(個人、商業等)。
Change(找零)
0 表示外部鏈(接收地址),
1 表示內部鏈(找零地址)。
非硬化派生允許使用擴展公鑰生成地址。
Address Index(地址索引)
從 0 開始的遞增索引, 用於生成同一帳戶下的多個地址。建議按順序使用。
常見派生路徑範例
| 路徑 | 描述 |
|---|---|
| m/44'/0'/0'/0/0 | 比特幣主網,第一個帳戶,第一個接收地址 |
| m/44'/0'/0'/1/0 | 比特幣主網,第一個帳戶,第一個找零地址 |
| m/44'/0'/1'/0/0 | 比特幣主網,第二個帳戶,第一個接收地址 |
| m/44'/1'/0'/0/0 | 比特幣測試網,第一個帳戶,第一個接收地址 |
帳戶發現
當從種子恢復錢包時,軟體需要發現所有已使用的帳戶。推薦的方法是:
- 1. 從第一個帳戶(index 0)開始
- 2. 派生外部鏈的前 20 個地址
- 3. 如果所有地址都沒有交易記錄,停止發現
- 4. 否則,增加帳戶索引並重複步驟 2
Gap Limit: 大多數錢包使用 20 作為「gap limit」。 這意味著如果連續 20 個地址都沒有被使用過,錢包會假設後面的地址也未使用。 不按順序使用地址可能導致恢復時無法發現某些資金。
地址類型演進
BIP-44 最初設計用於 P2PKH 地址(以 1 開頭)。隨著比特幣的發展, 出現了使用不同 purpose 值的相關標準:
| BIP | Purpose | 地址類型 | 前綴 |
|---|---|---|---|
| BIP-44 | 44' | P2PKH(傳統) | 1... |
| BIP-49 | 49' | P2SH-P2WPKH(兼容 SegWit) | 3... |
| BIP-84 | 84' | P2WPKH(原生 SegWit) | bc1q... |
| BIP-86 | 86' | P2TR(Taproot) | bc1p... |
相關 BIP
相關 BIP
延伸閱讀: 查看 GitHub 上的完整 BIP-44 文件
已複製連結