BIP: Deterministic multi-signature P2SH addresses #146

pull afk11 wants to merge 14 commits into bitcoin:master from afk11:bip0090 changing 2 files +133 −0
  1. afk11 commented at 11:42 AM on March 11, 2015: contributor

    BIP for standard multisignature P2SH addresses given m and a set of public keys.

    Bip90 is just a number which doesn't collide, I will request one via the mailing list now.

  2. Add BIP90 - until a correct BIP number is assigned b56a04c300
  3. Add dashes. 9b5c50ef7b
  4. Rename implementation -> specification 9ce316de94
  5. update script 5cf77f147a
  6. Add line so that pubkeys + address in specificiation are displayed 9f15ac4eb4
  7. in bip-0090.mediawiki:None in 5cf77f147a outdated
      39 | +
      40 | +..before using the resulting list of keys in a standard multisig redeem script:  
      41 | +    OP_2 021f2f6e1e50cb6a953935c3601284925decd3fd21bc445712576873fb8c6ebc18 022df8750480ad5b26950b25c7ba79d3e37d75f640f8e5d9bcd5b150a0f85014da 03e3818b65bcc73a7d64064106a859cc1a5a728c4345ff0b641209fba0d90de6e9 OP_3 OP_CHECKSIG
      42 | +
      43 | +Hash the redeem script according to BIP-0016 to get the P2SH address.
      44 | +    3Q4sF6tv9wsdqu2NtARzNCpQgwifm2rAba
    


    btcdrak commented at 12:16 PM on March 11, 2015:

    Think you need a line here, this address isnt being displated in the rendered mediawiki view.


    afk11 commented at 12:32 PM on March 11, 2015:

    Thanks, seems to have been the same for the first set of public keys too. Fixed now

  8. maraoz commented at 4:32 PM on March 11, 2015: contributor

    ACK. Can confirm bitcore follows this, and I think it's good to have a BIP to clarify this issue, given every developer doing P2SH multisig will encounter it. Once/if this gets merged, we'll add the test vectors to bitcore :+1:

  9. add bitcoinJ 376d3cd6f8
  10. Merge pull request #1 from blocktrail/bip0090
    add bitcoinJ
    b924a75f66
  11. in bip-0090.mediawiki:None in 9f15ac4eb4 outdated
     117 | +* BIP45 - Structure for Deterministic P2SH Multisignature Wallets - https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki#address-generation-procedure
     118 | +* Bitcore - https://github.com/bitpay/bitcore/blob/50a868cb8cdf2be04bb1c5bf4bcc064cc06f5888/lib/script/script.js#L541
     119 | +* Haskoin - https://github.com/haskoin/haskoin/blob/master/Network/Haskoin/Script/Parser.hs#L112-122
     120 | +* Armory - https://github.com/etotheipi/BitcoinArmory/blob/268db0f3fa20c989057bd43343a43b2edbe89aeb/armoryengine/ArmoryUtils.py#L1441
     121 | +* Multisignature Brainwallet - http://ms-brainwallet.org/
     122 | +    
    


    jonasschnelli commented at 5:25 PM on March 11, 2015:

    I think here "bitcoinj" should also be mentioned.


    rubensayshi commented at 5:39 PM on March 11, 2015:


    rubensayshi commented at 5:54 PM on March 11, 2015:

    ah, great!

  12. afk11 commented at 8:04 PM on March 11, 2015: contributor

    Cheers @maraoz! Already borrowed the one bitcore happened to have :)

  13. gmaxwell commented at 8:09 PM on March 11, 2015: contributor

    As a matter of procedure this proposal can not have 90 now. PLEASE discuss your proposals on the list and just use BIP?? or BIP_draft_proposer or some other placeholder name.

  14. btcdrak commented at 8:10 PM on March 11, 2015: contributor

    @gmaxwell I thought this was discussed on the list not so long ago?

  15. gmaxwell commented at 8:20 PM on March 11, 2015: contributor

    @btcdrak I have no freeking idea. Just immediate intervention is required to prevent ANOTHER incident of multiple people squatting a number.

  16. afk11 renamed this:
    Bip0090?
    BIP: Deterministic multi-signature P2SH addresses
    on Mar 11, 2015
  17. afk11 commented at 8:33 PM on March 11, 2015: contributor

    That's absolutely fine, I'm not fussed either way, but can see how it can cause confusion later on.

  18. gmaxwell commented at 8:44 PM on March 11, 2015: contributor

    Yep. Working on a last call now. Good work.

  19. btcdrak commented at 10:09 PM on March 11, 2015: contributor

    ACK from me. I was involved in some of the discussions of this proposal in the beginning so it's all good from my side.

  20. devrandom commented at 11:06 PM on March 11, 2015: contributor

    ACK from CryptoCorp

  21. Rename to assigned number: BIP 0067 08655a0ccc
  22. afk11 commented at 12:59 PM on March 15, 2015: contributor

    Whoop, we've been assigned BIP0067 for this! Updated the PR so the README reflects this now also.

    I've changed the type from Informational to Standard, seems to be what most process BIPs are marked as.

  23. Tidy ups, add BIP0067 to README, and change Type: informational -> standard deb4ad4d03
  24. Remove multisignature brainwallet b8bcab2947
  25. With acknowledgements to BtcDrak ff22fdf042
  26. Specifically mention BIP-0011 (P2SH)
    Also add acknowledgement to Luke-Jr
    1c000480d4
  27. Add references section 01e427ad97
  28. remove whitespace 213e8a27a3
  29. in bip-0067.mediawiki:None in deb4ad4d03 outdated
     116 | +==Usage & Implementations==
     117 | +* BIP45 - Structure for Deterministic P2SH Multisignature Wallets - https://github.com/bitcoin/bips/blob/master/bip-0045.mediawiki#address-generation-procedure
     118 | +* Bitcore - https://github.com/bitpay/bitcore/blob/50a868cb8cdf2be04bb1c5bf4bcc064cc06f5888/lib/script/script.js#L541
     119 | +* Haskoin - https://github.com/haskoin/haskoin/blob/master/Network/Haskoin/Script/Parser.hs#L112-122
     120 | +* Armory - https://github.com/etotheipi/BitcoinArmory/blob/268db0f3fa20c989057bd43343a43b2edbe89aeb/armoryengine/ArmoryUtils.py#L1441
     121 | +* Multisignature Brainwallet - http://ms-brainwallet.org/
    


    luke-jr commented at 3:05 PM on March 15, 2015:

    BIPs really shouldn't be listing all implementations, just a (few) reference ones)... Recommend at least not listing ones based on bad security practices like brainwallets.


    rubensayshi commented at 8:34 PM on March 15, 2015:

    the reason for listing as many as possible is initially too show there's already a bunch of wallets and libs following this.

    2nd is imo that this BIP aims to close the gap for compatibility, I think it's relevant.

    imo it should stay in until the BIP is accepted, since it's relevant for the discussion

  30. afk11 commented at 2:35 PM on May 18, 2015: contributor

    @luke-jr - Forgot to mention, following your advise on IRC a while ago I altered the BIP to mention BIP-0011. Mind having a look?

  31. laanwj referenced this in commit f30e1eccd5 on May 26, 2015
  32. laanwj merged this on May 26, 2015
  33. laanwj closed this on May 26, 2015

  34. rubensayshi commented at 8:59 AM on May 26, 2015: contributor

    does this mean it's accepted? or just merged the draft?

  35. laanwj commented at 4:02 PM on May 26, 2015: member

    It just means that the BIP is part of the official repository now. There hasn't been a status change (those should be discussed on the mailing list, as described in BIP 0001, after the standard has been in use for significant amount of time, but it looks like the majority of BIPs stays at Draft status).

  36. devrandom cross-referenced this on Jul 1, 2015 from issue Fix consistency issues with equals/hashCode in LazyECPoint by peterdettman

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-20 18:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me