Multi-signature and multi-coin HD wallet in one BIP32 derivation path (new BIP)



Summary:

In a discussion thread on the Bitcoin Development mailing list, Paul Brown proposed a new BIP32 derivation path that would allow for a single or multi-signature and multi-coin wallet from a single master seed. The proposal combines BIP44 and BIP45 and adds in a self-describing structure in the derivation path for multiple multi-sig combinations within the single wallet along with an extended public key export file format for public key distribution between parties. The proposal aims to address issues with BIP44, which leaves itself open to a lot of interpretation from a wallet portability perspective such as what address format is expected when discovering balances and creating transactions, whether the master seed represents a single-sig or multi-sig wallet, how many cosigners are involved, and how to prevent collisions on the same address index. Clark Moody responded to the proposal, suggesting that using the xpub serialization format described in SLIP-0032 would be an alternative solution that includes the derivation path within the xpub itself and uses Bech32 for encoding. This would solve the bootstrapping problem and avoid the UX nightmare of users being required to know to which BIP number the xpub conforms. Moody also suggested that if the proposal were to use the current BIP-49/84 method by specifying the address format in the purpose field of the derivation path, it would require modifying the proposed BIP each time a new format comes along, making existing wallets that claim BIP-XXXX compliance incomplete. Moody believes that sticking with the one-BIP-one-format method works better.Brown responded to Moody's suggestions, stating that he had realised after sending his previous response that the encoding was wrong and that the smiley face at the end of the BIP number comment got turned into a question mark, and the tongue-in-cheek context was lost. He further proposed extending the derivation path with an additional level below coin type to represent the address format, with the value determined by the context of the coin type value in the derivation path. Brown suggested that a separate spec similar to SLIP-0044 could be created that defines the list of address formats and the derivation path values. The proposal would allow for future address formats to be supported as they are simply added to the new spec list for the coin type without requiring a new BIP to support.


Updated on: 2023-06-13T01:35:07.025810+00:00