Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1YW78Z-000306-Rc for bitcoin-development@lists.sourceforge.net; Thu, 12 Mar 2015 17:43:11 +0000 X-ACL-Warn: Received: from gproxy5-pub.mail.unifiedlayer.com ([67.222.38.55]) by sog-mx-3.v43.ch3.sourceforge.com with smtp (Exim 4.76) id 1YW78Y-0003z1-Gb for bitcoin-development@lists.sourceforge.net; Thu, 12 Mar 2015 17:43:11 +0000 Received: (qmail 31772 invoked by uid 0); 12 Mar 2015 17:43:04 -0000 Received: from unknown (HELO CMOut01) (10.0.90.82) by gproxy5.mail.unifiedlayer.com with SMTP; 12 Mar 2015 17:43:04 -0000 Received: from just26.justhost.com ([173.254.28.26]) by CMOut01 with id 2hiz1q00t0ZoGd101hj2Fc; Thu, 12 Mar 2015 11:43:02 -0600 X-Authority-Analysis: v=2.1 cv=dKs1xopb c=1 sm=1 tr=0 a=W0pEH2JMt/Z8OgX48NRskQ==:117 a=BY8XqHikAAAA:8 a=f5113yIGAAAA:8 a=AUjNyygZAAAA:8 a=pGLkceISAAAA:8 a=1XWaLZrsAAAA:8 a=geqOZIdv6ycA:10 a=6wfQvfU8YqEA:10 a=emO1SXQWCLwA:10 a=wXliemeACXEhnGk_gmgA:9 a=vd4gVguvtxNh0PFg:21 a=IxoyA-RX9nZLNp16:21 a=QEXdDO2ut3YA:10 a=E2OKEX96K6PC0erFkuIA:9 Received: from [74.125.82.52] (port=36139 helo=mail-wg0-f52.google.com) by just26.justhost.com with esmtpsa (TLSv1.2:AES128-GCM-SHA256:128) (Exim 4.82) (envelope-from ) id 1YW78P-0004Px-EH for bitcoin-development@lists.sourceforge.net; Thu, 12 Mar 2015 11:43:01 -0600 Received: by wghk14 with SMTP id k14so18060739wgh.3 for ; Thu, 12 Mar 2015 10:42:57 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.194.120.230 with SMTP id lf6mr88341825wjb.78.1426182177931; Thu, 12 Mar 2015 10:42:57 -0700 (PDT) Received: by 10.28.24.145 with HTTP; Thu, 12 Mar 2015 10:42:57 -0700 (PDT) In-Reply-To: References: <54F32EED.6040103@electrum.org> <550057FD.6030402@electrum.org> Date: Thu, 12 Mar 2015 17:42:57 +0000 Message-ID: From: Gary Rowe To: Bitcoin Development Content-Type: multipart/alternative; boundary=089e0115fe2419ca3c05111aea3d X-Identified-User: {3760:just26.justhost.com:bitcoinc:bitcoin-solutions.co.uk} {sentby:smtp auth 74.125.82.52 authed with gary.rowe@bitcoin-solutions.co.uk} X-Spam-Score: 1.0 (+) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [67.222.38.55 listed in list.dnswl.org] 1.0 HTML_MESSAGE BODY: HTML included in message X-Headers-End: 1YW78Y-0003z1-Gb Subject: Re: [Bitcoin-development] Electrum 2.0 has been tagged 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: Thu, 12 Mar 2015 17:43:11 -0000 --089e0115fe2419ca3c05111aea3d Content-Type: text/plain; charset=UTF-8 When Jim and I were selecting which combination of HD wallet structures to support we noted the following: * BIP39 is a good standard list to select from that mandates words that do not look similar to each other, a certain spelling (no English US/UK confusion) and possible foreign language variants provided by experts later * BIP32 (m/0h/0/0) and BIP44 (m/44h/0h/0h/0/0) allow for maximum compatibility with other wallets * including a date in the "wallet words" themselves is open to spoofing since the generator cannot be sure the date is correct (local time drift, provided externally by untrusted third party etc) * a timestamp as optional external metadata is useful to reduce sync times in SPV * our experience verified that users will very often enter a timestamp incorrectly (locale, fat fingers, bad memory etc) so we opted for "number of days elapsed since Bitcoin genesis block with a modulo 97 checksum appended" (e.g. 1850/07) to mitigate this * if a user has no timestamp then blank is the only alternative (no guessing) which is interpreted as "earliest possible BIP32 date" * if restoring the user has to select where the "wallet words" came from (e.g. MultiBit HD, Trezor, Mycelium etc) Users will naturally assume that they can type their "wallet words" (a more mainstream-friendly term than "seed phrase") into any wallet and with a bit of fiddling about get their bitcoins back. As wallet developers it is within our capability to make that happen and I think we're quite close already. --089e0115fe2419ca3c05111aea3d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
When Jim and I were selecting which combination of HD wall= et structures to support we noted the following:

* BIP39 is a good s= tandard list to select from that mandates words that do not look similar to= each other, a certain spelling (no English US/UK confusion) and possible f= oreign language variants provided by experts later
* BIP32 (m/0h/0/0) an= d BIP44 (m/44h/0h/0h/0/0) allow for maximum compatibility with other wallet= s
* including a date in the "wallet words" themselves is open = to spoofing since the generator cannot be sure the date is correct (local t= ime drift, provided externally by untrusted third party etc)
* a timesta= mp as optional external metadata is useful to reduce sync times in SPV
*= our experience verified that users will very often enter a timestamp incor= rectly (locale, fat fingers, bad memory etc) so we opted for "number o= f days elapsed since Bitcoin genesis block with a modulo 97 checksum append= ed" (e.g. 1850/07) to mitigate this
* if a user has no timestamp th= en blank is the only alternative (no guessing) which is interpreted as &quo= t;earliest possible BIP32 date"
* if restoring the user has to sele= ct where the "wallet words" came from (e.g. MultiBit HD, Trezor, = Mycelium etc)

Users will naturally assume that they can type their &= quot;wallet words" (a more mainstream-friendly term than "seed ph= rase") into any wallet and with a bit of fiddling about get their bitc= oins back. As wallet developers it is within our capability to make that ha= ppen and I think we're quite close already.

--089e0115fe2419ca3c05111aea3d--