1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
Return-Path: <stick@satoshilabs.com>
Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])
by lists.linuxfoundation.org (Postfix) with ESMTP id EC39BC002D
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 7 Jul 2022 17:52:31 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
by smtp3.osuosl.org (Postfix) with ESMTP id D3E0160B49
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 7 Jul 2022 17:52:31 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org D3E0160B49
Authentication-Results: smtp3.osuosl.org;
dkim=pass (2048-bit key) header.d=satoshilabs.com header.i=@satoshilabs.com
header.a=rsa-sha256 header.s=google header.b=Zzl3dR9M
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001,
RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001]
autolearn=ham autolearn_force=no
Received: from smtp3.osuosl.org ([127.0.0.1])
by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id cioEQA0QdkiN
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 7 Jul 2022 17:52:30 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.8.0
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org BD65E607F2
Received: from mail-yw1-x1129.google.com (mail-yw1-x1129.google.com
[IPv6:2607:f8b0:4864:20::1129])
by smtp3.osuosl.org (Postfix) with ESMTPS id BD65E607F2
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 7 Jul 2022 17:52:30 +0000 (UTC)
Received: by mail-yw1-x1129.google.com with SMTP id
00721157ae682-31bf3656517so177209397b3.12
for <bitcoin-dev@lists.linuxfoundation.org>;
Thu, 07 Jul 2022 10:52:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=satoshilabs.com; s=google;
h=mime-version:references:in-reply-to:from:date:message-id:subject:to
:cc; bh=FK1fWq/Geo+6kjJ9UtV6MmXz/FNsHGflAUiaTds3u7w=;
b=Zzl3dR9MPiGWFXBr2PzxxPlGNGfFPoO7HeSO3jt1HVYGTuz2kweqw60h4dfNZBjt0X
GUJDvkdCqcYO+WclJu7HrsDW0FKTM+1iT/ZLgFkjtFCPGNHMMfQfW/E9VqE0EDmFxgot
H30gDFF7Lu09wESlyaF/SDcES5NMHLdEM1JkSode4kxyXKbhipSexgD2ILuAOCcTPsYQ
WsyBSHpF5gV1V+H5rNwTRlN54culnIlyHEnJByL2UQX/otC5nT7P+pGsd2va0RjiHYXq
5MKzLtvGOIRM120/9ZpLP8DWg7brGF2LHwcY/UIxjI6wnOrBzN2aqGLzTzTdU+CL6BKR
IQyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20210112;
h=x-gm-message-state:mime-version:references:in-reply-to:from:date
:message-id:subject:to:cc;
bh=FK1fWq/Geo+6kjJ9UtV6MmXz/FNsHGflAUiaTds3u7w=;
b=vekTw0qVypzcAcsYKpgZ//kqKysCYaKwzchVXlM96CXoKfz0J9eVvCS0HmOBTkrU5X
ccUEFuJeEENBsXhcuJcHciL9EPKtK7JExbu8jtO/88QKdJR71/HmB4QguhoHoMbalw4r
vEqPSeQbVz1CTVxDOUkE9fAH8Z4RYQ+Ij9ez8deunni1tMSrb2wrFLKPwPqqeWFBHNHy
XXZrtaYrtEbm3gvaBpFOCnEvtBxiZlR18d/KsKy6KhfVYyHOjlCiVg8ANXRXYlX9uKCX
D8eTJt/C08A4nk9PSqR2QGYArm/qdSNEAgq+W/HLxLkvkW9p7QujHMDJy8R01Q8qRZpZ
xEsg==
X-Gm-Message-State: AJIora8ebrrmFjyfhjqC+SuZhizVKb1WsKcERGFjMccQxEgqymY1CVPc
1HwrLg9Bgj4SHwVm7Vn2yBtN7+IqyKOfX6WKoaF66X89jQooBg==
X-Google-Smtp-Source: AGRyM1u9d5b1bDLMNqMF0cBNZyoYIx8m4TjbyewMsAHwiouD3CLBQamhDEB31tjmIu99vElnauE+xENtYOtJpdVQHr8=
X-Received: by 2002:a0d:f9c2:0:b0:317:e067:5104 with SMTP id
j185-20020a0df9c2000000b00317e0675104mr52631613ywf.45.1657216349493; Thu, 07
Jul 2022 10:52:29 -0700 (PDT)
MIME-Version: 1.0
References: <0dc0e945-9e12-43ad-bd12-fcc0e18e4013@www.fastmail.com>
<CAHUJnBAL-qPoGZ8XZS3jZiPaqMOt4Kg2ioM_jfCF3fDB3-ej9A@mail.gmail.com>
In-Reply-To: <CAHUJnBAL-qPoGZ8XZS3jZiPaqMOt4Kg2ioM_jfCF3fDB3-ej9A@mail.gmail.com>
From: Pavol Rusnak <stick@satoshilabs.com>
Date: Thu, 7 Jul 2022 19:52:18 +0200
Message-ID: <CAF90AvmOSa+V7+z16MXyJRCVh_iEceFp_CkbC_4jWixi4W5BbQ@mail.gmail.com>
To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>,
Bram Cohen <bram@chia.net>
Content-Type: multipart/alternative; boundary="000000000000d3f92c05e33abfbb"
Subject: Re: [bitcoin-dev] No Order Mnemonic
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Thu, 07 Jul 2022 17:52:32 -0000
--000000000000d3f92c05e33abfbb
Content-Type: text/plain; charset="UTF-8"
There is. Just encode the index of permutation used to scramble the
otherwise sorted list. For 12 words you need to store 12! = ~32 bits so 3
words should be enough.
Repetitions make this more difficult, though.
On Thu 7. 7. 2022 at 19:41, Bram Cohen via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:
> On Thu, Jul 7, 2022 at 7:43 AM Anton Shevchenko via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> I made a python implementation for a different mnemonic encoding. The
>> encoding requires user to remember words but not the order of those words.
>> The code is open (MIT license) at https://github.com/sancoder/noomnem
>
>
> Thanks Anton. There's an interesting mathematical question of whether it's
> possible to make a code like this which always uses the BIP-39 words for
> the same key as part of its encoding, basically adding a few words as error
> correction in case the order is lost or confused. If the BIP-39 contains a
> duplicate you can add an extra word.
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
--
Best Regards / S pozdravom,
Pavol "stick" Rusnak
Co-Founder, SatoshiLabs
--000000000000d3f92c05e33abfbb
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"auto">There is. Just encode the index of permutation used to sc=
ramble the otherwise sorted list. For 12 words you need to store 12! =3D ~3=
2 bits so 3 words should be enough.=C2=A0</div><div dir=3D"auto"><br></div>=
<div dir=3D"auto">Repetitions make this more difficult, though.=C2=A0</div>=
<div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">O=
n Thu 7. 7. 2022 at 19:41, Bram Cohen via bitcoin-dev <<a href=3D"mailto=
:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.o=
rg</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-l=
eft:1ex;border-left-color:rgb(204,204,204)"><div dir=3D"ltr"><div dir=3D"lt=
r">On Thu, Jul 7, 2022 at 7:43 AM Anton Shevchenko via bitcoin-dev <<a h=
ref=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bitc=
oin-dev@lists.linuxfoundation.org</a>> wrote:<br></div><div class=3D"gma=
il_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-le=
ft-color:rgb(204,204,204)">I made a python implementation for a different m=
nemonic encoding. The encoding requires user to remember words but not the =
order of those words.<br>
The code is open (MIT license) at <a href=3D"https://github.com/sancoder/no=
omnem" rel=3D"noreferrer" target=3D"_blank">https://github.com/sancoder/noo=
mnem</a></blockquote><div><br></div><div>Thanks Anton. There's an inter=
esting mathematical question of whether it's possible to make a code li=
ke this which always uses the BIP-39 words for the same key as part of its =
encoding, basically adding a few words as error correction in case the orde=
r is lost or confused. If the BIP-39 contains a duplicate you can add an ex=
tra word.</div></div></div>
_______________________________________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">=
bitcoin-dev@lists.linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.org/mail=
man/listinfo/bitcoin-dev</a><br>
</blockquote></div></div>-- <br><div dir=3D"ltr" class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><=
div></div><div>Best Regards / S pozdravom,</div><div><br></div><div>Pavol &=
quot;stick" Rusnak</div><div>Co-Founder, SatoshiLabs</div></div></div>=
</div></div>
--000000000000d3f92c05e33abfbb--
|