A majority of crypto wallets today use BIP39 as a standard industry practice. But what exactly is it? Understanding it helps you keep security and portability in mind when choosing wallets and managing your crypto. This article explains all you need to know about BIP39.
What is BIP39?
BIPs stand for Bitcoin Improvement Proposals, which are design documents introducing features to Bitcoin. BIP39 is the implementation of a mnemonic sentence also known as a seed phrase to generate wallets. BIP39 has become an industry standard among a majority of wallets in use today to simplify the management of cryptocurrencies and NFTs across blockchains.
Why use BIP39?
BIP39 was introduced to simplify wallet and key management. It is a substitute for private keys whose hexadecimal representation is hard to remember and difficult to use. Instead we use seed phrases, which are easy to remember and user-friendly since they use natural language words, that are then translated by the wallet’s algorithm to generate deterministic wallet addresses. In short, they convert computer-generated randomness to a human-readable form.
To demonstrate, consider the following 12-word BIP39 mnemonic:
penalty shaft veteran knee inquiry pyramid soul warm add planet pottery thank
The generated BIP39 seed is:
The BIP32 root key is:
In comparison to this overly complicated hexadecimal sequence, the 12-word mnemonic is much easier to remember and much less likely to result in errors when typing, which goes to prove the utility of seed phrases and BIP39.
In addition, its standardization and widespread adoption allows easy migration of your keys to a different wallet using the BIP39 seed phrase. This means that any 2 wallets using the same BIP39 standard are intercompatible and entering your seed phrase in a new wallet will give you access to your crypto there. This is because all private keys associated with an HD wallet are controlled by the seed phrase. However, not all wallets use the BIP39 standard. Therefore, if you are using a wallet which does not follow this standard you may face vendor lock-ins, forcing you to buy another wallet from the same vendor in case of mishaps.
The BIP39 Word List
Although the seed phrase generated seems arbitrary, they are actually selected from a limited dictionary consisting of 2048 specifically selected words needed to generate a high level of entropy. Words are chosen such that:
- They don’t have ambiguous spellings or words.
- They don’t have synonyms or similar words.
- Each word has unique first four characters
The entire official English word list is available here:
A more convenient Single-page PDF is available here:
The word list is also sorted allowing better compression and efficient/quick lookup of words such as the use of binary sort involving a smaller time complexity. Moreover, a brute force attack on a BIP39 seed phrase is impossible due to the sheer number of possibilities, provided it follows a suitable randomness. For reference, a 12-word seed phrase has 204812 permutations making it resistant against such cryptanalytic guessing attacks.
In summary, BIP39 is a standard used to generate your seed phrase with reference to a 2048-word list. It introduces user-friendliness without compromising on security through the use of a “seed mnemonic” as well as simplifies wallet migration and key management issues such as transcription, remembering and storing.