bitcoin core – What do they mean by “12/24 words” or “seed words”?

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

Many other wallets do support BIP39 or other seed phrase standards. Some of these are very popular. I can’t tell you why common advice seems to ignore wallets like Bitcoin Core that don’t have these. Presumably, in terms of actual non-professional usage, such wallets are a minority.

The primary reason for Bitcoin Core’s wallet not supporting seed phrases is simplify because it predates such standards, evolves slowly (by being conservative about many changes), and until recently, introducing a feature for recovery from a seed would have been very complicated. This may well change at some point in the future.

Internally, the wallet.dat file does use a BIP32 seed to generate keys from, but this seed is not something that takes the form of a phrase; it is simply 32 random bytes that are stored in the wallet file (in encrypted form if the wallet is password encrypted).

Does 12 word Mnemonic seed + passphrase wallet get recovered w/o the passphrase?

I recently bought an Ellipal Titan, I was playing around with it to get used to the wallet.

  1. I created a wallet with 12 mnemonic + passphrase.
  2. I erased the wallet.
  3. I tried to recover the wallet with the same 12 word key + different passphrase.
  4. I was able to recover the original wallet with the different passphrase.

I wonder how this happen. Is it supposed to that way, or Titan is messed up? It seems as though using passphrase does not affect the security at all. Any idea?

p2p – What is a DNS seed node vs a Seed Node?

As you correctly identified, there are two types of seed nodes, i.e. DNS seeds and seed nodes. DNS seeds are stored in chainparams.cpp. As of today (September 2021) the following nodes are listed in this file.

  • seed.bitcoin.sipa.be
  • dnsseed.bluematt.me
  • dnsseed.bitcoin.dashjr.org
  • seed.bitcoinstats.com
  • seed.bitcoin.jonasschnelli.ch
  • seed.btc.petertodd.org
  • seed.bitcoin.sprovoost.nl
  • dnsseed.emzy.de
  • seed.bitcoin.wiz.biz

I performed nslookups on these DNS names and they return a list of IP addresses that all seemed to be running bitcoin nodes.

There is also the concept of seed nodes which are hardcoded IP addresses in the event that someone is experiencing a DNS failure or other issue. These nodes are only contacted if no other discovery mechanism works.

You can also use -seednode option to connect to a node (IP address) to retrieve peer addresses, then disconnect.

mnemonic seed – Python 3: How to process each line in text file and print results

I have this code (link)(1)
I have modified the code to read phrase from text file, but I am only able to process the last line of text file. How can I process each line in input.txt text file.

from cryptotools.BTC.HD import check, WORDS

with open("combo.txt", "r") as a_file:
  for line in a_file:

    stripped_line = line.strip()    

    
for word in WORDS:        
    mnemonic = stripped_line.format(x=word)
    if check(mnemonic):
        print(mnemonic)
        
with open("print.txt", "a") as i:
            i.write(mnemonic)

meat wrestle venue {x} act ostrich noise suggest happy violin nature ginger

riot execute army {x} wood journey harbor vessel critic human slim primary

easy famous update {x} magnet secret speak grab skirt tribe mushroom wrestle

Why is the seed not at the top of the file and clearly identified when dumping a wallet in bitcoin core?

When I dump my wallet in bitcoin core:

bitcoin-cli dumpwallet mywallet.txt

The output looks like this, obfuscating keys with XXX

# Wallet dump created by Bitcoin v0.21.0
# * Created on 2021-08-12T17:19:57Z
# * Best block at time of backup was 695445 (00000000000000000004f27a30ca376652c836a0c498d1c93ced4727e94074d0),
#   mined on 2021-08-12T17:15:35Z

# extended private masterkey: xprv9XXXXX

XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qq9XXX hdkeypath=m/0'/0'/50'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qq9XXX hdkeypath=m/0'/0'/200'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qqfXXX hdkeypath=m/0'/0'/238'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qq0XXX hdkeypath=m/0'/0'/134'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qq0XXX hdkeypath=m/0'/0'/174'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qqjXXX hdkeypath=m/0'/0'/58'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qq5XXX hdkeypath=m/0'/0'/159'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qqkXXX hdkeypath=m/0'/0'/153'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qqhXXX hdkeypath=m/0'/0'/62'
XXX 2021-08-12T12:29:33Z hdseed=1 # addr=bc1qqaXXX
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qq7XXX hdkeypath=m/0'/0'/127'
XXX 2021-08-12T12:29:33Z reserve=1 # addr=bc1qqlXXX hdkeypath=m/0'/0'/205'

As a new user, I would think that based on the structure of this file the important part to backup is # extended private masterkey: xprv9XXXXX

However, this is not the case according to this answer for storing the seed, the important part is the seed:

XXX 2021-08-12T12:29:33Z hdseed=1 # addr=bc1qqaXXX

The XXX portion from above.

Why is that not made clearer in the output of dumpwallet?