public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Pavol Rusnak <stick@satoshilabs.com>
To: Jonas Schnelli <dev@jonasschnelli.ch>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Proposal: Extended serialization format for BIP-32 wallets
Date: Thu, 7 Sep 2017 20:38:37 +0200	[thread overview]
Message-ID: <e4cb31ca-7552-760e-5029-d017f2616778@satoshilabs.com> (raw)
In-Reply-To: <A806D2EB-744F-41A9-91C1-603F89E9005B@jonasschnelli.ch>


[-- Attachment #1.1: Type: text/plain, Size: 1731 bytes --]

On 07/09/17 18:47, Jonas Schnelli wrote:
> But not sure if it’s worth to save ~two bytes for that.

I think it's not worth complicating the field just to save two bytes.

But if we agree (for privacy reasons) that resolution of this field
should be reduced to week-level (as suggested by Jonas) or month-level
(as sugested by Peter), we could use just 16 bits for this.

TBH I think TREZOR will provide hardcoded constant for this field
(1.1.2014 for all its P2PKH xpubs and 1.8.2017 for all its
P2WPKH-in-P2SH xpubs). So no privacy is lost in this case, but if we
want to ENFORCE this on BIP level, we should decrease the resolution.

> 2.
> Would it make sense to have special depth bytes that directly implies it’s a BIP44 master key (and therefore avoid the bip32 path serialisation)? I know some „centralised“ table need to be available for that which may be not a good idea. But maybe the BIP could reserve a couple of depth-bytes (maybe 0xF0 to 0xFF) for predefined paths.

I think this is exactly what Thomas meant by "wallet developers are
going to use dirtier tricks" in his email, that's why I specifically
tried to avoid this. I see no good reason to do this, unless we want to
save some bytes and I don't think we are in need of doing this.

> 3.
> Would adding a version bit make sense to allow future extensions?

I think changing the human-readable part is the way to go. That way the
wallet can immediately say if it understands the format or not, without
parsing the binary data contents. Version bits were introduced in older
standards, because there was no such thing as human-readable prefix.

-- 
Best Regards / S pozdravom,

Pavol "stick" Rusnak
CTO, SatoshiLabs


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      parent reply	other threads:[~2017-09-07 18:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-06 22:29 [bitcoin-dev] Proposal: Extended serialization format for BIP-32 wallets Pavol Rusnak
2017-09-07  3:52 ` Kabuto Samourai
2017-09-07 16:25   ` Pavol Rusnak
2017-09-07 16:30     ` Kabuto Samourai
2017-09-07 16:37       ` Pavol Rusnak
2017-09-07 18:02         ` Peter Todd
2017-09-07  4:29 ` Thomas Voegtlin
2017-09-07 16:23   ` Pavol Rusnak
2017-09-07 16:33     ` Kabuto Samourai
2017-09-07 19:35     ` Andreas Schildbach
2017-09-07 20:00       ` Pavol Rusnak
2017-09-07 20:39     ` Thomas Voegtlin
2017-09-07 16:47 ` Jonas Schnelli
2017-09-07 18:09   ` Peter Todd
2017-09-07 18:38   ` Pavol Rusnak [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e4cb31ca-7552-760e-5029-d017f2616778@satoshilabs.com \
    --to=stick@satoshilabs.com \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    --cc=dev@jonasschnelli.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox