Author: Gregory Maxwell 2014-04-25 15:46:15
Published on: 2014-04-25T15:46:15+00:00
In an email exchange, Jim expresses concern over the potential loss of intra-client HD compatibility for BIP32 wallets, which could affect millions of users in the next year. He suggests creating a "HD Basic" lowest common denominator for interoperability, which would allow entry-level users to keep things simple and ensure that their bitcoin is fully interoperable. However, another individual responds that wallet interoperability at this level is generally not possible except as an explicit compatibility feature, given that the structure of the derivation defines and constrains functionality. The responder agrees that compatibility is better if wallets have the same features, but notes that wallets are unlikely to keep the same features for long unless they are dead software. Additionally, there are many other things that go into making a wallet portable between systems, such as private key handling and metadata. While it would be possible to support a compatibility mode with a subset of features, the responder is doubtful that it would be widely used and suggests that calling it "vendor lock in" is overblown.Instead, the responder recommends specifying that a linear chain with no further branching is the compatibility mode, which will be the same mode used when someone gives a master public key for recurring changes. They also note that compatibility for recovery tools is another matter, and BIP32 probably defines enough to allow successful recovery with a bit of extra data about how the real wallet worked. In conclusion, heavily constraining functionality in order to achieve interoperability is not worth the price, as manual handling of private keys is seldom advisable and users are likely to lose their metadata in any case.
Updated on: 2023-05-19T18:49:03.901451+00:00