public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Billy Tetrud <billy.tetrud@gmail•com>
To: Pavol Rusnak <stick@satoshilabs•com>,
	 Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] bip39
Date: Tue, 18 Jan 2022 10:33:04 -0600	[thread overview]
Message-ID: <CAGpPWDbMH5VbLPVfrySvJLJjxWUvbphtCJFQUYvCOw++hvwDCw@mail.gmail.com> (raw)
In-Reply-To: <CAF90AvnLqyC=yDcT8yWORfQPKHPn06_YFffj9WGbP9+v5RZ1Fw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5955 bytes --]

I agree removing any ambiguity would be good. I'd also like to see removal
of words that are a strict subset of another word. Words like add (which is
a subset of addict and address).

As far as entropy loss, I think even with an 1000 word list and a 12 word
seed, it would be unlikely in a time far longer than the age of the
universe to expect to come across one duplicate randomly generated seed.
Even if every person on the planet generated 1000 seeds per second. So I
don't really see this as a concern.

On Mon, Jan 17, 2022 at 4:45 PM Pavol Rusnak via bitcoin-dev <
bitcoin-dev@lists•linuxfoundation.org> wrote:

> 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
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

[-- Attachment #2: Type: text/html, Size: 10956 bytes --]

      reply	other threads:[~2022-01-18 16:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-17 21:51 Erik Aronesty
2022-01-17 22:38 ` Jeremy
2022-01-17 22:45   ` Pavol Rusnak
2022-01-18 16:33     ` Billy Tetrud [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAGpPWDbMH5VbLPVfrySvJLJjxWUvbphtCJFQUYvCOw++hvwDCw@mail.gmail.com \
    --to=billy.tetrud@gmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=stick@satoshilabs$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox