兩個比特幣改進建議(BIPs)提供了這個復雜問的解決辦法——通過創(chuàng)建幾個 HD 錢包樹的提議標準。BIP0043 提出使用第一個強化子索引作為特 殊的標識符表示樹狀結(jié)構(gòu)的"purpose"?;?BIP0043,HD 錢包應該使用且只用第一層級的樹的分支,而且有索引號碼去識別結(jié)構(gòu)并且有命名空間 來定義剩余的樹的目的地。舉個例子,HD 錢包只使用分支 m/i'/是為了表明那個被索引號"i"定義的特殊為目地。
在 BIP0043 標準下,為了延長的那個特殊規(guī)范,BIP0044 提議了多賬戶結(jié)構(gòu)作為"purpose"。所有遵循 BIP0044 的 HD 錢包依據(jù)只使用樹的第一個分支的要求而被定義:m/44'/。
BIP0044 指定了包含 5 個預定義樹狀層級的結(jié)構(gòu):
m / purpose' / coin_type' / account' / change / address_index 第一層的目的地總是被設(shè)定為 44'。第二層的"coin_type"特指密碼貨幣硬幣的種類并且允許多元貨幣 HD 錢包中 的貨幣在第二個層級下有自己的亞樹狀結(jié)構(gòu)。目前有三種貨幣被定義:Bitcoin is m/44'/0'、Bitcoin Testnet is m/44'/1', 以及 Litecoin is m/44'/2'。
樹的第三層級是"account",這可以允許使用者為了會計或者組織目的,而去再細分他們的錢包到獨立的邏輯性亞賬戶。舉個例子,一個 HD 錢包可能包含兩個比特幣"賬戶":m/44'/0'/0' 和 m/44'/0'/1'。每個賬戶都是它自己亞樹的根。
第四層級就是"change"。每一個 HD 錢包有兩個亞樹,一個是用來接收地址一個是用來創(chuàng)造變更地址。注意無論先前的層級是否使用是否使用強化衍生,這一層級使用的都是常規(guī)衍生。這是為了允許這一層級的樹可以在可供不安全環(huán)境下,輸出擴展的公共鑰匙。被 HD 錢包衍生的可用的地址是第四層級的子級, 就是第五層級的樹的"address_index"。比如,第三個層級的主賬戶收到比特幣支付的地址就是 M/44'/0'/0'/0/2。表 4-9 展示了更多的例子。
HD 路徑主要描述
M/44'/0'/0'/0/2 第三個收到公共鑰匙的主比特幣賬戶
M/44'/0'/3'/1/14第十五改變地址公鑰的第四個比特幣賬戶
m/44'/2'/0'/0/1 為了簽署交易的在萊特幣主賬戶的第二個私鑰








