Proposal to replace BIP0039



Summary:

The email discussion revolves around the standardization of including the tree structure or version information about features used in wallets inside the seed. Pieter suggests that before going ahead with the standardization process, it is important to establish best practices regarding different wallet structures and explore the possibilities and developments related to it. Information about the wallet structure is less secret than key data, so it could be backed up anywhere without any repercussions. If really needed, any key derivation scheme can be augmented with metadata by enforcing property-bits on a hash of the string. Regarding other requirements, Pieter questions why the transformation needs to be bidirectional. If it is only about generating master seeds, one direction should be enough and allows for far nicer properties with respect to security. Pieter also suggests adding strengthening built-in to the standard for 'brainwallets' to decrease the impact of worst-case situations. If backward-compatibility is the reason for bidirectional transformation, any client that supports seeds already can just keep supporting whatever they supported before. Only if it matches both encoding schemes, there is a potential collision. Slush asks Thomas to elaborate more on the "version" bits and their exact meaning. Slush thinks this is an implementation problem and suggests that Electrum can do the same algorithm for searching branches as it is doing now for used addresses. The "version bits" need to be covered by the specification as well because if any client uses them differently or does not use them at all, it will break cross-compatibility between clients, which was another goal of bip39.


Updated on: 2023-05-19T17:38:38.925801+00:00