Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WTCwV-0003uW-Sy for bitcoin-development@lists.sourceforge.net; Thu, 27 Mar 2014 16:14:11 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.223.169 as permitted sender) client-ip=209.85.223.169; envelope-from=pieter.wuille@gmail.com; helo=mail-ie0-f169.google.com; Received: from mail-ie0-f169.google.com ([209.85.223.169]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1WTCwU-0003bZ-TQ for bitcoin-development@lists.sourceforge.net; Thu, 27 Mar 2014 16:14:11 +0000 Received: by mail-ie0-f169.google.com with SMTP id to1so3667619ieb.28 for ; Thu, 27 Mar 2014 09:14:05 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.50.4.74 with SMTP id i10mr5375083igi.43.1395936845521; Thu, 27 Mar 2014 09:14:05 -0700 (PDT) Received: by 10.50.141.135 with HTTP; Thu, 27 Mar 2014 09:14:05 -0700 (PDT) In-Reply-To: References: Date: Thu, 27 Mar 2014 17:14:05 +0100 Message-ID: From: Pieter Wuille To: Allen Piscitello Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -1.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 (pieter.wuille[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record -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: 1WTCwU-0003bZ-TQ Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] New BIP32 structure 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, 27 Mar 2014 16:14:12 -0000 Just chiming in... I'm not opposed to a more generic default key tree, but we need to standardize this soon I believe. There are already existing code bases that implement BIP32 wallets (and more are popping up...); just using a separate one will result in lots of incompibilities. That said, I'm not convinced about the extra layers. The "cointype" in my opinion isn't necessary inside the derivation. There is already support (4 bytes!) for magic bytes in the serialized form. Inside applications/p2p it should always be known to which chain it applies, and outside of that you shouldn't transfer raw keys. Maybe seeds need some marker, but that's a separate case anyway. Mainnet and testnet have specified magics here already - alts can define what they want imho. A 'reserved' field for future extensions may be useful, but as already suggested by Mike, I don't believe we can encode how key chains are to be used inside the derivation structure anyway. The most basic case (not losing money in a wallet without special structure) can perhaps be supported with just "the blockchain is your wallet", but I don't believe this principle can scale to more advanced uses anyway, and you need metadata in the wallet to deal with it. In my view, your wallet just has a bunch of chains, and each chain gets used for a particular purpose, fixing how the derivation beneath it works. Either that is as a wallet, as part of a pair of multisig keys, as a recurring payment receiver, ... or more complex things. Some of these will require extra layers beneath, but that is application specific. You would import a chain into your (advanced) wallet with a particular extpub/extpriv code, and some metadata on how to use it. Serialization formats for such designated extra uses sounds better to me than trying to fit it into the derivation structure. -- Pieter On Thu, Mar 27, 2014 at 4:57 PM, Allen Piscitello wrote: > Don't most of these coins have a magic number already assigned that is > unique? (0xD9B4BEF9 for Bitcoin, 0x0709110B for Testnet, FBC0XB6DB for > Litecoin, etc...). This seems like a good candidate for identifying coins, > and also supports Testnet cases well. Maybe there are some alts without > such a magic number that might prevent that? > > -Allen > > > On Thu, Mar 27, 2014 at 10:43 AM, Jeff Garzik wrote: >> >> On Thu, Mar 27, 2014 at 3:09 AM, Tamas Blummer >> wrote: >> > A notable suggestion was to instead of building a directory of magic >> > numbers >> > (like 0 for Bitcoin, 1 for Litecoin etc) use a hash of the word >> > "Bitcoin", >> > "Litecoin", "Dogecoin", so collosion is unlikely and >> > cetral directory is not needed. >> >> +1 good idea >> >> -- >> Jeff Garzik >> Bitcoin core developer and open source evangelist >> BitPay, Inc. https://bitpay.com/ >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Bitcoin-development mailing list >> Bitcoin-development@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/bitcoin-development > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development >