Bip32-Hd-Wallets

從xpub派生公鑰?

  • December 18, 2020

我想獲得派生路徑的擴展公鑰(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'/0m/84'/0'/0'/0'(這是兩個不同的密鑰,一個是硬化的,另一個不是)。

如果您要派生非硬化密鑰,m/84'/0'/0'/0那麼您可以使用 xpub FROM THIS KEY(不是任何父密鑰)來派生公共子密鑰,而無需任何私鑰。例子是m/84'/0'/0'/0/0m/84'/0'/0'/0/1

引用自:https://bitcoin.stackexchange.com/questions/100646