Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 562A0B59 for ; Tue, 6 Nov 2018 16:16:55 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 88414A4 for ; Tue, 6 Nov 2018 16:16:54 +0000 (UTC) Received: by mail-ed1-f53.google.com with SMTP id f8-v6so10924388edt.13 for ; Tue, 06 Nov 2018 08:16:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=wFcBBJViQxF3UBuWSLfmdaTuEVl7OPEEv3NIC9nNzJY=; b=EPDkKDi7n90DiKAwByGRf1UsbTLajOOm82keR9hYI1Hjg6ErfvRuNSGwIU5gLY5ZIP tIRXoz75vakjdMayX0Cj5aRxr4F6pxtzN3eB3gPa2tij5BQsoAPjn6yOP1M4xxgsgXQn bPMsorCN5QM8V6ih9PD2f8Xm5cvnaW5sVhW3jh6S1B7bnuCh5V+TMlgewnqBhlW669Wr M9G/TkUGzx3c1UQoXVVCHQ/s62hrnuiOZ7Dtu8JFByf986HGggotIDqdU8ggzOFU5Vuy cgIoN1RR9C4gbzUOfEa0ySSBtHu5QOxmfYzR7kFsF4RdDCeGVhjWxo1+HAeBrjkyEsQP lqqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=wFcBBJViQxF3UBuWSLfmdaTuEVl7OPEEv3NIC9nNzJY=; b=W5eRLvjgHoA7SOyBiNQfQoJbJS++NY8eKfRc38DQmKe3yZBhEgRR+wDtjgGQR/o+DC JvvmftYYlR8JPNR3uGm9ZJXNXIhWjj/HckmQ5t6NEtNZ9nTkmQloEHbHXbvWC8xIHu4H TMvr7IMV2jR7T0gsGpT6FM105JoDyWPcuepntkxdt9jIefcAijQHMFSUU2vpimCLvrak FuMkFR/0HIMkwmFEtd9CLmI+fAgM8aUubDTii8y3caUowlu1iHHobUkvBLba1S0HjUrJ D0ebxbsXx9/4t4fN3Ai6Uvg3D35aP8rc5bWoHhH6epQyFxsHsnODcOFytZnQ1oraBMGB B6Ng== X-Gm-Message-State: AGRZ1gKTLKAcx7eCWEjmXWBA1e0B8zyUyutlwK0SxvuJ9bHI1W3yDkbq dbpVdTfqS+fe5jsnEdvPrM+JLGUEA2h6/eN6lhBU47w/ X-Google-Smtp-Source: AJdET5c8al8ILZqywFCQ1FiHzoCmVXbcgrsm19hlaCEkpCye7ZUvmXIYYc/SWbtv2410mDGsNBteAGLT+oDp3TIxn/4= X-Received: by 2002:a17:906:7143:: with SMTP id z3-v6mr16107105ejj.241.1541521012748; Tue, 06 Nov 2018 08:16:52 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Weiji Guo Date: Wed, 7 Nov 2018 00:16:41 +0800 Message-ID: To: bitcoin-dev@lists.linuxfoundation.org Content-Type: multipart/alternative; boundary="00000000000060f866057a015454" X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Tue, 06 Nov 2018 18:16:32 +0000 Subject: [bitcoin-dev] BIP- & SLIP-0039 -- better multi-language support X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Nov 2018 16:16:55 -0000 --00000000000060f866057a015454 Content-Type: text/plain; charset="UTF-8" Hello everyone, I just realized that BIP-0039 is language dependent. I was assuming the other way till I looked closer. The way the seed is derived from a BIP-0039 entropy, as is shown below, depends on which language to generate the mnemonic sentence: Entropy <=> Mnemonic Sentence => PBKDF2 => BIP-0032 Seed Therefore when a user choose a non-English mnemonic code he or she is stuck with that language. Meanwhile only a few native languages are supported. SLIP-0039 does not solve this issue in a user friendly way by providing only an English wordlist. That's understandable as it aims to provide SSS capability. However those users who do not speak English or recognize English words will suffer. What I am trying to bring to attention of the community is that, no matter if we make a new version of BIP-0039, or a new BIP (with SSS support), or to enhance SLIP-0039, we really need to address this language issue. Here are what I propose: 1. The mnemonic code should be only a representation of underlying entropy or (pre) master secret, seed, whatever. In this way, the same seed/secret could be displayed in English or in Chinese or other languages. Then there could be 3rd party conversion tools to support translations in case any wallet software or device does not support all specified languages. Now it looks like: Mnemonic Sentence <=> Entropy => PBKDF2 => BIP-0032 Seed 2. Given that only 8 languages are supported in BIP-0039, we should allow the seed/secret to be represented in decimal numbers, each ranging from 0 to 2047. So those who cannot find a native language support yet having difficulty coping words in other languages could choose to just use numbers. So far I don't have a preference how this should be implemented. I'd like to hear from community first. Thanks, Weiji Guo --00000000000060f866057a015454 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello everyone,

I just= realized that BIP-0039 is language dependent. I was assuming the other way= till I looked closer. The way the seed is derived from a BIP-0039 entropy,= as is shown below, depends on which language to generate the mnemonic sent= ence:

=C2=A0 =C2=A0Entropy <=3D> Mnemon= ic Sentence =3D> PBKDF2 =3D> BIP-0032 Seed

Therefore when a user choose a non-English mnemonic code he or she= is stuck with that language. Meanwhile only a few native languages are sup= ported.

SLIP-0039 does not solve this issue in a u= ser friendly way by providing only an English wordlist. That's understa= ndable as it aims to provide SSS capability. However those users who do not= speak English or recognize English words will suffer.=C2=A0

=
What I am trying to bring to attention of the community is that,= no matter if we make a new version of BIP-0039, or a new BIP (with SSS sup= port), or to enhance SLIP-0039, we really need to address this language iss= ue.=C2=A0

Here are what I propose:

<= /div>
1. The mnemonic code should be only a representation of underlyin= g entropy or (pre) master secret, seed, whatever. In this way, the same see= d/secret could be displayed in English or in Chinese or other languages. Th= en there could be 3rd party conversion tools to support translations in cas= e any wallet software or device does not support all specified languages. N= ow it looks like:

=C2=A0 =C2=A0Mnemonic Sentence &= lt;=3D> Entropy =3D> PBKDF2 =3D> BIP-0032 Seed

2. Given that only 8 languages are supported in BIP-0039, we should a= llow the seed/secret to be represented in decimal numbers, each ranging fro= m 0 to 2047. So those who cannot find a native language support yet having = difficulty coping words in other languages could choose to just use numbers= .

So far I don't have a preference how this sh= ould be implemented. I'd like to hear from community first.=C2=A0
=

Thanks,

Weiji Guo
--00000000000060f866057a015454--