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 4BB01C002F for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Jan 2022 22:45:34 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 33EEA600CA for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Jan 2022 22:45:34 +0000 (UTC) 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 Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=satoshilabs.com 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 kXdpo72XKExG for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Jan 2022 22:45:33 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-ua1-x934.google.com (mail-ua1-x934.google.com [IPv6:2607:f8b0:4864:20::934]) by smtp3.osuosl.org (Postfix) with ESMTPS id E95DC600C6 for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Jan 2022 22:45:32 +0000 (UTC) Received: by mail-ua1-x934.google.com with SMTP id h28so8087206uax.4 for <bitcoin-dev@lists.linuxfoundation.org>; Mon, 17 Jan 2022 14:45:32 -0800 (PST) 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=MC+8Mp0GnOkcTDZ4pBNF+CgfS/F94zREuvBU4K88/Ro=; b=IyukH/zMdBlCd7apEkixJBt1KEEaOAj2uJY6GA4NcePn6oWBE2oBtRiZDoVQ9MaG7y 4+C1DveQdUAXIk19Udd5tG5bOu8huCC+aMkFAKVjw8uRJfFuXJRC5r6GUNzwSHT1rmiv rkbtNHIeWt83VcsaMuq2vS3cqJrGraNM6sjnl67Da3bN7gqm0x5EkX402wpXP6xGDBvm KAoTdiGjfkWDvYG6XEFe5/ajTuoBDWQooF21PmeSGRsuixKqGPRhoMa81lkBynqKtIlf 64unxuuCKx9zpyx0OvX3tL2vz0qvOS14wH8kBRNBCWah0mMGSX788DX4Fxn3Rr1mQYMb yuyA== 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=MC+8Mp0GnOkcTDZ4pBNF+CgfS/F94zREuvBU4K88/Ro=; b=qWhq/f2PejMXTaMuNc47WoHlXelm959eWpQK/2ZlPhkrBj3fXPAZn//fiJ0fpa8zz0 WZwddeq3NBYhNSCq9dSRygSVdzjTVL5oYynPZb9aPWVPQBK7yIJ50QrpmWm5+axUfbfJ OSLkmLcN8ISm8EJyYWwkBvUZN/nKzyz/KmPwZ/BS5HGPgAz3vAav9jpqMP8zYurCAIHr DWuZz3swqwHPwGU7yoEKP3RUm9hPqA5FxvYizOKbKTEM9PN0+ON3Svt4/UB8102dEPSf 8cwnbVQwvbty2Ub+AppcsdNjXllZe4ndRh+G/fetDCPNPFVNdDXyxFDM6+nje9XzzOMj k7YA== X-Gm-Message-State: AOAM532HObVTVlpc7qmDkhVqjZOBYhxPdV6P2+8/DM+TsGxlF1R5H/2e +d3c5UvuE1hRR7sJNZjj820HwvNlj32gJy4iwhyChLbqiS8fXgb+ X-Google-Smtp-Source: ABdhPJzpU9sjWzuo7zeuYGXPv8ME5sPyYTE3NTS7HKR3V1AMlIJF85wYVdZ3oaVURKMSNeDIfYLSPEaOyAV+qidg+wU= X-Received: by 2002:a67:dc17:: with SMTP id x23mr7935742vsj.75.1642459531526; Mon, 17 Jan 2022 14:45:31 -0800 (PST) MIME-Version: 1.0 References: <CAJowKg+Wr0agLLGfCB=yAJrUn0tXWieyuoz2TFv6W1Ahj8Td2w@mail.gmail.com> <CAD5xwhhOP_evDPGhEWq6UL9_xuYUCAQs7CCttVCKcdf5V5CdFw@mail.gmail.com> In-Reply-To: <CAD5xwhhOP_evDPGhEWq6UL9_xuYUCAQs7CCttVCKcdf5V5CdFw@mail.gmail.com> From: Pavol Rusnak <stick@satoshilabs.com> Date: Mon, 17 Jan 2022 23:45:20 +0100 Message-ID: <CAF90AvnLqyC=yDcT8yWORfQPKHPn06_YFffj9WGbP9+v5RZ1Fw@mail.gmail.com> To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org> Content-Type: multipart/alternative; boundary="000000000000ef572205d5cee89b" Subject: Re: [bitcoin-dev] bip39 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: Mon, 17 Jan 2022 22:45:34 -0000 --000000000000ef572205d5cee89b Content-Type: text/plain; charset="UTF-8" Trezor recovery cards look like this what addresses the issue: https://wiki.trezor.io/images/Seed_card_example.jpg 1. Each word has a box around it. 2. You write the words one under the other, not next to each other. On Mon, 17 Jan 2022 at 23:38, Jeremy via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > This is a good point, but can be addressed by having a non-void whitespace > character (e.g., win x estate). > > changing BIP39 would be hard since software expects a standard list; it > would also be possible to rejection sample for seeds that do not contain > these pairs, unclear how much entropy would be lost from that. > -- > @JeremyRubin <https://twitter.com/JeremyRubin> > <https://twitter.com/JeremyRubin> > > > On Mon, Jan 17, 2022 at 2:26 PM Erik Aronesty via bitcoin-dev < > bitcoin-dev@lists.linuxfoundation.org> wrote: > >> really don't like that art, work, and artwork are 3 different words >> >> would be nice to clean up adjacent ambiguity >> >> it's not a big deal, but it can lead to confusion when writing things down >> >> >> dup: ('canal', 'arm') ('can', 'alarm') >> dup: ('canal', 'one') ('can', 'alone') >> dup: ('canal', 'ready') ('can', 'already') >> dup: ('card', 'anger') ('car', 'danger') >> dup: ('card', 'ice') ('car', 'dice') >> dup: ('card', 'inner') ('car', 'dinner') >> dup: ('card', 'raw') ('car', 'draw') >> dup: ('cart', 'able') ('car', 'table') >> dup: ('cart', 'ask') ('car', 'task') >> dup: ('cart', 'hat') ('car', 'that') >> dup: ('cart', 'hen') ('car', 'then') >> dup: ('cart', 'issue') ('car', 'tissue') >> dup: ('cart', 'one') ('car', 'tone') >> dup: ('cart', 'own') ('car', 'town') >> dup: ('cart', 'rack') ('car', 'track') >> dup: ('cart', 'rain') ('car', 'train') >> dup: ('cart', 'win') ('car', 'twin') >> dup: ('catch', 'air') ('cat', 'chair') >> dup: ('erase', 'arch') ('era', 'search') >> dup: ('fatal', 'arm') ('fat', 'alarm') >> dup: ('fatal', 'one') ('fat', 'alone') >> dup: ('fatal', 'ready') ('fat', 'already') >> dup: ('feed', 'anger') ('fee', 'danger') >> dup: ('feed', 'ice') ('fee', 'dice') >> dup: ('feed', 'inner') ('fee', 'dinner') >> dup: ('feed', 'raw') ('fee', 'draw') >> dup: ('feel', 'earn') ('fee', 'learn') >> dup: ('feel', 'end') ('fee', 'lend') >> dup: ('gasp', 'act') ('gas', 'pact') >> dup: ('gasp', 'age') ('gas', 'page') >> dup: ('gasp', 'air') ('gas', 'pair') >> dup: ('gasp', 'ill') ('gas', 'pill') >> dup: ('gasp', 'raise') ('gas', 'praise') >> dup: ('gasp', 'rice') ('gas', 'price') >> dup: ('gasp', 'ride') ('gas', 'pride') >> dup: ('gasp', 'roof') ('gas', 'proof') >> dup: ('kite', 'merge') ('kit', 'emerge') >> dup: ('kite', 'motion') ('kit', 'emotion') >> dup: ('kite', 'state') ('kit', 'estate') >> dup: ('lawn', 'arrow') ('law', 'narrow') >> dup: ('lawn', 'either') ('law', 'neither') >> dup: ('lawn', 'ice') ('law', 'nice') >> dup: ('legal', 'arm') ('leg', 'alarm') >> dup: ('legal', 'one') ('leg', 'alone') >> dup: ('legal', 'ready') ('leg', 'already') >> dup: ('seat', 'able') ('sea', 'table') >> dup: ('seat', 'ask') ('sea', 'task') >> dup: ('seat', 'hat') ('sea', 'that') >> dup: ('seat', 'hen') ('sea', 'then') >> dup: ('seat', 'issue') ('sea', 'tissue') >> dup: ('seat', 'one') ('sea', 'tone') >> dup: ('seat', 'own') ('sea', 'town') >> dup: ('seat', 'rack') ('sea', 'track') >> dup: ('seat', 'rain') ('sea', 'train') >> dup: ('seat', 'win') ('sea', 'twin') >> dup: ('skin', 'arrow') ('ski', 'narrow') >> dup: ('skin', 'either') ('ski', 'neither') >> dup: ('skin', 'ice') ('ski', 'nice') >> dup: ('tent', 'able') ('ten', 'table') >> dup: ('tent', 'ask') ('ten', 'task') >> dup: ('tent', 'hat') ('ten', 'that') >> dup: ('tent', 'hen') ('ten', 'then') >> dup: ('tent', 'issue') ('ten', 'tissue') >> dup: ('tent', 'one') ('ten', 'tone') >> dup: ('tent', 'own') ('ten', 'town') >> dup: ('tent', 'rack') ('ten', 'track') >> dup: ('tent', 'rain') ('ten', 'train') >> dup: ('tent', 'win') ('ten', 'twin') >> dup: ('used', 'anger') ('use', 'danger') >> dup: ('used', 'ice') ('use', 'dice') >> dup: ('used', 'inner') ('use', 'dinner') >> dup: ('used', 'raw') ('use', 'draw') >> dup: ('wine', 'merge') ('win', 'emerge') >> dup: ('wine', 'motion') ('win', 'emotion') >> dup: ('wine', 'state') ('win', 'estate') >> dup: ('wing', 'host') ('win', 'ghost') >> dup: ('wing', 'love') ('win', 'glove') >> dup: ('wing', 'old') ('win', 'gold') >> dup: ('wing', 'own') ('win', 'gown') >> dup: ('wing', 'race') ('win', 'grace') >> dup: ('wing', 'rain') ('win', 'grain') >> dup: ('wink', 'now') ('win', 'know') >> dup: ('youth', 'under') ('you', 'thunder') >> _______________________________________________ >> bitcoin-dev mailing list >> bitcoin-dev@lists.linuxfoundation.org >> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >> > _______________________________________________ > 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 --000000000000ef572205d5cee89b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Trezor recovery cards look like this what addresses the is= sue:<div><br></div><div><a href=3D"https://wiki.trezor.io/images/Seed_card_= example.jpg">https://wiki.trezor.io/images/Seed_card_example.jpg</a><br></d= iv><div><br></div><div>1. Each word has a box around it.</div><div>2. You w= rite the words one under the other, not next to each other.</div><div><br><= /div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_a= ttr">On Mon, 17 Jan 2022 at 23:38, Jeremy via bitcoin-dev <<a href=3D"ma= ilto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundati= on.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"m= argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left= :1ex"><div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:ar= ial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">This is a good p= oint, but can be addressed=C2=A0by having a non-void whitespace character (= e.g., win x estate).</div><div class=3D"gmail_default" style=3D"font-family= :arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)"><br></div><di= v class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif;f= ont-size:small;color:rgb(0,0,0)">changing BIP39 would be hard since softwar= e expects a standard list; it would also be possible to rejection sample fo= r seeds that do not contain these pairs, unclear how much entropy would be = lost from that.</div><div><div dir=3D"ltr"><div dir=3D"ltr">--<br><a href= =3D"https://twitter.com/JeremyRubin" target=3D"_blank">@JeremyRubin</a><a h= ref=3D"https://twitter.com/JeremyRubin" target=3D"_blank"></a></div></div><= /div><br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gma= il_attr">On Mon, Jan 17, 2022 at 2:26 PM Erik Aronesty via bitcoin-dev <= <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">= bitcoin-dev@lists.linuxfoundation.org</a>> wrote:<br></div><blockquote c= lass=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px soli= d rgb(204,204,204);padding-left:1ex">really don't like that art, work, = and artwork are 3 different words<br> <br> would be nice to clean up adjacent ambiguity<br> <br> it's not a big deal, but it can lead to confusion when writing things d= own<br> <br> <br> dup: ('canal', 'arm') ('can', 'alarm')<br> dup: ('canal', 'one') ('can', 'alone')<br> dup: ('canal', 'ready') ('can', 'already')<= br> dup: ('card', 'anger') ('car', 'danger')<br= > dup: ('card', 'ice') ('car', 'dice')<br> dup: ('card', 'inner') ('car', 'dinner')<br= > dup: ('card', 'raw') ('car', 'draw')<br> dup: ('cart', 'able') ('car', 'table')<br> dup: ('cart', 'ask') ('car', 'task')<br> dup: ('cart', 'hat') ('car', 'that')<br> dup: ('cart', 'hen') ('car', 'then')<br> dup: ('cart', 'issue') ('car', 'tissue')<br= > dup: ('cart', 'one') ('car', 'tone')<br> dup: ('cart', 'own') ('car', 'town')<br> dup: ('cart', 'rack') ('car', 'track')<br> dup: ('cart', 'rain') ('car', 'train')<br> dup: ('cart', 'win') ('car', 'twin')<br> dup: ('catch', 'air') ('cat', 'chair')<br> dup: ('erase', 'arch') ('era', 'search')<br= > dup: ('fatal', 'arm') ('fat', 'alarm')<br> dup: ('fatal', 'one') ('fat', 'alone')<br> dup: ('fatal', 'ready') ('fat', 'already')<= br> dup: ('feed', 'anger') ('fee', 'danger')<br= > dup: ('feed', 'ice') ('fee', 'dice')<br> dup: ('feed', 'inner') ('fee', 'dinner')<br= > dup: ('feed', 'raw') ('fee', 'draw')<br> dup: ('feel', 'earn') ('fee', 'learn')<br> dup: ('feel', 'end') ('fee', 'lend')<br> dup: ('gasp', 'act') ('gas', 'pact')<br> dup: ('gasp', 'age') ('gas', 'page')<br> dup: ('gasp', 'air') ('gas', 'pair')<br> dup: ('gasp', 'ill') ('gas', 'pill')<br> dup: ('gasp', 'raise') ('gas', 'praise')<br= > dup: ('gasp', 'rice') ('gas', 'price')<br> dup: ('gasp', 'ride') ('gas', 'pride')<br> dup: ('gasp', 'roof') ('gas', 'proof')<br> dup: ('kite', 'merge') ('kit', 'emerge')<br= > dup: ('kite', 'motion') ('kit', 'emotion')<= br> dup: ('kite', 'state') ('kit', 'estate')<br= > dup: ('lawn', 'arrow') ('law', 'narrow')<br= > dup: ('lawn', 'either') ('law', 'neither')<= br> dup: ('lawn', 'ice') ('law', 'nice')<br> dup: ('legal', 'arm') ('leg', 'alarm')<br> dup: ('legal', 'one') ('leg', 'alone')<br> dup: ('legal', 'ready') ('leg', 'already')<= br> dup: ('seat', 'able') ('sea', 'table')<br> dup: ('seat', 'ask') ('sea', 'task')<br> dup: ('seat', 'hat') ('sea', 'that')<br> dup: ('seat', 'hen') ('sea', 'then')<br> dup: ('seat', 'issue') ('sea', 'tissue')<br= > dup: ('seat', 'one') ('sea', 'tone')<br> dup: ('seat', 'own') ('sea', 'town')<br> dup: ('seat', 'rack') ('sea', 'track')<br> dup: ('seat', 'rain') ('sea', 'train')<br> dup: ('seat', 'win') ('sea', 'twin')<br> dup: ('skin', 'arrow') ('ski', 'narrow')<br= > dup: ('skin', 'either') ('ski', 'neither')<= br> dup: ('skin', 'ice') ('ski', 'nice')<br> dup: ('tent', 'able') ('ten', 'table')<br> dup: ('tent', 'ask') ('ten', 'task')<br> dup: ('tent', 'hat') ('ten', 'that')<br> dup: ('tent', 'hen') ('ten', 'then')<br> dup: ('tent', 'issue') ('ten', 'tissue')<br= > dup: ('tent', 'one') ('ten', 'tone')<br> dup: ('tent', 'own') ('ten', 'town')<br> dup: ('tent', 'rack') ('ten', 'track')<br> dup: ('tent', 'rain') ('ten', 'train')<br> dup: ('tent', 'win') ('ten', 'twin')<br> dup: ('used', 'anger') ('use', 'danger')<br= > dup: ('used', 'ice') ('use', 'dice')<br> dup: ('used', 'inner') ('use', 'dinner')<br= > dup: ('used', 'raw') ('use', 'draw')<br> dup: ('wine', 'merge') ('win', 'emerge')<br= > dup: ('wine', 'motion') ('win', 'emotion')<= br> dup: ('wine', 'state') ('win', 'estate')<br= > dup: ('wing', 'host') ('win', 'ghost')<br> dup: ('wing', 'love') ('win', 'glove')<br> dup: ('wing', 'old') ('win', 'gold')<br> dup: ('wing', 'own') ('win', 'gown')<br> dup: ('wing', 'race') ('win', 'grace')<br> dup: ('wing', 'rain') ('win', 'grain')<br> dup: ('wink', 'now') ('win', 'know')<br> dup: ('youth', 'under') ('you', 'thunder')<= br> _______________________________________________<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> _______________________________________________<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><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"= class=3D"gmail_signature"><div dir=3D"ltr"><div><div dir=3D"ltr"><div></di= v><div>Best Regards / S pozdravom,</div><div><br></div><div>Pavol "sti= ck" Rusnak</div><div>Co-Founder, SatoshiLabs</div></div></div></div></= div> --000000000000ef572205d5cee89b--