Author: Pieter Wuille 2014-04-23 17:42:58
Published on: 2014-04-23T17:42:58+00:00
In a discussion between Litecoin developers and slush, it was decided that changing the "Bitcoin seed" constant to something different in BIP32 HMAC would not be a good idea. This is because changing the HMAC constant would not allow for storing one node and deriving wallets for multiple coins at the same time. It was suggested that storing the seed was superior to storing the master node as it is smaller. The solution proposed was to make the seed the "super master" which allows generating the coin-specific masters. The suggestion of using a chain-specific serialization magic was deemed almost the same as the proposed solution, except it lacks a way to encode the "super master." However, it was noted that encoding the seed instead would have the same security properties. There was disagreement about the "cointype" level and whether it breaks anything. It was seen as a clean solution that is forward and backward compatible and does not need any special extension to BIP32. However, it was acknowledged that strictly adhering to BIP32 would be broken. It was also noted that the ability to use the magic in serialization to prevent importing a chain from the wrong coin would be removed if the "Coin seed: " + magic were used instead of "Bitcoin seed," as it doesn't require an extra mapping from cointype to seed strings.
Updated on: 2023-05-19T18:19:01.140037+00:00