<p>The answer is in Hierarchical Deterministic (HD) wallets. These create a tree-like repeatable sequence of key pairs (private and public) from a master private key.</p>
<p>Each public key is associated with one private key.</p>
<p>See BIP-32</p>
<p>Standard ways of spending Bitcoin involve reference to an output of a previous transaction and hence to a previously used public key. It typically needs the corresponding private key to be used to generate a number that will satisfy the spending script.</p>

CC BY-SA 4.0
2022-11-19T22:13:04.810Z
Thanks for your answer! I have a question about then tracking the total balance of all wallets generated via Ledger: https://bitcoin.stackexchange.com/questions/116038/how-to-retrieve-total-btc-held-in-ledger-wallet?noredirect=1&lq=1
Ryan
CC BY-SA 4.0
2021-04-15T08:43:20.100Z
2021-04-15T08:43:20.100Z
RedGrittyBrick
<p>I have read online that hardware wallets can generate new public keys to facilitate transactions. Ie if someone has BTC on an exchange and they want to send that BTC in different installments to a single private key/hardware wallet, that hardware wallet can generate a different public key for each transaction. I'm a bit confused on how this works? Would the ledger not indicate that each of those installments now belongs to a different address? Or is it simply that each time a new public key is generated, the private key in the hardware wallet has the ability to sign for all of those? (Thus creating a persistent, growing list of public keys associated with one private key?).</p>
<p>Additionally, what is displayed on the ledger if that hardware wallet, after multiple installments with different public keys, now wants to <em>send</em> BTC elsewhere? Which of the previous public keys is used? Does it create a new one? Wouldn't this show up on the ledger as a public key sending more BTC than it ever acquired?</p>

<private-key><public-key><hardware-wallet>
How do many public keys correspond to one private key?
Runeaway3
# How do many public keys correspond to one private key?

(Asked by: username_0 on 2021-04-15)

I have read online that hardware wallets can generate new public keys to facilitate transactions. Ie if someone has BTC on an exchange and they want to send that BTC in different installments to a single private key/hardware wallet, that hardware wallet can generate a different public key for each transaction. I'm a bit confused on how this works? Would the ledger not indicate that each of those installments now belongs to a different address? Or is it simply that each time a new public key is generated, the private key in the hardware wallet has the ability to sign for all of those? (Thus creating a persistent, growing list of public keys associated with one private key?).

Additionally, what is displayed on the ledger if that hardware wallet, after multiple installments with different public keys, now wants to *send* BTC elsewhere? Which of the previous public keys is used? Does it create a new one? Wouldn't this show up on the ledger as a public key sending more BTC than it ever acquired?

**Tags:** private-key, public-key, hardware-wallet


---

## 1 answers

### Answer by username_1 on 2021-04-15. Score: 3

The answer is in Hierarchical Deterministic (HD) wallets. These create a tree-like repeatable sequence of key pairs (private and public) from a master private key.

Each public key is associated with one private key.

See BIP-32

Standard ways of spending Bitcoin involve reference to an output of a previous transaction and hence to a previously used public key. It typically needs the corresponding private key to be used to generate a number that will satisfy the spending script.

> **Comments:**
> **username_2**: Thanks for your answer! I have a question about then tracking the total balance of all wallets generated via Ledger: https://bitcoin.stackexchange.com/questions/116038/how-to-retrieve-total-btc-held-in-ledger-wallet?noredirect=1&lq=1  

---

