Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id BDAF7C002F for ; Mon, 17 Jan 2022 22:38:28 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id B9ADD8140E for ; Mon, 17 Jan 2022 22:38:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -4.199 X-Spam-Level: X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PymBGaGGOPYv for ; Mon, 17 Jan 2022 22:38:27 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by smtp1.osuosl.org (Postfix) with ESMTPS id 6557081403 for ; Mon, 17 Jan 2022 22:38:27 +0000 (UTC) Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (authenticated bits=0) (User authenticated as jlrubin@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 20HMcOTu031495 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 17 Jan 2022 17:38:25 -0500 Received: by mail-lf1-f52.google.com with SMTP id e3so60417731lfc.9 for ; Mon, 17 Jan 2022 14:38:25 -0800 (PST) X-Gm-Message-State: AOAM533S2p890GV2zICHKm7UlXnNXPSopbS0OKyc8c616gy8lhHpa5kg 8T9VuZ21W4DzMOXMV/lKrQcWjDa7VUSZE2JwSow= X-Google-Smtp-Source: ABdhPJyO+xdsp0m1Jd2qsHm1lJGR/TEBIOmSM+h3H7Swzm4XRI8tsZEdbTrRhQIf3XxQAcwI5Ifq8wPuQ7EODxHPNzU= X-Received: by 2002:a2e:a166:: with SMTP id u6mr17784679ljl.227.1642459103855; Mon, 17 Jan 2022 14:38:23 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Jeremy Date: Mon, 17 Jan 2022 14:38:12 -0800 X-Gmail-Original-Message-ID: Message-ID: To: Erik Aronesty , Bitcoin Protocol Discussion Content-Type: multipart/alternative; boundary="00000000000071880305d5cecf68" 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jan 2022 22:38:28 -0000 --00000000000071880305d5cecf68 Content-Type: text/plain; charset="UTF-8" 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 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 > --00000000000071880305d5cecf68 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
This is a good point, but= can be addressed=C2=A0by having a non-void whitespace character (e.g., win= x estate).

changing BIP39 would be hard since software expects a sta= ndard 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.=


On Mon, Jan 17, 2022= at 2:26 PM Erik Aronesty via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> w= rote:
really don't like that art, work, and a= rtwork 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 d= own


dup: ('canal', 'arm') ('can', 'alarm')
dup: ('canal', 'one') ('can', 'alone')
dup: ('canal', 'ready') ('can', 'already')<= br> 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')<= br> 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')<= br> dup: ('kite', 'state') ('kit', 'estate') dup: ('lawn', 'arrow') ('law', 'narrow') dup: ('lawn', 'either') ('law', 'neither')<= br> dup: ('lawn', 'ice') ('law', 'nice')
dup: ('legal', 'arm') ('leg', 'alarm')
dup: ('legal', 'one') ('leg', 'alone')
dup: ('legal', 'ready') ('leg', 'already')<= br> 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')<= br> 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')<= br> 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')<= br> _______________________________________________
bitcoin-dev mailing list
= bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mail= man/listinfo/bitcoin-dev
--00000000000071880305d5cecf68--