New BIP32 structure for P2SH multisig wallets [BIP-45]



Summary:

A multisig account is an agreement between a set of cosigners to be signatories of multi-signature transactions that require a set number of signatures. This arrangement follows the BIP-45 specification. For example, Juan, Pedro, and Jose agree to create a 2-of-3 multisig "account" following BIP-45. Their extended public keys are all path m/45' from their wallet's master private key as per the standard. Every cosigner's address public key is obtained following the same derivation path from the cosigner's master key. Therefore, it is easy to know what public keys Pedro is likely to use in both 2-of-3 account {Juan, Pedro, José} and 2-of-2 accounts {Pedro, ElCheapoPC}, by only knowing Pedro's m/45' purpose-specific extended public key.Using the same set of extended public keys in multiple wallets is not required or recommended by BIP45. A singing party needs the extended public keys of all the other parties to generate a wallet address. Each party will be able to see the transaction history of the wallet they are sharing, but if the party has other wallets with other copayers, the xpub should be completely different.By adopting a scheme as an improvement, cosigners with Pedro would have to know ElCheapoPC's extended public key to eavesdrop on any transaction between Pedro and ElCheapoPC. According to lexicographic order of serialized public keys contained in each of the xpubs, as per BIP-45 specifications, suppose the first cosigner in each of the accounts generates a set of public keys for a multisig redeem script to obtain a P2SH address from. The derivation path m/45'/0/0/1 is used as per BIP-45. Pedro's public key for that address in each account will be the same. By scanning the blockchain for Pedro's public keys, Jose can see that Pedro had a 2-of-2 multi-signature arrangement with somebody else (ElCheapoPC), although he does not necessarily know its identity, and how much money was transacted in that arrangement, without having to know the extended public key from ElCheapoPC.


Updated on: 2023-06-10T23:42:40.256431+00:00