bitcoin-dev
BIP- & SLIP-0039 -- better multi-language support
Posted on: November 20, 2018 01:51 UTC
A discussion on the use of mnemonics in different languages was held on the Bitcoin-dev mailing list.
The discussion centered around the fact that while words in different languages cannot be directly translated to their equivalents in another language, the underlying entropy is still the same when comparing mnemonics generated across different languages sourced from the same initial entropy. It was suggested that wallets or software should deal with these nuances and users should back up the pre-image (initial entropy) to check the validity of the mnemonic. The issue at hand was that while the initial entropy and word indexes were the same for both an English and a Spanish mnemonic, the resulting BIP39 seeds were not the same. Two options were suggested to solve this problem: Option 1 was to have the wallet recognize the language and show the corresponding index value per wordlist, and reverse-calculate the entropy and then re-map it to the language selected. Option 2 was to revise how the BIP39 seed is generated in the first place by hashing the entropy instead of the words. Another suggestion was made to include the identifier of the chosen wordlist as part of the mnemonic and maintain an official list of named dictionaries for user selection, allowing substitution of words to other languages by manually specifying a different input dictionary.