Skip to content
Snippets Groups Projects
Commit 41fb0287 authored by Pascal Engélibert's avatar Pascal Engélibert :bicyclist:
Browse files

Draft RFC18 Multilang Mnemonic

parent d39c4acb
No related tags found
No related merge requests found
......@@ -40,6 +40,7 @@ All documents should be implementation agnostic, as specific documentations shou
* RFC_0011: [Duniter_Blockchain_Protocol_V13](https://git.duniter.org/documents/rfcs/blob/dubp_v13/rfc/0011_Duniter_Blockchain_Protocol_V13.md)
* RFC_0012: [Duniter Key File Format](https://git.duniter.org/documents/rfcs/blob/authentication_file_format/rfc/0012_duniterkey_authentication_file_format_v1.md)
* RFC_0015: [HD wallet](https://git.duniter.org/documents/rfcs/blob/hd_wallet/rfc/0015_Dubp_HD_Wallet.md)
* RFC_0018: [Multilang Mnemonic](https://git.duniter.org/tuxmain/rfcs/-/blob/rfc18_multilang_mnemonic/rfc/0018_Multilang_Mnemonic.md)
### Discontinued RFCs
......
# #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`.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment