A 12-word mnemonic phrase, also known as a seed phrase or recovery phrase, is a standardized way of representing a private key used to access a cryptocurrency wallet or other digital asset. These phrases consist of 12 randomly generated words that are typically easy to remember and easy to write down on a piece of paper or other offline storage medium.
Here’s how to generate the 12-word mnemonic phrase.
- A random set of 128 bits is generated, which represents the private key.
- A checksum is generated by taking the first few bits of the SHA-256 hash of the 128-bit random set.
- The 128-bit random set and the checksum are combined to create a 132-bit binary string.
- The 132-bit binary string is then divided into 12 sections of 11 bits each.
- Each 11-bit section is used to look up a corresponding word in a pre-defined list of 2048 words, which is used in BIP39. This list is commonly referred to as the “BIP39 wordlist.”
- The resulting 12 words are the 12-word mnemonic phrase, which can be used to regenerate the private key if needed.
To convert a 12-word mnemonic phrase back to a private key, you need to use a tool or software that supports BIP39. The 12-word mnemonic phrase is used to generate a private key through a process called BIP39 (Bitcoin Improvement Proposal 39). This process uses a mathematical algorithm called a “deterministic wallet” to generate private keys based on a predetermined set of rules. Here’s how the process generally works:
- Enter the 12-word mnemonic phrase into the tool or software.
- The tool or software will use BIP39 to convert the mnemonic phrase back into a 132-bit binary string.
- The checksum is then verified to make sure the mnemonic phrase was entered correctly.
- The first 128 bits of the 132-bit binary string are used as the private key.
- The private key is then hashed using the SHA-256 algorithm to create a 256-bit hash.
- The resulting hash is then hashed again using the RIPEMD-160 algorithm to create a 160-bit hash, which is commonly used in Bitcoin and other cryptocurrencies.
- The 160-bit hash is then used as the public key, which can be used to receive transactions.
It’s important to note that the process of converting a mnemonic phrase to a private key should be done offline and on a secure device. Additionally, it’s important to keep the mnemonic phrase secret and secure, as anyone with access to it can regenerate the private key and gain access to any funds associated with it.
The security of a 12-word mnemonic phrase depends on the strength of the random number generator used to generate the phrase, as well as the security of the physical storage medium used to store the phrase. If the random number generator used to generate the phrase is truly random and the physical storage medium is secure and kept secret, then it is highly unlikely that anyone else will be able to guess or discover the phrase and gain access to the corresponding wallet or digital asset.
However, it’s important to note that no security measure is completely foolproof. There is always some risk of theft or loss, either through physical means or through digital means such as hacking. Therefore, it’s important to take additional security measures such as using a secure password and enabling two-factor authentication whenever possible to further protect your assets.
What are BIP39 wordlist?
The BIP39 wordlist is a pre-defined list of 2048 words used in the BIP39 standard for generating mnemonic phrases. Each word in the list corresponds to a unique set of 11 bits, which allows a 12-word mnemonic phrase to represent a 128-bit private key in a way that is easy to remember and write down.
The BIP39 wordlist was carefully selected to ensure that each word is easily distinguishable from the others and is not easily confused with other words in the list. The words were also chosen to be globally recognizable and easy to spell, so that they can be used by people speaking different languages.
Some examples of words in the BIP39 wordlist include “abandon,” “blast,” “chicken,” “dust,” “flock,” “lemon,” “morning,” “razor,” “sketch,” and “victory.”
It’s important to note that the BIP39 wordlist is open source and can be used by anyone, but it’s important to use a trusted implementation of the BIP39 standard to ensure that the mnemonic phrase and corresponding private key are generated securely and accurately.
A 12-word mnemonic phrase generated using the BIP39 standard can represent any private key in the range of 2^128 possible keys. However, not all of these keys will correspond to valid wallet addresses.
The number of possible wallet addresses that can be generated from a single 12-word mnemonic phrase depends on the specific cryptocurrency and the address format used. For example, Bitcoin uses a specific address format called Pay-to-Public-Key-Hash (P2PKH), which allows for the creation of approximately 2^160 possible addresses.
However, it’s important to note that not all of these addresses will correspond to valid or active Bitcoin addresses. Additionally, some cryptocurrencies may use different address formats and have different limitations on the number of addresses that can be generated from a single mnemonic phrase.
In general, a 12-word mnemonic phrase generated using the BIP39 standard can be used to create a large number of wallet addresses for a given cryptocurrency, but the specific number will depend on the address format and other factors specific to that cryptocurrency.
Ethereum uses a similar but not identical standard to BIP39 for generating mnemonic phrases. Ethereum’s standard is called “EIP-2334: Hierarchical Deterministic Wallets (HD Wallets) For Ethereum” and it is based on BIP39 but with some modifications to support Ethereum’s unique features.
Like BIP39, EIP-2334 allows for the creation of mnemonic phrases that can represent private keys and generate multiple wallet addresses. The EIP-2334 standard also uses a pre-defined wordlist of 2048 words, which is similar to the BIP39 wordlist.
However, there are some key differences between the two standards. For example, EIP-2334 uses a different seed derivation process than BIP39, which allows for the derivation of both Ethereum and Bitcoin private keys from the same mnemonic phrase. Additionally, EIP-2334 uses a different checksum process and a different address generation process than BIP39.
Overall, while Ethereum does not use BIP39 directly, it uses a similar standard with some modifications to support Ethereum’s specific needs. This means that mnemonic phrases generated using EIP-2334 can be used to generate Ethereum wallets and private keys, but they may not be compatible with wallets or tools designed for BIP39-based mnemonic phrases.
The EIP-2334 standard uses a pre-defined wordlist of 2048 words that is publicly available and can be downloaded. The wordlist is published on the Ethereum Improvement Proposals (EIP) Github repository, which is the official repository for all Ethereum improvement proposals.
Here is the direct link to the EIP-2334 wordlist on Github:
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2334.md#english-wordlist
The EIP-2334 wordlist is available in multiple languages, including English, Spanish, French, Italian, Japanese, Korean, Portuguese, Simplified Chinese, and Traditional Chinese. The wordlist is in the form of a plain text file and can be downloaded and used with any software or tool that supports the EIP-2334 standard for generating mnemonic phrases and private keys.
The probability of a collision in a 12-word mnemonic phrase generated using the EIP-2334 wordlist is extremely low, assuming that the words are randomly selected and the implementation of the standard is secure.
The EIP-2334 wordlist contains 2048 words, which means that there are 2048^12 possible 12-word combinations. This equates to approximately 2^132 possible combinations, which is an astronomically large number. To put this into perspective, it’s estimated that there are approximately 2^256 atoms in the known universe, which is many orders of magnitude larger than the number of possible 12-word combinations.
Assuming that the implementation of the EIP-2334 standard is secure and the words are randomly selected, the probability of generating two identical 12-word phrases is extremely low, likely much lower than the probability of other types of security breaches or attacks.
However, it’s important to note that there have been instances in the past where poor implementation of mnemonic phrase standards has led to vulnerabilities and security breaches. Therefore, it’s important to use a trusted implementation of the standard and to follow best practices for securing your mnemonic phrase and private key.
The Ethereum implementation of the EIP-2334 mnemonic phrase standard is generally considered to be secure and trustworthy, as it has undergone significant testing and review by the Ethereum community and security researchers.
The EIP-2334 standard was proposed in 2019 as an improvement over the earlier BIP39 standard, specifically tailored for Ethereum and its unique needs. Since its proposal, it has undergone extensive review by the Ethereum community, including security researchers, developers, and users, to ensure that it is secure and meets the needs of the Ethereum ecosystem.
Additionally, several popular Ethereum wallets and tools, such as MyEtherWallet and MetaMask, have adopted the EIP-2334 standard for generating mnemonic phrases and private keys, further validating its security and trustworthiness.
However, it’s important to note that no system can ever be completely foolproof, and there is always a risk of security vulnerabilities or flaws in any software implementation. Therefore, it’s important to take appropriate precautions to protect your mnemonic phrase and private key, such as using a trusted implementation of the standard, keeping your mnemonic phrase and private key secure and confidential, and regularly backing up your wallet to prevent data loss.
The Exodus wallet uses the EIP-2334 standard for generating mnemonic phrases and private keys for Ethereum wallets.
Exodus is a popular multi-cryptocurrency wallet that supports several different cryptocurrencies, including Ethereum. When creating a new Ethereum wallet in Exodus, the user is presented with a 12-word mnemonic phrase that is generated using the EIP-2334 wordlist. The user can use this mnemonic phrase to restore their wallet or to generate additional Ethereum addresses.
Exodus has also implemented other security features to help protect users’ private keys, such as a secure password-based encryption for the wallet, two-factor authentication, and the ability to create multiple Ethereum wallets within a single Exodus installation.
Overall, the use of the EIP-2334 standard by Exodus and other popular Ethereum wallets and tools helps to promote standardization and compatibility in the Ethereum ecosystem, and provides users with a secure and reliable way to generate and manage their Ethereum private keys and wallets.