Subject: Re: [bitcoin-dev] PSBT_GLOBAL_XPUB: Version bytes in xpub

From: Andrew Chow <[email-masked]>
Date: Sat, 16 Nov 2019 04:54:49 +0000

The rationale was that xpubs was already a predefined standard which many software already have serialization code for. It's simpler to just reuse what has been defined before.

IMO, the version bytes don't matter and should be ignored. In the proposed implementation to Bitcoin Core, the version bytes are ignored.

Andrew

On 11/15/19 5:29 PM, Ian Kroozbi via bitcoin-dev wrote:

> What’s the rational for including the version bytes in the xpub in the GLOBAL_XPUB field? This was briefly touched upon in an earlier email from Stepan, but I don’t think it was every fully addressed.
>
>> I am not sure if we need the whole xpub or keeping chain_code and
>> public_key is enough, but I would suggest to keep other data
>> just in case. For example, keeping prefix that defines if the key is used
>> for testnet or mainnet may be useful.
>
> The version bytes seem to be superfluous data considering the transaction format and the rest of the PSBT key-values are network agnostic. If we wanted to attach network data to the PSBT then I think that would be better served by using a new key.
>
> There is also a potential issue where we could have conflicting versions on different xpubs in the PSBT. If we remove the version bytes then we can eliminate this possibility.
>
> I haven’t formed an opinion on whether or not the other data outside of the public key and chain code should be included, but I think it would be good to discuss any rational for either including it or omitting it.