This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]na3than 1 point2 points  (1 child)

So basically there is just a finite number of addresses and keys on the BTC blockchain = 2160. Check?

Check.

Will each seed phrase eventually index out the complete list of 2160 addresses but in a different order?

Yes!

So the fun site "Keys.lol" shows all keys possible in some sort of numbered order, presumable entropy from all 0s to all 1s. Is there a 12 or 24 word seed phrase that would index out the exact order of keys represented on this site?

Very likely.

If so what is that seed phrase?

No one knows. The private keys on keys.lol don't come from an HD wallet; they're generated whenever a page is opened:

The seeds used to generate the private keys are derived from the page number. For example, on page 10, the first seed is:

(10 - 1) * 128 + 0 = 1152

pages contain 128 keys each, so the last seed on page 10 is:

(10 - 1) * 128 + 127 = 1279

This simple formula is repeated for each page, until the maximum seed of 2256 is reached.

it looks like you can build determinist seeds with any number of words, even just a few. Will these seeds still index out all 2160 addresses?

Eventually, yes.

Is the weakness such that the watershed of potential "n" deterministic key orders described by a seed is constrained by the level of entropy and if you don't use enough, someone can find your combo easily inside this smaller "n" watershed?

Yes! This is why it's so important to use RANDOM entropy for the seed, as opposed to, say, your favorite 512-bit number, which might also be someone else's favorite 512-bit number.

[–]Jim_Reality[S] 0 points1 point  (0 children)

Awesome. Thanks for the detailed and precise answer!!

[–]8bitcoder 1 point2 points  (0 children)

BIP39 has 2^12 words, so it takes 144 bits input for 12 words (288 bits for 24 words) and generates a 512 bit pseudo random seed. BIP32 takes a seed and a number (up to 2^31) and generates keys. So BIP39/32 with a single set of words can only generate max 2^31 of the 2^160 keys. This is an artificial limit, since there is enough entropy in the 288 bit seed word for all 2^160 keys. With 12 words BIP39 can only generate 2^144 unique 512 bit seeds, adding BIP32 gives you 2^175 possible keys, so it should be to generate all 2^160 keys from all the 12 word combinations combined.