Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 0853EABB for ; Wed, 30 Aug 2017 07:31:41 +0000 (UTC) X-Greylist: delayed 00:07:05 by SQLgrey-1.7.6 Received: from blockonomics.co (blockonomics.co [52.10.115.182]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 15E1512A for ; Wed, 30 Aug 2017 07:31:39 +0000 (UTC) Received: from mail-ua0-f179.google.com (mail-ua0-f179.google.com [209.85.217.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by blockonomics.co (Postfix) with ESMTPSA id A71C51F1659 for ; Wed, 30 Aug 2017 07:24:34 +0000 (UTC) Received: by mail-ua0-f179.google.com with SMTP id 104so16604738uas.1 for ; Wed, 30 Aug 2017 00:24:34 -0700 (PDT) X-Gm-Message-State: AHYfb5hpVi7rWdfNga9xkGxlF4CmbOcEtxJtk41hbIYjzUN9a8k7CZwa Ii6LFtgp3bv2kC24nW6/GNh3OeUKIA== X-Received: by 10.159.62.206 with SMTP id n14mr293656uaj.190.1504077873529; Wed, 30 Aug 2017 00:24:33 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.75.9 with HTTP; Wed, 30 Aug 2017 00:24:13 -0700 (PDT) From: shiva sitamraju Date: Wed, 30 Aug 2017 12:54:13 +0530 X-Gmail-Original-Message-ID: Message-ID: To: bitcoin-dev@lists.linuxfoundation.org Content-Type: multipart/alternative; boundary="089e0820797c5dd84e0557f36bea" X-Spam-Status: No, score=0.5 required=5.0 tests=HTML_MESSAGE, RCVD_IN_SORBS_SPAM,RP_MATCHES_RCVD autolearn=disabled version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Wed, 30 Aug 2017 15:17:20 +0000 Subject: [bitcoin-dev] BIP49 Derivation scheme changes X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Aug 2017 07:31:41 -0000 --089e0820797c5dd84e0557f36bea Content-Type: text/plain; charset="UTF-8" Hi, I wanted to discuss few changes in BIP49 *- Breaking backwards compatibility * The BIP talks about breaking this, and but it really doesn't. I really feel it should completely break this. Here is why What would happen if you recover a wallet using seed words ? 1. Since there is no difference in seed words between segwit/non segwit, the wallet would discover both m/44' and m/49' accounts 2. Note that we cannot ask the user to choose an account he wants to operate on (Segwit/Non segwit). This is like asking him the HD derivation path and a really bad UI 3. The wallet now has to constantly monitor both m/44' and m/49' accounts for transactions Basically we are always stuck with keeping compatibility with older seed words or always asking the user if the seed words came from segwit/non segwit wallet ! Here is my suggestion : 1. By default all new wallets will be created as segwit m/49' without asking user anything. I think you would agree with me that in future we want most wallet to be default segwit (unless user chooses a non segwit from advanced options)! 2. Segwit wallet seed words have a different format which is incompatible with previous wallet seed words. This encodes the information that this wallet is segwit in the seed words itself. We need to define a structure for this *- XPUB Derivation* This is something not addressed in the BIP yet. 1. Right now you can get an xpub balance/transaction history. With m/49' there is no way to know whether an xpub is from m/44' or m/49' 2. This breaks lots of things. Wallets like electrum/armory/mycelium support importing xpub as a watch only wallet. Also services like blockonomics/ blockchain.info use xpub for displaying balance/generating merchant addresses Looking forward to hearing your thoughts --089e0820797c5dd84e0557f36bea Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

I wanted to discuss few changes in B= IP49

- Breaking backwards compatibility
The BIP tal= ks about breaking this, and=C2=A0 but it really doesn't.=C2=A0 I really= feel it should completely break this. Here is why

What would happe= n if you recover a wallet=C2=A0 using seed words ?
=C2=A0 1. = Since there is no difference in seed words between segwit/non segwit, the w= allet would discover both m/44' and m/49' accounts
= =C2=A0 2. Note that we cannot ask the user to choose an account he wants to= =20 operate on (Segwit/Non segwit). This is like asking him the HD=20 derivation path and a really bad UI
=C2=A0 3. The wallet now = has to constantly monitor both m/44' and m/49' accounts for transac= tions
=C2=A0=C2=A0
Basically we are always stuck with ke= eping compatibility with older seed words or always asking the user if the = seed words came from segwit/non segwit wallet !

Here is my suggestion :
1. By default all new wallets will be created as segwit=C2=A0 m/49' witho= ut=20 asking user anything. I think you would agree with me that in future we wan= t most wallet to be default segwit (unless user chooses a non segwit=20 from advanced options)!

2. Segwit wallet seed words=20 have a different format which is incompatible with previous wallet seed=20 words. This=C2=A0 encodes the information that this wallet is segwit in the= =20 seed words itself. We need to define a structure for this


- XPUB Derivation
This = is something not addressed in the BIP yet.

1. Right now you can get an xpub balance/transaction history. With m/49'= =20 there is no way to know whether an xpub is from m/44' or m/49'
<= br>
2. This breaks lots of things. Wallets like electrum/armory/<= a href=3D"https://blog.trezor.io/using-mycelium-to-watch-your-trezor-accoun= ts-a836dce0b954" target=3D"_blank">mycelium support importing=C2=A0 xpu= b as a watch only wallet. Also services like blockonomics/blockchain.info use xpub for displa= ying balance/generating merchant addresses

Looking forward to = hearing your thoughts --089e0820797c5dd84e0557f36bea--