5 ms·
How many times has the wheel been reinvented with these phonetic word list schemes? Loads of crypto apps use them, e.g. for bitcoin wallet recovery. Do they all
by rozab 5y ago
How many times has the wheel been reinvented with these phonetic word list schemes? Loads of crypto apps use them, e.g. for bitcoin wallet recovery. Do they all roll their own scheme? Someone should attempt to make a standard if none exists.
Interoperability isn't even that important, I just want to pull something into my project.
- kybernetikos 5y agoI originally planned to use the crypto bip39 wordlist but ultimately it proved not to be suitable. I talk a little about it https://wherewords.id/+about https://wherewords.id/+about
- rozab 5y agoGreat summary, thanks
- snypher 5y agoCrypto wallets may use BIP39 protocol, it might be close to a 'standard'? https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki https://github.com/bitcoin/bips/blob/master/bip-0039.mediawi... Edit: 2048 English wordlist is here https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt https://github.com/bitcoin/bips/blob/master/bip-0039/english...
- ryebit 5y agoIn addition to BIP39 cited below, the EFF also published some useful wordlists a few years ago... https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases https://www.eff.org/deeplinks/2016/07/new-wordlists-random-p... One has the nice property that all words have unique 3 letter prefix. But not as many in prefix list (1296) as their "long" list (7776). That said I'm kinda partial to BIP39... first four letters are unique, and words are more uniform than EFF prefix list. But it looks like GPS addressing schemes like w3w need a MUCH larger list by an order of magnitude.
- kybernetikos 5y ago> But it looks like GPS addressing schemes like w3w need a MUCH larger list by an order of magnitude. If you're trying to get down to 3 words yes, but if you're happy with 4 words (and I am), then the long list would be more than enough. One problem I found was that I think people don't want strongly negative phrases being used to describe where they live (rural poverty assault, evil disease island). The BIP39 wordlist can create word groups that are very offensive, or that would feel rascist if applied to particular parts of the world. It also has words that are easily confused for other words like era/error, son/sun, alter/altar, aisle/I'll, floor/flaw, . I did use words from BIP39, but had to remove quite a few in the end for my wordlist (e.g. blast, load, black, finger, female etc.) because of the unfortunate clusters it could create. Ultimately, I think coming up with a good wordlist is still a bit of an unsolved problem. The ideal wordlist for something like this 1. can't form obviously rascist or overtly sexual word clusters 2. can be easily distinguished in spoken communication 3. can be easily distinguished in written communication 4. doesn't have words that sound similar to other words in any of the most common accents 5. doesn't have geographic words (it'd be confusing) 6. is mainly positive or neutral words 7. consists of words that are common and easy to spell, avoiding words that are commonly misspelled and where there are different standard ways of spelling the words depending on region 8. has words that are not too long, a small number of syllables 9. doesn't contain words that are concatenations of other words in the wordlist Obviously not easy if you need a significant number of them.
- jasonwatkinspdx 5y agoI did the same thing as you and had the exact same experience. S2 made the mapping trivial, and I spent nearly all time on the word list. I was really surprised to find there's not much out there in the way of cross language most commonly used word lists. I assume such lists are out there somewhere in the computational linguistics community but I couldn't find them. I ended up using a list of the most common english words, filtered via pairwise levenstien distance, and then I did a manual scan to drop any words that seemed problematic. It really would be nice if someone would solve this, but I'm not being flippant about just how much effort would be involved.
- kybernetikos 5y ago> I just want to pull something into my project My experimentation mostly lives here: https://github.com/kybernetikos/wherewords/tree/main/lib/wordlist https://github.com/kybernetikos/wherewords/tree/main/lib/wor... If you're coding in JS, I'd use https://www.npmjs.com/package/verbal-id https://www.npmjs.com/package/verbal-id for 10bits, bip39 for 11 bits, and maybe my wordlist for 12 bits.