From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WNnSk-0007Sy-Ma for bitcoin-development@lists.sourceforge.net; Wed, 12 Mar 2014 18:01:06 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.216.50 as permitted sender) client-ip=209.85.216.50; envelope-from=will.yager@gmail.com; helo=mail-qa0-f50.google.com; Received: from mail-qa0-f50.google.com ([209.85.216.50]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1WNnSi-00088Q-CB for bitcoin-development@lists.sourceforge.net; Wed, 12 Mar 2014 18:01:06 +0000 Received: by mail-qa0-f50.google.com with SMTP id o15so10239568qap.37 for ; Wed, 12 Mar 2014 11:00:58 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.224.160.83 with SMTP id m19mr56674310qax.21.1394647258825; Wed, 12 Mar 2014 11:00:58 -0700 (PDT) Received: by 10.140.31.135 with HTTP; Wed, 12 Mar 2014 11:00:58 -0700 (PDT) In-Reply-To: References: <81f77484-3ca9-40a7-a999-884260b26be5@me.com> <682B9F30-7DDC-4A9D-886E-5454D5F45665@me.com> <53205D1E.1000100@gk2.sk> <53208356.7010209@gk2.sk> Date: Wed, 12 Mar 2014 13:00:58 -0500 Message-ID: From: William Yager Cc: Bitcoin Dev Content-Type: multipart/alternative; boundary=047d7bacb2aa73067904f46c9e50 X-Spam-Score: 0.6 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (will.yager[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.2 MISSING_HEADERS Missing To: header 1.0 HTML_MESSAGE BODY: HTML included in message -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1WNnSi-00088Q-CB Subject: Re: [Bitcoin-development] [RFC] Proposal: Base58 encoded HD Wallet root key with optional encryption X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Mar 2014 18:01:06 -0000 --047d7bacb2aa73067904f46c9e50 Content-Type: text/plain; charset=ISO-8859-1 This spec offers a lot of benefits over BIP 0038: * Multiple KDFs (I think the chosen list is reasonable and fits all required use cases) * Multiple seed lengths * Explicit BIP 0032 support * Creation date field * Plausible deniability (via the multiple-password mechanism) I don't think it makes any sense to compare this to BIP 0039. BIP 0039 is for key import/export, but it doesn't deal with anything like encryption, wallet creation date, etc. The use cases are completely different. I don't think we should let BIP 0039 (which is perfectly good for its intended use case) hold us back from improving on BIP 0038 (which is also good, but could use some changes). Will On Wed, Mar 12, 2014 at 11:49 AM, Gary Rowe wrote: > Jean-Paul, it may be worth noting that the BIP39 word list is integrated > into Bitcoinj so will likely become the de facto standard for Android, > Trezor web and several desktop wallets. Anyone deviating from that word > list would likely find themselves in an isolated pocket. > > Regarding the timestamp, MultiBit HD uses a simple timestamp of "number of > days since midnight of Bitcoin genesis block in UTC with modulo 97 checksum > appended". Thus a new seed generated on 27 January 2014 would have > "1850/01" as its checksum. When creating a new wallet the users are tested > that they have written the timestamp down along with the associated > 12/18/24 words. > > Modulo 97 was chosen since it catches about 99% of errors. > > > On 12 March 2014 15:55, Pavol Rusnak wrote: > >> On 03/12/2014 04:45 PM, Jean-Paul Kogelman wrote: >> > Yes I am. There are some differences between BIP 39 and my proposal >> though. >> > >> > - BIP 39 offers an easy list of words, no gnarly string of case >> sensitive letters and numbers. >> >> Which is better IMO. I can't imagine anyone writing down a long Base58 >> encoded string. >> >> > - BIP 39 only offers one fixed length of entropy, always 12 words, no >> option to increase or decrease the length. >> >> Not true, BIP39 supports 12/18/24 words (= 128/192/256 bits of entropy). >> >> > - BIP 39 doesn't have a genesis date field, so no optimization during >> blockchain rescan. >> >> This is nice addition, indeed. But we needed to limit the data as >> possible in order not to increase the number of words needed to be noted >> down. >> >> > - BIP 39 doesn't have password typo detection. No easy way to recover a >> password if you know most of it. >> >> It has a detection. Not correction though. >> >> > - BIP 39 does not have a user selectable KDF, only 2048 round >> PBKDF2-HMAC-SHA512. >> > - BIP 39 can't outsource the KDF computation to a 3rd party. >> >> True, but having one or two solid options are better than having >> gazillions of possible options. >> >> > - BIP 39 wallet implementors can use their own word lists, breaking >> cross wallet compatibility. >> >> True, but they are encouraged to use the list provided. Possibility to >> outsource KDF outside of your "standard" breaks much more compatibility >> than this. >> >> -- >> Best Regards / S pozdravom, >> >> Pavol Rusnak >> >> >> ------------------------------------------------------------------------------ >> Learn Graph Databases - Download FREE O'Reilly Book >> "Graph Databases" is the definitive new guide to graph databases and their >> applications. Written by three acclaimed leaders in the field, >> this first edition is now available. Download your free book today! >> http://p.sf.net/sfu/13534_NeoTech >> _______________________________________________ >> Bitcoin-development mailing list >> Bitcoin-development@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/bitcoin-development >> > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > --047d7bacb2aa73067904f46c9e50 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
This spec offers a lot of benefits over BIP 0038:

=
• Multiple KDFs (I think the chosen list is reasonable and = fits all required use cases)
• Multiple seed lengths
• Explicit BIP 0032 support
• Creation date field
• Plausible deniability (via= the multiple-password mechanism)

I don't thin= k it makes any sense to compare this to BIP 0039. BIP 0039 is for key impor= t/export, but it doesn't deal with anything like encryption, wallet cre= ation date, etc. The use cases are completely different. 

I don't think we should let BIP 0039 (which is perf= ectly good for its intended use case) hold us back from improving on BIP 00= 38 (which is also good, but could use some changes).

Will

 


On Wed, Mar 12, 2014 at 11:49 AM, G= ary Rowe <g.rowe@froot.co.uk> wrote:
Jean-Paul, it may be worth = noting that the BIP39 word list is integrated into Bitcoinj so will likely = become the de facto standard for Android, Trezor web and several desktop wa= llets. Anyone deviating from that word list would likely find themselves in= an isolated pocket.

Regarding the timestamp, MultiBit HD uses a simple timestamp= of "number of days since midnight of Bitcoin genesis block in UTC wit= h modulo 97 checksum appended". Thus a new seed generated on 27 Januar= y 2014 would have "1850/01" as its checksum. When creating a new = wallet the users are tested that they have written the timestamp down along= with the associated 12/18/24 words.

Modulo 97 was chosen since it catches about 99% of erro= rs.


On 12 March 2014 15:55, Pavol Rus= nak <stick@gk2.sk> wrote:
On 03/12/2014 04:45 PM, Jean-Paul Kogel= man wrote:
> Yes I am. There are some differences between BIP 39 and my proposal th= ough.
>
> - BIP 39 offers an easy list of words, no gnarly string of case sensit= ive letters and numbers.

Which is better IMO. I can't imagine anyone writing down a long B= ase58
encoded string.

> - BIP 39 only offers one fixed length of entropy, always 12 words, no = option to increase or decrease the length.

Not true, BIP39 supports 12/18/24 words (=3D 128/192/256 bits of entr= opy).

> - BIP 39 doesn't have a genesis date field, so no optimization dur= ing blockchain rescan.

This is nice addition, indeed. But we needed to limit the data as
possible in order not to increase the number of words needed to be noted down.

> - BIP 39 doesn't have password typo detection. No easy way to reco= ver a password if you know most of it.

It has a detection. Not correction though.

> - BIP 39 does not have a user selectable KDF, only 2048 round PBKDF2-H= MAC-SHA512.
> - BIP 39 can't outsource the KDF computation to a 3rd party.

True, but having one or two solid options are better than having
gazillions of possible options.

> - BIP 39 wallet implementors can use their own word lists, breaking cr= oss wallet compatibility.

True, but they are encouraged to use the list provided. Possibility t= o
outsource KDF outside of your "standard" breaks much more compati= bility
than this.

--
Best Regards / S pozdravom,

Pavol Rusnak <stick@gk= 2.sk>

---------------------------------------------------------------------------= ---
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases = and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf= .net/sfu/13534_NeoTech
_______________________________________________
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment


-----------------------------------------------------------= -------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases = and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf= .net/sfu/13534_NeoTech
_____________________________________________= __
Bitcoin-development mailing list
Bitcoin-develo= pment@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment


--047d7bacb2aa73067904f46c9e50--