diff options
author | Tamas Blummer <tamas@bitsofproof.com> | 2014-04-08 16:00:14 +0200 |
---|---|---|
committer | bitcoindev <bitcoindev@gnusha.org> | 2014-04-08 14:00:13 +0000 |
commit | da254a1dec7f7c254c06c5d1001262ae664f9e2d (patch) | |
tree | 89e8680dc4b633cdd37210517a983d88865ac78e | |
parent | 024ee6a523e2502794c8771c86111f8dbd0b7138 (diff) | |
download | pi-bitcoindev-da254a1dec7f7c254c06c5d1001262ae664f9e2d.tar.gz pi-bitcoindev-da254a1dec7f7c254c06c5d1001262ae664f9e2d.zip |
Re: [Bitcoin-development] New BIP32 structure
-rw-r--r-- | b0/d2da5750b71e9802e884e69911507f9a9f0c6d | 289 |
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 </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 <<a = +href=3D"mailto:pieter.wuille@gmail.com">pieter.wuille@gmail.com</a>> = +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 <<a href=3D"mailto:slush@centrum.cz">slush@centrum.cz</a>> = +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 <<a = +href=3D"mailto:slush@centrum.cz">slush@centrum.cz</a>> = +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 & 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-- + + |