summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamas Blummer <tamas@bitsofproof.com>2014-04-08 16:00:14 +0200
committerbitcoindev <bitcoindev@gnusha.org>2014-04-08 14:00:13 +0000
commitda254a1dec7f7c254c06c5d1001262ae664f9e2d (patch)
tree89e8680dc4b633cdd37210517a983d88865ac78e
parent024ee6a523e2502794c8771c86111f8dbd0b7138 (diff)
downloadpi-bitcoindev-da254a1dec7f7c254c06c5d1001262ae664f9e2d.tar.gz
pi-bitcoindev-da254a1dec7f7c254c06c5d1001262ae664f9e2d.zip
Re: [Bitcoin-development] New BIP32 structure
-rw-r--r--b0/d2da5750b71e9802e884e69911507f9a9f0c6d289
1 files changed, 289 insertions, 0 deletions
diff --git a/b0/d2da5750b71e9802e884e69911507f9a9f0c6d b/b0/d2da5750b71e9802e884e69911507f9a9f0c6d
new file mode 100644
index 000000000..286e3b542
--- /dev/null
+++ b/b0/d2da5750b71e9802e884e69911507f9a9f0c6d
@@ -0,0 +1,289 @@
+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 <tamas@bitsofproof.com>) id 1WXWZQ-0003rN-Kd
+ for bitcoin-development@lists.sourceforge.net;
+ Tue, 08 Apr 2014 14:00:13 +0000
+X-ACL-Warn:
+Received: from wp059.webpack.hosteurope.de ([80.237.132.66])
+ by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256)
+ (Exim 4.76) id 1WXWZN-0004zU-LF
+ for bitcoin-development@lists.sourceforge.net;
+ Tue, 08 Apr 2014 14:00:12 +0000
+Received: from [37.143.74.116] (helo=[192.168.2.2]); authenticated
+ by wp059.webpack.hosteurope.de running ExIM with esmtpsa
+ (TLS1.0:RSA_AES_128_CBC_SHA1:16)
+ id 1WXWZH-0005Pw-5O; Tue, 08 Apr 2014 16:00:03 +0200
+Content-Type: multipart/signed;
+ boundary="Apple-Mail=_96CA6582-346A-47D2-A1A9-F1856A2B561F";
+ protocol="application/pgp-signature"; micalg=pgp-sha1
+Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\))
+From: Tamas Blummer <tamas@bitsofproof.com>
+In-Reply-To: <CAPg+sBguSQ8dk1xXKinX+ez4BmdM3sz-huruuhD6NCTsp0kRBQ@mail.gmail.com>
+Date: Tue, 8 Apr 2014 16:00:14 +0200
+Message-Id: <41F77B0F-FCC5-4614-A435-7B44257F7A7C@bitsofproof.com>
+References: <CANEZrP2hbBVGqytmXR1rAcVama4ONnR586Se-Ch=dsxOzy2O4w@mail.gmail.com>
+ <F2C8C044-EF92-4CCE-9235-28CA7FCE3526@bitsofproof.com>
+ <CAJHLa0PPAsBLgsy0vgPpUp=UzeR_fWUEzFb5+xtmODEk4MGPVQ@mail.gmail.com>
+ <CAJfRnm7V6fgcj=TMfa2ZTYWOKtE5aoUT1xnVtKUSyriB=6cagQ@mail.gmail.com>
+ <CAPg+sBjwf1TcK1CGKVKFzYbV-78j8t-pav7=PEgG7Yqi6-yE7A@mail.gmail.com>
+ <53344FF8.7030204@gk2.sk>
+ <CAPg+sBhbx5vy_hewAkFPaiXHzSMNH0qLhEYGjPmQMjR5StP-tw@mail.gmail.com>
+ <CAJna-Hi0JnrF2_rUx0rGkdnsuCoaD01e3Gobpn+QqbL=D1Uivg@mail.gmail.com>
+ <CAJna-HirtsGLfAhfUf9dAYEGWo6g=o=eAU187c2pdW8vDFGkPw@mail.gmail.com>
+ <CAPg+sBg8wDH9yTUoyhRbuzVtbD8hGxya8tOnV4pMToHy3gLrzw@mail.gmail.com>
+ <CAJna-HiN_1KQmpDJFFX6mGvM63RC0xwXxvfuorpihnzYf4=fsQ@mail.gmail.com>
+ <CAJna-HgfpyHX_0AHwt1Hkj0qhD_-xOcpxsZ9KXq=7CPgwse1hA@mail.gmail.com>
+ <CAPg+sBguSQ8dk1xXKinX+ez4BmdM3sz-huruuhD6NCTsp0kRBQ@mail.gmail.com>
+To: Pieter Wuille <pieter.wuille@gmail.com>
+X-Mailer: Apple Mail (2.1874)
+X-bounce-key: webpack.hosteurope.de; tamas@bitsofproof.com; 1396965609;
+ 6448a492;
+X-Spam-Score: 1.0 (+)
+X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
+ See http://spamassassin.org/tag/ for more details.
+ 1.0 HTML_MESSAGE BODY: HTML included in message
+X-Headers-End: 1WXWZN-0004zU-LF
+Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
+Subject: Re: [Bitcoin-development] New BIP32 structure
+X-BeenThere: bitcoin-development@lists.sourceforge.net
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <bitcoin-development.lists.sourceforge.net>
+List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
+ <mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
+List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
+List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
+List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
+List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
+ <mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
+X-List-Received-Date: Tue, 08 Apr 2014 14:00:16 -0000
+
+
+--Apple-Mail=_96CA6582-346A-47D2-A1A9-F1856A2B561F
+Content-Type: multipart/alternative;
+ boundary="Apple-Mail=_F21F128D-DD75-43EF-8086-F0C23B5651C2"
+
+
+--Apple-Mail=_F21F128D-DD75-43EF-8086-F0C23B5651C2
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain;
+ charset=windows-1252
+
+Pieter,
+
+your suggestion has charm since =93Bitcoin seed=94 would even not need=20=
+
+a global dictionary like the interpretation of the first level, since it =
+would be self describing.
+
+Regards,
+
+Tamas Blummer
+http://bitsofproof.com
+
+On 08.04.2014, at 15:53, Pieter Wuille <pieter.wuille@gmail.com> wrote:
+
+> I see the cause of our disagreement now.
+>=20
+> You actually want to share a single BIP32 tree across different
+> currency types, but do it in a way that guarantees that they never use
+> the same keys.
+>=20
+> I would have expected that different chains would use independent
+> chains, and have serializations encode which chain they belong to.
+>=20
+> Let me offer an alternative suggestion, which is compatible with the
+> original default BIP32 structure:
+> * You can use one seed across different chains, but the master nodes
+> are separate.
+> * To derive the master node from the seed, the key string "Bitcoin
+> seed" is replaced by something chain-specific.
+> * Every encoded node (including master nodes) has a chain-specific
+> serialization magic.
+>=20
+> This is in practice almost the same as your suggestion, except that
+> the m/cointype' in m/cointype'/account'/change/n is replaced by
+> different masters. The only disadvantage I see is that you do not have
+> a way to encode the "super master" that is the parent of all
+> chain-specific masters. You can - and with the same security
+> properties - encode the seed, though.
+>=20
+> --=20
+> Pieter
+>=20
+>=20
+> On Tue, Apr 8, 2014 at 3:43 PM, slush <slush@centrum.cz> wrote:
+>> tl;dr;
+>>=20
+>> It is dangerous to expect that other seed than "xprv" does not =
+contain
+>> bitcoins or that "xprv" contains only bitcoins, because technically =
+are both
+>> situations possible. It is still safer to do the lookup; the magic =
+itself is
+>> ambiguous.
+>>=20
+>> Marek
+>>=20
+>> On Tue, Apr 8, 2014 at 3:40 PM, slush <slush@centrum.cz> wrote:
+>>>=20
+>>>=20
+>>> Serialization magic of bip32 seed is in my opinion completely =
+unnecessary.
+>>> Most of software does not care about it anyway; You can use =
+xprv/xpub pair
+>>> for main net, testnet, litecoin, dogecoin, whatevercoin.
+>>>=20
+>>> Instead using the same seed (xprv) and then separate the chains =
+*inside*
+>>> the bip32 path seems more useful to me.
+>>>=20
+>>> Marek
+>>=20
+>>=20
+>=20
+> =
+--------------------------------------------------------------------------=
+----
+> Put Bad Developers to Shame
+> Dominate Development with Jenkins Continuous Integration
+> Continuously Automate Build, Test & Deployment=20
+> Start a new project now. Try Jenkins in the cloud.
+> http://p.sf.net/sfu/13600_Cloudbees
+> _______________________________________________
+> Bitcoin-development mailing list
+> Bitcoin-development@lists.sourceforge.net
+> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
+>=20
+
+
+--Apple-Mail=_F21F128D-DD75-43EF-8086-F0C23B5651C2
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/html;
+ charset=windows-1252
+
+<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
+charset=3Dwindows-1252"></head><body style=3D"word-wrap: break-word; =
+-webkit-nbsp-mode: space; -webkit-line-break: =
+after-white-space;">Pieter,<div><br></div><div>your suggestion has charm =
+since =93Bitcoin seed=94 would even not need&nbsp;</div><div>a global =
+dictionary like the interpretation of the first level, since it would be =
+self describing.</div><div><div apple-content-edited=3D"true"><br =
+style=3D"color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
+font-style: normal; font-variant: normal; font-weight: normal; =
+letter-spacing: normal; line-height: normal; text-align: -webkit-auto; =
+text-indent: 0px; text-transform: none; white-space: normal; =
+word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; widows: =
+2;"><span style=3D"color: rgb(0, 0, 0); font-family: Helvetica; =
+font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
+normal; letter-spacing: normal; line-height: normal; text-align: =
+-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
+normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; =
+widows: 2; float: none; display: inline !important;">Regards,</span><br =
+style=3D"color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
+font-style: normal; font-variant: normal; font-weight: normal; =
+letter-spacing: normal; line-height: normal; text-align: -webkit-auto; =
+text-indent: 0px; text-transform: none; white-space: normal; =
+word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; widows: =
+2;"><br style=3D"color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
+12px; font-style: normal; font-variant: normal; font-weight: normal; =
+letter-spacing: normal; line-height: normal; text-align: -webkit-auto; =
+text-indent: 0px; text-transform: none; white-space: normal; =
+word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; widows: =
+2;"><span style=3D"color: rgb(0, 0, 0); font-family: Helvetica; =
+font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
+normal; letter-spacing: normal; line-height: normal; text-align: =
+-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
+normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; =
+widows: 2; float: none; display: inline !important;">Tamas =
+Blummer</span><br style=3D"color: rgb(0, 0, 0); font-family: Helvetica; =
+font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
+normal; letter-spacing: normal; line-height: normal; text-align: =
+-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
+normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; =
+widows: 2;"><span style=3D"color: rgb(0, 0, 0); font-family: Helvetica; =
+font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
+normal; letter-spacing: normal; line-height: normal; orphans: auto; =
+text-align: start; text-indent: 0px; text-transform: none; white-space: =
+normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: =
+0px;"><span style=3D"color: rgb(0, 0, 0); font-family: Helvetica; =
+font-size: 12px; font-style: normal; font-variant: normal; font-weight: =
+normal; letter-spacing: normal; line-height: normal; text-align: =
+-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
+normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; orphans: 2; =
+widows: 2; float: none; display: inline !important;"><a =
+href=3D"http://bitsofproof.com">http://bitsofproof.com</a></span>
+</span></div>
+<br><div><div>On 08.04.2014, at 15:53, Pieter Wuille &lt;<a =
+href=3D"mailto:pieter.wuille@gmail.com">pieter.wuille@gmail.com</a>&gt; =
+wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
+type=3D"cite">I see the cause of our disagreement now.<br><br>You =
+actually want to share a single BIP32 tree across different<br>currency =
+types, but do it in a way that guarantees that they never use<br>the =
+same keys.<br><br>I would have expected that different chains would use =
+independent<br>chains, and have serializations encode which chain they =
+belong to.<br><br>Let me offer an alternative suggestion, which is =
+compatible with the<br>original default BIP32 structure:<br>* You can =
+use one seed across different chains, but the master nodes<br>are =
+separate.<br>* To derive the master node from the seed, the key string =
+"Bitcoin<br>seed" is replaced by something chain-specific.<br>* Every =
+encoded node (including master nodes) has a =
+chain-specific<br>serialization magic.<br><br>This is in practice almost =
+the same as your suggestion, except that<br>the m/cointype' in =
+m/cointype'/account'/change/n is replaced by<br>different masters. The =
+only disadvantage I see is that you do not have<br>a way to encode the =
+"super master" that is the parent of all<br>chain-specific masters. You =
+can - and with the same security<br>properties - encode the seed, =
+though.<br><br>-- <br>Pieter<br><br><br>On Tue, Apr 8, 2014 at 3:43 PM, =
+slush &lt;<a href=3D"mailto:slush@centrum.cz">slush@centrum.cz</a>&gt; =
+wrote:<br><blockquote type=3D"cite">tl;dr;<br><br>It is dangerous to =
+expect that other seed than "xprv" does not contain<br>bitcoins or that =
+"xprv" contains only bitcoins, because technically are =
+both<br>situations possible. It is still safer to do the lookup; the =
+magic itself is<br>ambiguous.<br><br>Marek<br><br>On Tue, Apr 8, 2014 at =
+3:40 PM, slush &lt;<a =
+href=3D"mailto:slush@centrum.cz">slush@centrum.cz</a>&gt; =
+wrote:<br><blockquote type=3D"cite"><br><br>Serialization magic of bip32 =
+seed is in my opinion completely unnecessary.<br>Most of software does =
+not care about it anyway; You can use xprv/xpub pair<br>for main net, =
+testnet, litecoin, dogecoin, whatevercoin.<br><br>Instead using the same =
+seed (xprv) and then separate the chains *inside*<br>the bip32 path =
+seems more useful to =
+me.<br><br>Marek<br></blockquote><br><br></blockquote><br>----------------=
+--------------------------------------------------------------<br>Put =
+Bad Developers to Shame<br>Dominate Development with Jenkins Continuous =
+Integration<br>Continuously Automate Build, Test &amp; Deployment =
+<br>Start a new project now. Try Jenkins in the cloud.<br><a =
+href=3D"http://p.sf.net/sfu/13600_Cloudbees">http://p.sf.net/sfu/13600_Clo=
+udbees</a><br>_______________________________________________<br>Bitcoin-d=
+evelopment mailing =
+list<br>Bitcoin-development@lists.sourceforge.net<br>https://lists.sourcef=
+orge.net/lists/listinfo/bitcoin-development<br><br></blockquote></div><br>=
+</div></body></html>=
+
+--Apple-Mail=_F21F128D-DD75-43EF-8086-F0C23B5651C2--
+
+--Apple-Mail=_96CA6582-346A-47D2-A1A9-F1856A2B561F
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+ filename=signature.asc
+Content-Type: application/pgp-signature;
+ name=signature.asc
+Content-Description: Message signed with OpenPGP using GPGMail
+
+-----BEGIN PGP SIGNATURE-----
+Comment: GPGTools - http://gpgtools.org
+
+iQEcBAEBAgAGBQJTRADuAAoJEPZykcUXcTkc3fEH/3mUgcsmIJy96qDmQG5o8l6k
+FB983TjpvUlSK7mVN/3VmR1R8bqT06TWrlXU6tj6T0kRJm79JBfxrrVHEDpoY4Cv
+42Ag/SlJmw2MSwl7RirHPWyfw/07uEM1TnCtHUh04ljY75NeTsbi0rCqjJjn+mfP
+9bBNTduu+9+qCf32bu85LODh/Ha0XBb83hsqR6y6QfxD2weiKGZj3kAVrmW8/T/3
+rWHzADrHX5bUsLA5tpyCZpD1mxUG4d0K0LyHw0h3HkiW86yb+AyzzGdQKQHxHQyG
+zGTLAliuym6p9m19MY8lWBoJr2xdfjthpupPdUdPOgVId/P5K5EXIwyrm32R42s=
+=gD8X
+-----END PGP SIGNATURE-----
+
+--Apple-Mail=_96CA6582-346A-47D2-A1A9-F1856A2B561F--
+
+