Post
Topic
Board Development & Technical Discussion
Re: Is it possible to generate every address from one seed
by
igor72
on 18/10/2019, 18:00:35 UTC
The path format of HD wallets is m / purpose' / coin_type' / account' / change / address_index, where account, change and address_index are dependnecies for address creation based on master private key (SHA of the seed).
Let's say for bitcoin it is m/44' /0 / account' / change / address_index

account and address_index could be in the range from 0 to 2^32-1 (2^32 total combinations), change could be 0 or 1 (change address or not), so 2 total combinations.

Hence, the total number of possible combinatins is 2^32 * 2^32 * 2*1 = 2^(32+32+1) = 2^65 which is 2^191 less than the total possible private keys and 2^95 less than the total possible addresses (cinsidering hash160 function) for every address type (legacy, segwit, bech32)

So, considering the HD wallet limitation (2^32 for child and address index), we need at leat 2^95 different seeds in order to generate all possible addresses (withount collisions).
Why did you limit your calculations to the BIP44 format? What prevents me from using the derivation path like m/0'/0'/0'/0'/0'/0'/0'/0'/0'/0'?

To the question in the topic I would answer: Yes, it is possible to generate every address from one seed.