<p>2 billion keys within one wallet ought to be enough for everyone.</p>
<p>There haven't been even that many transactions in all of Bitcoin's history.</p>

CC BY-SA 4.0
2021-09-19T01:01:10.217Z
Actually I know that 2 billion keys are definitely enough (although not a good thing for privacy of shops and businesses who use Bitcoin wallet xPub for their public key derivation because in theory someone could discover all their public addresses) but my question is why limit it to 2 billion when we can have infinite amount of addresses?
Adolin
CC BY-SA 4.0
2021-09-19T00:22:16.827Z
2021-09-19T00:22:16.827Z
Pieter Wuille
<p>That is only the limit per account. Just increment your account# by one, and you get another couple billion.</p>
<p>Which may as well be infinity in practice.</p>
<blockquote>
<p>xPub for their public key derivation because in theory someone could discover all their public addresses</p>
</blockquote>
<p>All addresses are public, anyone can see the coins balance there. That is why each address is only used once. And of course the master xPub is kept secret, same goes for Account level and below.</p>

CC BY-SA 4.0
2022-02-27T08:21:27.420Z
2022-02-27T08:21:27.420Z
HansBKK
<p>According to BIP32 we can have a seed from which we derive all our private and public keys, so in theory we can have an &quot;infinite&quot; number of child and grandchild keys so why does BIP44 limit that idea of infinity and limits HD wallets to only derive keys from the <code>address_index</code> the &quot;fifth generation&quot;<br></p>
<blockquote>
<p><code>m / purpose' / coin_type' / account' / change / address_index</code></p>
</blockquote>
<p>So in practice Bitcoin wallets following BIP44 can only generate 2<sup>31</sup> keys, furthermore only 2<sup>31</sup> possible Bitcoin addresses. Why is that the case when we can have an infinite amount of addresses?</p>

<wallet><bip32-hd-wallets><bip44><hardened-derivation>
According to BIP44 each HD wallet have a finite number of 2^32 addresses, Why is that the case?
Adolin
# According to BIP44 each HD wallet have a finite number of 2^32 addresses, Why is that the case?

(Asked by: username_0 on 2021-09-19)

According to BIP32 we can have a seed from which we derive all our private and public keys, so in theory we can have an "infinite" number of child and grandchild keys so why does BIP44 limit that idea of infinity and limits HD wallets to only derive keys from the `address_index` the "fifth generation"

> `m / purpose' / coin_type' / account' / change / address_index`

So in practice Bitcoin wallets following BIP44 can only generate 231 keys, furthermore only 231 possible Bitcoin addresses. Why is that the case when we can have an infinite amount of addresses?

**Tags:** wallet, bip32-hd-wallets, bip44, hardened-derivation


---

## 2 answers

### Answer by username_1 on 2021-09-19. Score: 2

2 billion keys within one wallet ought to be enough for everyone.

There haven't been even that many transactions in all of Bitcoin's history.

> **Comments:**
> **username_0**: Actually I know that 2 billion keys are definitely enough (although not a good thing for privacy of shops and businesses who use Bitcoin wallet xPub for their public key derivation because in theory someone could discover all their public addresses) but my question is why limit it to 2 billion when we can have infinite amount of addresses?  

---

### Answer by username_2 on 2022-02-27. Score: 1

That is only the limit per account. Just increment your account# by one, and you get another couple billion.

Which may as well be infinity in practice.

> xPub for their public key derivation because in theory someone could discover all their public addresses

All addresses are public, anyone can see the coins balance there. That is why each address is only used once. And of course the master xPub is kept secret, same goes for Account level and below.


---

