pull down to refresh

@DarthCoin’s post reminded me of an old question I never really looked into. The official word lists have 2048 words, and I’m sure there are rules behind how they’re picked, but why can’t we use words outside that list? Is it a technical limitation, or is it just to help people avoid messing up and losing access to their wallet?
1190 sats \ 5 replies \ @optimism 12h
2048 is the radix of a numbering system that seed phrases are built upon. (a fairly large numbering system)
This system is used to convert initial entropy and a checksum over the entropy to words. This is done by reading 11 bits from this initial data at a time - because 11 bits of integer is at most 2047 - from the initial entropy and representing this to the user as words.

For reference, in decimal, the radix is 10, as we have 0 1 2 3 4 5 6 7 8 9 (10 distinct digits) and in hexadecimal it's 16: 0 1 2 3 4 5 6 7 8 9 a b c d e f. These are conventions.
You cannot unilaterally add words to the convention because they would have no meaning without a translation. So in the decimal system we can calculate 1 + 3 = 4, but what is 1 + z?
reply
If I’m getting this right, you’re saying BIP39, which has 2048 words, from 0 to 2047, breaks into 11-bit chunks and matches that to the word list index? If that’s how it works, then I guess we could have our own word list, but we’d lose compatibility with existing wallets. I’m guessing if there’s a wallet that lets you pick your own word list, then you could use your own. Or am I missing something?
reply
44 sats \ 1 reply \ @optimism 12h
If I’m getting this right, you’re saying BIP39, which has 2048 words, from 0 to 2047, breaks into 11-bit chunks and matches that to the word list index?
Correct!
If that’s how it works, then I guess we could have our own word list, but we’d lose compatibility with existing wallets.
Correct!
I’m guessing if there’s a wallet that lets you pick your own word list, then you could use your own.
Yes! But note: you'd have to keep the wordlist somewhere safe too and this custom software needs to be available when you need it! So it's additional work and probably not worth it, since you can just cut your 12 or 24 conventional words into half and have 2 separate "factors" anyway; 1

Footnotes

  1. You could use something more hardened, like Shamir's secret sharing, though I remember many years ago when I had C (HSM), Java (app) and Python (tests) development teams working on this for a secure system, their Shamir's libraries weren't compatible and this decision turned out to be max pain instead of max convenience, so maybe just stick with keeping things simple.
reply
I’m not actually gonna do it, just wondering. Thanks!
reply
100 sats \ 1 reply \ @DarthCoin 12h
...and here comes the mathematicians 👍
reply
That'd be an insult to real mathematicians lol
reply
If you use random words to generate a mnemonic seed and some of them are not from those BIP words list, you may end up in having an invalid wallet seed.
NEVER start a new wallet seed with words that YOU choose. The probability that somebody else use them too is higher the the entropy of a wallet app.
is a good question btw
reply
21 sats \ 0 replies \ @nelom 12h
Electrum allows you to add a 13th word of your choice but that doesn't interfere with the original 12
reply
0 sats \ 0 replies \ @BITC0IN 6h
yes its possible. NO you shouldn't do it. humans are terrible and true randomness.
reply