Author: Paul Brown 2018-04-26 14:05:06
Published on: 2018-04-26T14:05:06+00:00
Paul Brown has written a new BIP that supports a single or multi-signature and multi-coin wallet from a single master seed. The BIP 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 can be found on Github. However, BIP44 leaves itself open to a lot of interpretation from a wallet portability perspective. For example, what address format is expected when discovering balances and creating transactions? Does the master seed represent a single-sig or multi-sig wallet? If multi-sig, how many cosigners and what are their extended public keys? And if multi-sig, how do you prevent collisions on the same address index? To solve this issue, Paul proposed using bech32 serialized addresses (P2WPKH or P2WSH). He suggests 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. A separate specification similar to SLIP-0044 could be created that defines the list of address formats and the derivation path values. This would mean that future address formats are supported as they are simply added to the new spec list for the coin type - it doesn't require a new BIP to support. However, Clark Moody pointed out that Paul's solution does not solve the bootstrapping problem, and it avoids the UX nightmare of users being required to know which BIP number the xpub conforms to. Alternatively, Clark suggests using the xpub serialization format described in SLIP-0032. It includes the derivation path within the xpub itself and uses Bech32 for encoding.
Updated on: 2023-06-13T01:34:40.401336+00:00