Author: Mike Hearn 2014-03-27 09:42:19
Published on: 2014-03-27T09:42:19+00:00
A group of bitcoin wallet developers, including Andreas Schildbach (Android Bitcoin Wallet), Jan Moller, Andreas Petersson (Mycelium), Thomas V (Electrum), Tamas Blummer, and Tamas Bartfai (Bits of Proof), met at the Inside Bitcoin Conference in Berlin to discuss the standardization of BIP32 wallet structures. They debated how to use a hierarchy and agreed that it could eventually be standardized for retail customers but not for corporate use where hierarchy will certainly map to organizational hierarchy or cost centers. Instead of building a directory of magic numbers, they suggested using a hash of the word "Bitcoin," "Litecoin," "Dogecoin," so collision is unlikely and centralized directory is not needed. The group also discussed making all wallets fully interoperable given the flexibility inherent in BIP32 and people's differing use cases. Mike Hearn proposed a structure acceptable to everyone, which was "/m/cointype/reserved'/account'/change/n." Cointype is zero for Bitcoin and can distinguish between keys intended for things like multisig outputs. Reserved is for "other stuff," account is for keeping essentially wallets-within-a-wallet to avoid mixing of coins, change is 0 for receiving addresses and 1 for change addresses, and n is the actual key index. The goal here is that the same seed can be written down once and meet all the users' needs, while still allowing some drift between what wallets support. However, Pieter made the point that you can't encode how keys are meant to be used into just an HDW hierarchy and normally need some metadata as well.
Updated on: 2023-06-08T16:27:34.454915+00:00