LearnBitcoin

Bitcoin Dev Archive 2020

bip48 proposal

10 messages, 16 Dec 2020 to 25 Feb 2021. Started by dentondevelopment.

dentondevelopment (5), Luke Dashjr (2), Keagan McClelland, Pavol Rusnak, Craig Raw

Permalink Original thread on gnusha.org

dentondevelopment permalink original

Hello,

I would like to propose bip48 (taking bip44 as inspiration), with the purpose of documenting modern multi-sig derivations.

Please see a rough draft of the proposed bip attached, comments/input welcome.

Regards, Fontaine

dentondevelopment in reply to dentondevelopment permalink original

Here is the repo instead of a static link: https://github.com/Fonta1n3/bips/blob/master/bip-0048.mediawiki

Fontaine

Sent with [ProtonMail](https://protonmail.com) Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Wednesday, December 16, 2020 8:43 PM, dentondevelopment via bitcoin-dev <bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (8 lines)
> Hello,
>
> I would like to propose bip48 (taking bip44 as inspiration), with the purpose of documenting modern multi-sig derivations.
>
> Please see a rough draft of the proposed bip attached, comments/input welcome.
>
> Regards,
> Fontaine
Luke Dashjr in reply to dentondevelopment permalink original

BIP number 48 has not been assigned. Do not self-assign BIP numbers.

Is this intended to be compatible with https://github.com/bitcoin/bips/pull/253 ?

Luke

On Wednesday 16 December 2020 14:10:28 dentondevelopment via bitcoin-dev wrote:

Quoted text (10 lines)
> Here is the repo instead of a static link:
> https://github.com/Fonta1n3/bips/blob/master/bip-0048.mediawiki
>
> Fontaine
>
> Sent with [ProtonMail](https://protonmail.com) Secure Email.
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>
> On Wednesday, December 16, 2020 8:43 PM, dentondevelopment via bitcoin-dev

<bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (10 lines)
> > Hello,
> >
> > I would like to propose bip48 (taking bip44 as inspiration), with the
> > purpose of documenting modern multi-sig derivations.
> >
> > Please see a rough draft of the proposed bip attached, comments/input
> > welcome.
> >
> > Regards,
> > Fontaine
Keagan McClelland in reply to Luke Dashjr permalink original

I was just looking into the conventions around this yesterday! It seems like this proposal is mostly just formalizing stuff that is already a tacit standard. I'm glad to see that someone is documenting it somewhere more "official".

It appears consistent with https://github.com/bitcoin/bips/pull/253, However, due to historical timing, the PR you linked doesn't include any standards around segwit conventions.

In the review thread you had mentioned that you needed an ACK from prusnak, but he explicitly gave a NACK in favor of a separate proposal for BIP 48, which seems like it could be something like the OP. Reading the proposal it seems consistent with the pull request that you linked, as well. At the end of the thread the author of PR#253 said they would open a separate proposal, but it appears that it never materialized. Was there a reason for this?

Keagan

On Wed, Dec 16, 2020 at 10:17 AM Luke Dashjr via bitcoin-dev < bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (39 lines)
> BIP number 48 has not been assigned. Do not self-assign BIP numbers.
>
> Is this intended to be compatible with
> https://github.com/bitcoin/bips/pull/253 ?
>
> Luke
>
>
>
> On Wednesday 16 December 2020 14:10:28 dentondevelopment via bitcoin-dev
> wrote:
> > Here is the repo instead of a static link:
> > https://github.com/Fonta1n3/bips/blob/master/bip-0048.mediawiki
> >
> > Fontaine
> >
> > Sent with [ProtonMail](https://protonmail.com) Secure Email.
> >
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> >
> > On Wednesday, December 16, 2020 8:43 PM, dentondevelopment via
> bitcoin-dev
> <bitcoin-dev@lists•linuxfoundation•org> wrote:
> > > Hello,
> > >
> > > I would like to propose bip48 (taking bip44 as inspiration), with the
> > > purpose of documenting modern multi-sig derivations.
> > >
> > > Please see a rough draft of the proposed bip attached, comments/input
> > > welcome.
> > >
> > > Regards,
> > > Fontaine
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
Pavol Rusnak in reply to dentondevelopment permalink original

I applaud this effort!

We tried to document the 48 path usage in this document:

https://github.com/trezor/trezor-firmware/blob/master/docs/misc/purpose48.md

The only difference I can spot is that our document also documents script_type=0 which is for the raw BIP-11 multisig. While almost not used in the wild, it could be imho documented in this proposed BIP as well.

— Best Regards / S pozdravom,

Pavol “stick” Rusnak Co-founder and CTO, SatoshiLabs

Quoted text (15 lines)
> On Wednesday, Dec 16, 2020 at 2:48 PM, dentondevelopment via bitcoin-dev <bitcoin-dev@lists•linuxfoundation•org (mailto:bitcoin-dev@lists.linuxfoundation.org)> wrote:
> Hello,
>
> I would like to propose bip48 (taking bip44 as inspiration), with the purpose of documenting modern multi-sig derivations.
>
> Please see a rough draft of the proposed bip attached, comments/input welcome.
>
> Regards,
> Fontaine
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
dentondevelopment in reply to Luke Dashjr permalink original

Hi Luke,

It looks to have the same motivations and be compatible with https://github.com/bitcoin/bips/pull/253 (if I am reading it correctly).

The only guidance I have on proposing a bip is what is on the readme https://github.com/bitcoin/bips/blob/master/README.mediawiki

48 would be fitting if it is unused.

This is still very much a work in progress and there does seem to be community support.

Pavol and others have shared relevant info/suggestions which I will be using to update the proposal.

Will share again here when the next draft is ready.

Many thanks, Fontaine

Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, December 17, 2020 1:16 AM, Luke Dashjr <luke@dashjr•org> wrote:

Quoted text (26 lines)
> BIP number 48 has not been assigned. Do not self-assign BIP numbers.
>
> Is this intended to be compatible with
> https://github.com/bitcoin/bips/pull/253 ?
>
> Luke
>
> On Wednesday 16 December 2020 14:10:28 dentondevelopment via bitcoin-dev
> wrote:
>
> > Here is the repo instead of a static link:
> > https://github.com/Fonta1n3/bips/blob/master/bip-0048.mediawiki
> > Fontaine
> > Sent with ProtonMail Secure Email.
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > On Wednesday, December 16, 2020 8:43 PM, dentondevelopment via bitcoin-dev
>
> bitcoin-dev@lists•linuxfoundation•org wrote:
>
> > > Hello,
> > > I would like to propose bip48 (taking bip44 as inspiration), with the
> > > purpose of documenting modern multi-sig derivations.
> > > Please see a rough draft of the proposed bip attached, comments/input
> > > welcome.
> > > Regards,
> > > Fontaine
dentondevelopment in reply to Pavol Rusnak permalink original

Thanks for the link, will certainly be using the provided info as a reference and updating soon.

Regards, Fontaine

Sent with [ProtonMail](https://protonmail.com) Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, December 17, 2020 6:58 PM, Pavol Rusnak <stick@satoshilabs•com> wrote:

Quoted text (28 lines)
> I applaud this effort!
>
> We tried to document the 48 path usage in this document:
>
> https://github.com/trezor/trezor-firmware/blob/master/docs/misc/purpose48.md
>
> The only difference I can spot is that our document also documents script_type=0 which is for the raw BIP-11 multisig. While almost not used in the wild, it could be imho documented in this proposed BIP as well.
>
> —
> Best Regards / S pozdravom,
>
> Pavol “stick” Rusnak
> Co-founder and CTO, SatoshiLabs
>
>> On Wednesday, Dec 16, 2020 at 2:48 PM, dentondevelopment via bitcoin-dev <bitcoin-dev@lists•linuxfoundation•org> wrote:
>> Hello,
>>
>> I would like to propose bip48 (taking bip44 as inspiration), with the purpose of documenting modern multi-sig derivations.
>>
>> Please see a rough draft of the proposed bip attached, comments/input welcome.
>>
>> Regards,
>> Fontaine
>>
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists•linuxfoundation•org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
Luke Dashjr in reply to dentondevelopment permalink original

Thanks for explaining where instructions are lacking.

How does this look? https://github.com/bitcoin/bips/pull/1046/files

On Friday 18 December 2020 01:44:27 dentondevelopment wrote:

Quoted text (53 lines)
> Hi Luke,
>
> It looks to have the same motivations and be compatible with
> https://github.com/bitcoin/bips/pull/253 (if I am reading it correctly).
>
> The only guidance I have on proposing a bip is what is on the readme
> https://github.com/bitcoin/bips/blob/master/README.mediawiki
>
> 48 would be fitting if it is unused.
>
> This is still very much a work in progress and there does seem to be
> community support.
>
> Pavol and others have shared relevant info/suggestions which I will be
> using to update the proposal.
>
> Will share again here when the next draft is ready.
>
> Many thanks,
> Fontaine
>
>
> Sent with ProtonMail Secure Email.
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
>
> On Thursday, December 17, 2020 1:16 AM, Luke Dashjr <luke@dashjr•org> wrote:
> > BIP number 48 has not been assigned. Do not self-assign BIP numbers.
> >
> > Is this intended to be compatible with
> > https://github.com/bitcoin/bips/pull/253 ?
> >
> > Luke
> >
> > On Wednesday 16 December 2020 14:10:28 dentondevelopment via bitcoin-dev
> >
> > wrote:
> > > Here is the repo instead of a static link:
> > > https://github.com/Fonta1n3/bips/blob/master/bip-0048.mediawiki
> > > Fontaine
> > > Sent with ProtonMail Secure Email.
> > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > > On Wednesday, December 16, 2020 8:43 PM, dentondevelopment via
> > > bitcoin-dev
> >
> > bitcoin-dev@lists•linuxfoundation•org wrote:
> > > > Hello,
> > > > I would like to propose bip48 (taking bip44 as inspiration), with the
> > > > purpose of documenting modern multi-sig derivations.
> > > > Please see a rough draft of the proposed bip attached, comments/input
> > > > welcome.
> > > > Regards,
> > > > Fontaine
dentondevelopment in reply to Luke Dashjr permalink original

Hello all,

Just wanted to give an update on progress for the "bip48" proposal.

There was some discussion on Twitter between a few multi-sig wallet devs: https://twitter.com/fullynoded/status/1339374947228008448?s=21

A few key points were brought up:

1. We should not define a `script_type` as a path level

The explicit purpose of this BIP is to define an already existing standard that is used in practice across multi-sig wallets. In order to do that we must define a script_type in the path otherwise "loss of funds" could occur and backwards compatibility broken.

2. Another point brought up was that no-one uses the legacy derivation path m/48'/0'/0'/1', in practice all "legacy" p2sh multi-sig wallets use bip45.

I agree and have removed all references to legacy p2sh derivations in the proposed bip.

3. We could possibly include a defined "wild card" in the script_type level to define any future address types (e.g. taproot)

I agree this could be useful and think Ben Kaufman's suggestion of using m/48'/0'/0'/1' for this purpose makes sense, however I also think a future multi-sig standard for new address types may well be suited for a different BIP which could also address concern #1 around including `script_type` at all.

Therefore I have not yet added any mention of "wild card" in the proposed bip but kept strictly to p2sh-p2wsh and p2wsh derivations as used in modern day wallets.

I have create a PR https://github.com/bitcoin/bips/pull/1072 so that anyone may easily comment on it and any concerns can be raised.

I think the community needs this and it is well over due. I have gotten positive feedback and support from other devs.

Feedback welcome.

Cheers, Fontaine

Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Friday, December 18, 2020 12:08 PM, Luke Dashjr <luke@dashjr•org> wrote:

Quoted text (48 lines)
> Thanks for explaining where instructions are lacking.
>
> How does this look?
> https://github.com/bitcoin/bips/pull/1046/files
>
> On Friday 18 December 2020 01:44:27 dentondevelopment wrote:
>
> > Hi Luke,
> > It looks to have the same motivations and be compatible with
> > https://github.com/bitcoin/bips/pull/253 (if I am reading it correctly).
> > The only guidance I have on proposing a bip is what is on the readme
> > https://github.com/bitcoin/bips/blob/master/README.mediawiki
> > 48 would be fitting if it is unused.
> > This is still very much a work in progress and there does seem to be
> > community support.
> > Pavol and others have shared relevant info/suggestions which I will be
> > using to update the proposal.
> > Will share again here when the next draft is ready.
> > Many thanks,
> > Fontaine
> > Sent with ProtonMail Secure Email.
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > On Thursday, December 17, 2020 1:16 AM, Luke Dashjr luke@dashjr•org wrote:
> >
> > > BIP number 48 has not been assigned. Do not self-assign BIP numbers.
> > > Is this intended to be compatible with
> > > https://github.com/bitcoin/bips/pull/253 ?
> > > Luke
> > > On Wednesday 16 December 2020 14:10:28 dentondevelopment via bitcoin-dev
> > > wrote:
> > >
> > > > Here is the repo instead of a static link:
> > > > https://github.com/Fonta1n3/bips/blob/master/bip-0048.mediawiki
> > > > Fontaine
> > > > Sent with ProtonMail Secure Email.
> > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > > > On Wednesday, December 16, 2020 8:43 PM, dentondevelopment via
> > > > bitcoin-dev
> > >
> > > bitcoin-dev@lists•linuxfoundation•org wrote:
> > >
> > > > > Hello,
> > > > > I would like to propose bip48 (taking bip44 as inspiration), with the
> > > > > purpose of documenting modern multi-sig derivations.
> > > > > Please see a rough draft of the proposed bip attached, comments/input
> > > > > welcome.
> > > > > Regards,
> > > > > Fontaine
Craig Raw in reply to dentondevelopment permalink original

+1

It would be greatly beneficial to have a referenceable standard for the convention that everyone (afaik) is following anyway. I think the current scope is now correct and agree with Fontaine's comments on the feedback.

Craig

On Wed, Feb 24, 2021 at 10:17 PM dentondevelopment via bitcoin-dev < bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (114 lines)
> Hello all,
>
> Just wanted to give an update on progress for the "bip48" proposal.
>
> There was some discussion on Twitter between a few multi-sig wallet devs:
> https://twitter.com/fullynoded/status/1339374947228008448?s=21
>
> A few key points were brought up:
>
> 1. We should not define a `script_type` as a path level
>
> The explicit purpose of this BIP is to define an already existing standard
> that is used in practice across multi-sig wallets. In order to do that we
> must define a script_type in the path otherwise "loss of funds" could occur
> and backwards compatibility broken.
>
> 2. Another point brought up was that no-one uses the legacy derivation
> path m/48'/0'/0'/1', in practice all "legacy" p2sh multi-sig wallets use
> bip45.
>
> I agree and have removed all references to legacy p2sh derivations in the
> proposed bip.
>
> 3. We could possibly include a defined "wild card" in the script_type
> level to define any future address types (e.g. taproot)
>
> I agree this could be useful and think Ben Kaufman's suggestion of using
> m/48'/0'/0'/1' for this purpose makes sense, however I also think a future
> multi-sig standard for new address types may well be suited for a different
> BIP which could also address concern #1 around including `script_type` at
> all.
>
> Therefore I have not yet added any mention of "wild card" in the proposed
> bip but kept strictly to p2sh-p2wsh and p2wsh derivations as used in modern
> day wallets.
>
> I have create a PR https://github.com/bitcoin/bips/pull/1072 so that
> anyone may easily comment on it and any concerns can be raised.
>
> I think the community needs this and it is well over due.  I have gotten
> positive feedback and support from other devs.
>
> Feedback welcome.
>
> Cheers,
> Fontaine
>
>
> Sent with ProtonMail Secure Email.
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Friday, December 18, 2020 12:08 PM, Luke Dashjr <luke@dashjr•org>
> wrote:
>
> > Thanks for explaining where instructions are lacking.
> >
> > How does this look?
> > https://github.com/bitcoin/bips/pull/1046/files
> >
> > On Friday 18 December 2020 01:44:27 dentondevelopment wrote:
> >
> > > Hi Luke,
> > > It looks to have the same motivations and be compatible with
> > > https://github.com/bitcoin/bips/pull/253 (if I am reading it
> correctly).
> > > The only guidance I have on proposing a bip is what is on the readme
> > > https://github.com/bitcoin/bips/blob/master/README.mediawiki
> > > 48 would be fitting if it is unused.
> > > This is still very much a work in progress and there does seem to be
> > > community support.
> > > Pavol and others have shared relevant info/suggestions which I will be
> > > using to update the proposal.
> > > Will share again here when the next draft is ready.
> > > Many thanks,
> > > Fontaine
> > > Sent with ProtonMail Secure Email.
> > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > > On Thursday, December 17, 2020 1:16 AM, Luke Dashjr luke@dashjr•org
> wrote:
> > >
> > > > BIP number 48 has not been assigned. Do not self-assign BIP numbers.
> > > > Is this intended to be compatible with
> > > > https://github.com/bitcoin/bips/pull/253 ?
> > > > Luke
> > > > On Wednesday 16 December 2020 14:10:28 dentondevelopment via
> bitcoin-dev
> > > > wrote:
> > > >
> > > > > Here is the repo instead of a static link:
> > > > > https://github.com/Fonta1n3/bips/blob/master/bip-0048.mediawiki
> > > > > Fontaine
> > > > > Sent with ProtonMail Secure Email.
> > > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > > > > On Wednesday, December 16, 2020 8:43 PM, dentondevelopment via
> > > > > bitcoin-dev
> > > >
> > > > bitcoin-dev@lists•linuxfoundation•org wrote:
> > > >
> > > > > > Hello,
> > > > > > I would like to propose bip48 (taking bip44 as inspiration),
> with the
> > > > > > purpose of documenting modern multi-sig derivations.
> > > > > > Please see a rough draft of the proposed bip attached,
> comments/input
> > > > > > welcome.
> > > > > > Regards,
> > > > > > Fontaine
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>