Into the Rabbit Hole #2: Overview of BIP-32 / BIP-39 / BIP-43 / BIP-44 Wallet Standards

0 960
Avatar for ukio
Written by
3 years ago

Trying to understand how wallets work and how they are secured, I came across the following BIP standards (note: "BIP" stands for "Bitcoin Improvement Proposal" and is the way how to propose new standards to Bitcoin).

So here is a short overview of a few BIPs I looked at:

  • BIP-32 - Hierarchical Deterministic Wallets

    • the standard for generating hierarchical deterministic wallets (i.e. "HD Wallets")

    • describes how hierarchical structure of keys and addresses is generated from a single master key (a.k.a. "wallet seed")

    • use cases include multi-account wallets, wallet sharing, etc..

    • if you are interested in the technical details on how a wallet is created --> this BIP is for you!

  • BIP-39 - Mnemonic code for generating deterministic keys

    • defines how a usually 12 or 24 word mnemonic sentence (a.k.a. "seed phrase") is used to (re-)create a BIP32 wallet

    • the mnemonic sentence should be combined with a passphrase, and both together are used to create the actual master key ("wallet seed")

    • the 12-24 words are usually chosen from this wordlist and are better for humans to deal with than a "raw" private key (easy to back up on paper or even steel, good error correction properties, etc..)

  • BIP-43 - Purpose Field for Deterministic Wallets

    • tackles a shortcoming of BIP32 (i.e. the fact that it does not define how the actual hierarchical structure should look like)

    • is kind of a "meta" BIP and just defines that the 1st level of the hierarchy is the "purpose" which should refer to a subsequent BIP which defines the structure underneath

    • general BIP43 structure is  m / purpose' / * , where for example BIP44 should use m / 44' / * , etc... (you get the point)

  • BIP-44 - Multi-Account Hierarchy for Deterministic Wallets

    • is a concrete implementation of BIP43 describing the hierarchical structure for a multi-account hierarchy

    • it defines 5 levels in the BIP44 path:  m / purpose' / coin_type' / account' / change / address_index

      • purpose: is a constant set to "44"

      • coin_type: defines the type of coin, e.g. BTC, ETH, etc... (see registered coin types here)

      • account: allows to define separate accounts to manage the funds

      • change: specifies if the address is on an external chain ("0") or internal chain ("1")

      • address_index: denotes the index of the address being generated

    • in addition to the levels, it also specifies the "account discovery" algorithm


This was a really short, high level overview (it helps me keeping an overview of what the BIPs are on that level....)  

If you want to know more details, I highly recommend to delve into the BIPs themselves.

By the way... looking myself for a wallet, I found https://walletsrecovery.org/ provides a good overview of different HW / SW wallets. (I haven't chosen one though)

(note: this has been cross-posted from here)

2
$ 0.00
Avatar for ukio
Written by
3 years ago

Comments