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 ...


4

Your analysis is correct. The weakness in this scheme is that if one location is compromised, only 80 bits of security are left. But 80 bits is sufficient for practical purposes and would likely take at least a decade to break assuming a highly-resourced attacker was willing to devote significant resources to breaking it. This assumes the original seed was ...


4

Do I have such a recovery seed? No. Bitcoin Core does not use mnemonics nor is the seed exportable. Is there any other way I can migrate my wallet to the trezor? (Other than creating a new wallet and transferring funds from the existing one to this new one) No. The only way to migrate is to send a transaction that transfers your Bitcoin to your Trezor. ...


4

Bitcoin Core does not support BIP39, or any other seed word standard. You are correct that this implies backing up wallet.dat and keeping it safe directly. This is a good idea in any case, even if there were a seed phrase, as the seed only helps recover the keys, but not information such as labels you may have assigned to transactions, or unconfirmed ...


3

Any wallet software that allows restoring from a BIP39 mnemonic will allow you to do that, such as Electrum. However, you should not do this on your regular computer, since putting your private key on your computer defeats the purpose of having a hardware wallet. If you really have to verify your key is correct, and you'd like to maintain the security of ...


3

Above answers regarding seedrecover.py and BIP39 are wrong. Blockchain.info legacy wallets can use any number of words from 15 to 21 or more. The number of words changes depending on your password length. The words are NOT a part of the BIP39 seed words and seedrecover.py will NOT be able to find the missing words as it is based on a completly different ...


3

Not having a checksum means that users would be able to easily pick their own mnemonic seed phrase in a non-random way, and that presents a really huge security risk to those users! While it would also enable easier provable physical entropy gathering methods, this enabling of extremely poor entropy seed phrases could likely be of huge detriment to naive ...


2

Kalle Rosenbaum argued for this on Twitter. The checksum is between 4 (for 12 words) and 8 (24 words) bits. This is a very weak checksum. For 12 words, this would mean 1/16 probability of failure to detect a mistyped sequence of VALID words! The words themselves are a much stronger checksum. Any misspelled word has a much higher probability to be detected ...


2

SSH is a generic protocol within which a user can deploy keys from a variety of algorithms, one of which is ECDSA (same as Bitcoin signatures). The Ledger hardware wallet even has an application for its devices to perform SSH signatures using keys derived from the same seed used for cryptocurrencies. TLS also has EC available as an algorithm so there might ...


2

I'm sorry to hear of your loss. Recovering the funds will require some careful work, but go slowly and make sure you understand what you're doing, and you'll find it isn't that hard! Importantly: Be very wary going forward - lots of scammers will likely attempt to prey upon you and steal your funds! DO NOT share the 12 words or 34 letter string with anybody ...


2

Here's a 3 of 5 one time pad solution with just 2 series (A is a random key, B is a random key, C is Real⊕A⊕B, Real is A⊕B⊕C. Thanks to @answerevaded, @oisyn, and @Scooper this is just a simplification for the 3 of 5 case: {A1, A2}, {B1, B2}, {C1, A2}, {B1, C2}, {A1, C2} Implementation in any language is simple, which is why I prefer this solution to SSS: ...


2

The idea behind a seed mnemonic phrase is to provide a readable format for the seed. It is mostly used for backup purposes. Let's say you lost your phone. You'll be able to recover your bitcoin wallet based on the word list you have saved in a secure place. Also the Trust Wallet may stop being available as an app at some point, and the seed will allow you to ...


2

if I happen to get my 12-words compromised and someone gets to know them, then I would be still safe as long as this person does not figure out which wallet app I used? Technically, no. The attacker only needs to figure out the algorithm used to convert the passphrase into the public key, which may be used by multiple apps. But that is probably not what you ...


2

The order is important. If you have 24 different words but don't know the order, you have to try up to 24 factorial permutations. That is around 620448401733239439360000 different attempts. This may take a very long time and cause you great anxiety, unhappiness and self-recrimination. Related questions: Unsure order of 12 word mnemonic Bruteforcing a seed ...


2

You have reduced the level of security by making it so that an adversary only needs to figure out your three-word phrase rather than your 24-word phrase. Assuming 170,000 English words from which you derive your phrase, your three-word phrase only has 52 bits of entropy. In practice, it will probably be less than this because your set of words may not be ...


2

Sadly if you lost your seed phrase (12 or 24 words) you won't be able to regenerate your private key and get your funds control back. Best advice, look harder where you wrote it or stored it. PS. Never write your seed phrase in any online place or take any picture, just piece of paper very well stored.


2

This is written in swift, it's open source and you can check out the source code to get an idea of what's happening: https://github.com/BlockchainCommons/GordianSeedTool-iOS But as I'm coming to understand it myself, I'll attempt to summarize. You need to have a seed (a random number as a starting point) of sufficient entropy, or randomness, that's 2^256 ...


2

You need to ensure they use the same derivation path. If there are a lot of unused addresses generated you may need to increase the gap limit.


2

From BIP-39: The mnemonic must encode entropy in a multiple of 32 bits. With more entropy security is improved but the sentence length increases. We refer to the initial entropy length as ENT. The allowed size of ENT is 128-256 bits. Essentially, any random string of 128-256 bits can be converted into a BIP-39 mnemonic. However, if you're asking whether ...


2

If you properly create the public key and address, there is no chance that the signature created from the private key will fail. This was true before BIP32 and BIP39. It remains true.


2

So far as I know this isn't possible. The mnemonic phrase is hashed to get a seed number. Hashing algorithms are one-way algorithms. See BIP39 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 ...


2

I assume both the Python library and Trustwallet implement BIP32 to create hierarchical deterministic (HD) wallets. The address you get depends on the derivation path. If your Python library and Trustwallet use different derivation paths, you will get different addresses. An HD wallet will produce multiple addresses, a different one each time you request an ...


1

Andrew Chow answered in the comments. It was at the root! So path m.


1

BIP39 (the specification for how seeds can be encoded into phrases) specified a number of word lists beside English but it has been widely considered a bad idea to use them. Words can be ambiguous between languages, and many use encodings which are not guaranteed to be consistent or supported on every system. Little software ever supported any language other ...


1

That depends on the specific wallet’s implementation. Typically wallets will mix multiple sources of entropy to generate a random seed (user input, system time, /dev/urandom etc). Also most operating systems will provide a source of cryptographically secure randomness that is very hard, if not impossible, to replicate.


1

When you say simplified code it's hard to tell where you are going wrong. Here's an example of how you can derive a bip44 key pair from a mnemonic using bitcoinjs-lib v3.3.2 let mnemonicInput = 'width bicycle axis tell burst outdoor tray episode where they forest meadow enhance twin focus'; let seedHex = bip39.mnemonicToSeedSync(mnemonicInput).toString('hex')...


1

if I generated 100 addresses and transferred some BTC to all of them, I need to backup all the 100 addresses. Bitcoin core is an HD wallet. So you should only need to backup the extended master private key shown at the top of dumpwallet. # Wallet dump created by Bitcoin v0.21.0 # * Created on 2021-05-05T17:57:09Z # * Best block at time of backup was 627544 ...


1

Derivation paths. wallet_bip39 is using m/44'/0'/0' while (if I looked at the right pywallet code) pywallet is using m/0'


1

bip39-lib.js works along with bip32-lib.js AND bitcoinjs-lib. BIP39 is strictly regarding the mnemonic phrase and HD seed. In order to derive child keys from an HD seed you'll also need to use BIP32. BUT... BIP32 has no concept of addresses either so ultimately you'll also need bitcoinjs-lib. In other words you need to use all three libraries to go from ...


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