Bip32-Hd-Wallets
從xpub派生公鑰?
我想獲得派生路徑的擴展公鑰(m/84’/0’/0’)。我正在使用 btclib,並且我有 root 帳戶的 xpub。
當我嘗試使用
bip32.derive("xpub...","m/84'/0'/0'")
我明白了
btclib.exceptions.BTClibValueError: invalid hardened derivation from public key
我究竟做錯了什麼 ?
回顧BIP32:
它們是等價的這一事實使非硬化密鑰變得有用(人們可以在不知道任何私鑰的情況下派生給定父密鑰的子公鑰),以及它們與硬化密鑰的區別。不總是使用非硬化密鑰(更有用)的原因是安全性;進一步了解更多資訊。
那個小撇號
'
意味著密鑰派生樹的分支是“硬化的”——這意味著您必須擁有私鑰才能派生其子密鑰。因此,如果您有 PRIVATE 密鑰,
m/84'/0'/0'
您可以生成子密鑰,例如m/84'/0'/0'/0
或m/84'/0'/0'/0'
(這是兩個不同的密鑰,一個是硬化的,另一個不是)。如果您要派生非硬化密鑰,
m/84'/0'/0'/0
那麼您可以使用 xpub FROM THIS KEY(不是任何父密鑰)來派生公共子密鑰,而無需任何私鑰。例子是m/84'/0'/0'/0/0
和m/84'/0'/0'/0/1