Skip to content
Snippets Groups Projects

Draft: RFC18 Multilang Mnemonic

Open Pascal Engélibert requested to merge tuxmain/rfcs:rfc18_multilang_mnemonic into master
2 files
+ 51
0
Compare changes
  • Side-by-side
  • Inline
Files
2
+ 50
0
# #18 Multilang Mnemonic
```txt
RFC: 18
Title: Multilang Mnemonic
Type: Convention
Status: WIP
Author: tuxmain <tuxmain@zettascript.org>
Created: 2024-10-16
Last edited: 2024-10-16
License: AGPL-3
```
This RFC defines how to use multilang mnemonics in an alternative way than defined by [BIP39](https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki) while staying compatible with it.
## Motivation
Vanilla BIP39 discourages using non-English mnemonics and only few libraries and applications handle them. Users who want a non-English mnemonic thus loose compatibility with most of the ecosystem.
## English mnemonics
Mnemonics in English follow BIP39.
## Non-English mnemonics
BIP39 defines multilang (non-English) mnemonics using the hash of the sentence in the mnemonic's language.
A dictionary `D` of size `N` is an ordered list that contains the distinct words `D(1), ..., D(N)`.
All dictionaries have the same size `N`.
Let `E` be the English dictionary, and `M` a multilang dictionary.
The only change of the present RFC with respect to BIP39 is that in the hash's input, each word `M(i)` is replaced with the corresponding English word `E(i)`.
Applications SHOULD allow the user to export their multilang mnemonic to English (using the inverse bijection) to allow full compatibility with BIP39.
## Example
| index | English Dictionary | French Dictionary |
| ----- | ------------------ | ----------------- |
| 0 | energy | dotation |
| 1 | curve | commande |
| 0 | energy | dotation |
| 2 | pepper | naufrage |
| 3 | sort | révulsif |
| 4 | weasel | ventouse |
| 5 | yellow | voyelle |
The French mnemonic `dotation ventouse naufrage` generates the same seed as the English mnemonic `energy weasel pepper`.
Loading