bitcoin-dev
Proposal to update BIP-32
Posted on: April 20, 2016 16:32 UTC
The proposer of this message suggests that BIP-32 should be updated in a minor way to make it easier for developers to use.
The current specification of BIP-32 requires all callers of CKDpriv or CKDpub to check for errors when the computed hash I_L is larger or equal to the prime or zero, and to handle these errors appropriately. This creates an additional burden for application developers rather than being able to handle it in the BIP-32 library. Additionally, it is unclear what to do if an intermediate node is missing. The suggestion is to repeat the hashing with slightly different input data until a valid private key is found. This way, the library will always return a valid node for all paths, avoiding the problems experienced using the original version. The proposal also includes suggestions for updating the derivation functions and root node derivation from the seed.Although there may be minimal backward compatibility issues, the author believes the benefits of the update would far outweigh any potential consequences. The post concludes with questions about how to update the BIP and what algorithm is preferred for implementation.