15

BIP 39 is not in Bitcoin Core largely for implementation reasons and because BIP 39 is not as secure as it could be. The structure of Bitcoin Core's wallet doesn't really allow for BIP 39 to be implemented. The current structure doesn't allow for 512 bit seeds as BIP 39 specifies, and adding it would require some significant changes to the wallet code. ...


13

One Time Pad or XOR is an elegant and information-theoretic secure [1] way to split a BIP39 seed. It's a method simple to describe (apt for a will) and easy to verify (trust only yourself). It can be computed with paper and pencil eliminating risks from malware. Best of all the resulting shares are themselves mnemonics thus easy to record. The method does ...


10

There is nothing stopping a word to be repeated more than once. In a 24 word mnemonic, with 2048 possible words in the dictionary (BIP 39), there is a probability of at least one duplicate around 12.7% of the time (variation of the birthday paradox).


10

to answer the first part; generally speaking people will want to backup their whole wallet, not specific PKs. so using a HD wallet and making a backup of the seed (either the seed or a BIP39 mnemonic doesn't matter) matches what people using 'normal' wallets do, you backup your whole wallet in 1 place (most wallets have a backup/export file for the whole ...


10

There are different "backup-standards". Some use BIP39 (mnemonic) which lacks a flexible wordlist and versioning. It's used by Ledger, Trezor, Bitpay/Copay, etc. Electrum uses a different – more flexible – mnemonic backup concept which is incompatible with BIP39. There is also the BIP32 keypath which can be different among wallets. Example: you can ...


9

In fact, the reason Electrum 2.x changed to a 13-word seed* and is incompatible with BIP39 is because they added a version number to the end of the seed. This has the purpose of allowing future versions of Electrum update the seed format while still understanding how to derive all the addresses from previous seed versions. Standard Electrum seeds have 128 ...


9

BIP39 (Bitcoin Improvement Proposal) describes the implementation of a mnemonic sentence (set of easy to remember words from a predefined wordlist of 2048 words) that can be mapped to a binary seed from which you get a master key which in turn is used as per BIP32 for the generation of deterministic wallets. SLIP39 (Satoshi Labs Improvement Proposal) has to ...


7

Doing this requires three things: Permutations of the seed words The address you're trying to locate The derivation path for that address. In this specific case, the address is the one this puzzle on reddit leads to, so we will assume the derivation path is m/49'/0'/0'/0/0 This is a simple nodejs script using bitcoinjs-lib to read seeds from a file, ...


7

someone on blockchain support ask me to tell him my back up fund 12 word in order to reverse my bitcoin which was unconfirmed in my transaction Sorry to say, you were definitely scammed. You cannot reverse a bitcoin transaction in that way, the scammer only told you that so that you would give them the 12 word phrase. With that phrase, the scammer could ...


7

Ideally you shouldn't share any words and brute forcing with one paper in your case may take time but still possible. Also if someone gets one paper he can try social engineering to get another. Below links might help in understanding things involved in brute forcing. https://medium.com/@johncantrell97/how-i-checked-over-1-trillion-mnemonics-in-30-hours-to-...


6

(The language used in this post is Python) Breadwallet uses BIP39 to generate the 128-bit master seed from the 12-word mnemonic. The master seed is then used to generate a set of wallets/accounts containing chains of addresses, using BIP32. First off, import hashlib and binascii, we're going to need them later. import hashlib from binascii import hexlify, ...


6

There are multiple questions being asked here. Firstly, some background info. BIP39 is a standard that includes word lists. The English one can be found at https://github.com/bitcoin/bips/blob/master/bip-0039/english.txt What is a mnemonic frequency analysis? This is a fancy way of them saying that they figured out the minimum number of letters they ...


6

One can use Shamir's Secret Sharing Scheme, but the input ASCII string must be under 128 ASCII characters in length. Fortunately, the 2048 English BIP 39 words are guaranteed to be unique from their 1st four characters, sometimes even fewer characters. Let's assume the 24 recovery words are "bunker wreck real edge inflict aerobic buddy mercy divorce wolf ...


6

No, I don't think the checksum should be removed or made optional. It doesn't do more harm that good. Bip39 is a simple way to copy computer-generated randomness from the computer onto, eg a piece of paper. This Bip39 mnemonic sentence can then be used to restore your wallet, should you lose your computer. The checksum provides some degree of certainty on ...


6

No your funds would still be at risk. There are only a few popular wallets that use seed phrases. Most wallets use BIP39(https://en.bitcoin.it/wiki/Seed_phrase) but there are some that use different versions or no seed words at all. Electrum does not ouse BIP39, see their docs explaining why. https://electrum.readthedocs.io/en/latest/seedphrase.html It would ...


5

I went to https://iancoleman.github.io/bip39/ and after generating a dozen or so mnemonics I got audit again guess butter minute predict grid image fresh kit west will before noodle supply magic bread protect mimic butter credit tragic recipe clarify So this confirms the other answers: assuming this is a correct implementation, repeats are allowed.


5

BIP 32 is not a mnemonic specification, so it has 0 possible combinations. I assume you are talking about BIP 39. In that case there are are 2048^12 combinations for 12 word mnemonics, 2048^18 for 18 word mnemonics, and 2048^24 for 24 word mnemonics. However BIP 39 currently supports 8 languages, so there are (2048^12 + 2048^18 + 2048^24)*8 possible ...


5

Please try the following demo, and the result is same with https://iancoleman.io/bip39/. $ python3.6 test.py {'addr': '1A9vZ4oPLb29szfRWVFe1VoEe7a2qEMjvJ', 'coin': 'BTC', 'mnemonic_words': 'aware report movie exile buyer drum poverty supreme gym oppose float elegant', 'privatekey': 'L3g3hhYabnBFbGqd7qReebwCrRkGhAzaX4cBpYSv5S667sWJAn5A', 'publickey': '...


5

From where I can get bip39 ( 2048 words ) 12 words length possible combinations . There is no such list, because it is simply too large. From the 2048 words, 12 word mnemonics are 11 words + 1 checksum word. However, the checksum calculation only affects part of the 12th word, so you are still looking at 12 word combinations This gives you 2048^12, or 5....


5

Andreas Antonpoulos answers this question here. He calls this reduction from 256 bit entropy to 80 bit entropy a "catastrophic reduction in security". He estimates that it would take a cluster of machines up to a decade to brute force the remaining 8 words. It is certainly not an effective long term wealth storage solution. Perhaps it could work as ...


5

Other answers correctly state that leaking 16 words of a 24 word key significantly compromises security. I would add that you have an alternative option which wouldn't compromise security. Using Shamir's Secret Sharing, you can encode your key on three separate pieces of paper such that: You need at least two pieces of paper to recover the original key If ...


5

Can I “duplicate” a wallet using a backup phrase (12 words)? Yes Where is my balance stored? Both wallets will scan the relevant parts of the public transaction-journal ("blockchain") to add up the amount of money controlled by the keys derived from your backup phrase - this total is your balance. Wallets are very likely to store this total ...


5

Because no one has stepped up to do the work or hire someone to do it for them. That's how open source works : ) This repository contains the mnemonic list in different languages (Currently just 8). There are also wordlists in other languages that are stuck in limbo. However if you find it to be worth it, you might want to prepare a list and submit it to the ...


4

While theoretically possible, the algorithms involved mean that it is practically impossible. You would need to compute the seed from your mnemonic word according to BIP 39, and then derive the keys and address from that according to BIP 32. Generating the seed from the mnemonic alone requires executing the PBKDF2 function, which is specifically designed to ...


4

You aren't actually encoding the same entropy with different checksums. The last word does not encode just the checksum, it also encodes some portion of the original entropy. For a 12 word mnemonic, the last word encodes 7 bits of the original entropy and 4 bits of the checksum. In your example, the last 7 bits of the original entropy is 1110010. Combined ...


4

mnemonics are the seed. you use that to get your private key. the rest of the story as you have pointed out, is about deriving child key pairs. The process is deterministic (as the letter D in HD), meaning that you can get the same tree of child keys from the root seed whenever you do that. This could go "indefinitely", so how would you know when to stop? ...


4

Your mnemonic is creating an extending private key for deterministic wallets, which is different than a WIF Private Key. An extended private key can deterministicly generate millions of private keys, so that you can regenerate all those same addresses in the future as long as you have the extended private key or your mnemonic seed. Example of extended ...


4

It simply means that BIP39 seeds have no way to tell you when they were created - If you need to check one for transactions, you have to start at the genesis block and work your way up to the present day. This is in contrast to the traditional Bitcoin-qt wallet.dat, which maintains a date for when the address was created. Usually, it will not check for ...


4

Bitcoin Core does not use a seed phrase. Your password is simply the encryption password for the wallet.dat file. No private keys are derived from the password. In order to recover your Bitcoin, you must have the wallet.dat file.


4

This is specified in BIP 39 itself: To create a binary seed from the mnemonic, we use the PBKDF2 function with a mnemonic sentence (in UTF-8 NFKD) used as the password and the string "mnemonic" + passphrase (again in UTF-8 NFKD) used as the salt. The iteration count is set to 2048 and HMAC-SHA512 is used as the pseudo-random function. The length of the ...


Only top voted, non community-wiki answers of a minimum length are eligible