How to properly handle new HD wallets

6 replies 328 views
bear2009Member
Posts: 4 · Reputation: 117
#1Jun 16, 2021, 11:31 PM
I totally think HD wallets are a step up, especially since you can create addresses just with a public key. They fix some annoying issues I've had. But honestly, I've gotten pretty used to the old-school "legacy wallets". Backing those up was simple: just keep your private key safe and offline, and you know your Bitcoin is secure no matter what happens with file formats or data corruption. So how do I get that same feeling of security with an HD wallet? It feels a lot more complicated now. I can back up the data, sure, but I want something more reliable like a text-based backup. Formats can change, right? Like, what if in 30 years I’m stuck with just that Berkeley DB 4.8 binary wallet file? Finding a system that could even read that would be nearly impossible, not to mention a Bitcoin wallet that could work with it. Is the `listdescriptors true` command what I'm looking for?
2 Reply Quote Share
sam_walletFull Member
Posts: 104 · Reputation: 365
#2Jun 17, 2021, 01:07 AM
Addresses generated like these are watching only. With a seedphrase you can have the exact same text based backup with your HD wallets. The seedphrase represents your master public key and accesses all other private and public keys under it. You do not have any compromise with n security.
5 Reply Quote Share
SwiftMinerSenior Member
Posts: 259 · Reputation: 1036
#3Jun 17, 2021, 05:13 AM
Upgrade00 gave most of the gist already. The fact is most of these wallet softwares are backwards compatible meaning even if you make use of an old legacy address seed, you will still get a valid checksum as long as the word combination is correct. people these days switch to the latest SEGWIT and HD wallets because of it's efficiency and an security compared to the old legacy address. One of the biggest plus when you make use of the HD wallet is that you actually get to make more private transactions because of the way the wallet tends to consolidate and move coins around change addresses so its difficult to track both your transactions and your total balance. Also, the BIP39 seed is capable of hashing private keys and public keys for a legacy address too under the HD wallet.
0 Reply Quote Share
just_wizardFull Member
Posts: 85 · Reputation: 583
#4Jun 17, 2021, 08:49 AM
^^ OP is most likely using bitcoin core which doesn’t support seed phrases. And by legacy wallet, I believe he is referring to the wallets core used to create before the introduction of hd wallets and not referring to address types (legacy/segwit). Back then bitcoin core (bitcoin-Qt to be more precise) used to generate a set of new random private keys each time you run out of addresses. So, you had to regularly back up your wallet. OP, although it’s highly recommended to backup your wallet file, you can also back up the extended private key by writing it down on a piece of paper. All the addresses on your hd wallet are derived from it.
3 Reply Quote Share
matrix365Senior Member
Posts: 184 · Reputation: 1104
#5Jun 18, 2021, 03:05 PM
HD wallets are good wallets to use for storing your bitcoin and broadcast your transaction without leaking private keys online but to use it well and safely, you must start with good practice of purchasing your HD wallets and backups. There are close source and open source HD wallets, and you must choose open source HD wallets. [LIST] Open Source Hardware Wallets [GUIDE] How to buy a Hardware Wallet the right way How to back up a seed phrase?
4 Reply Quote Share
humbleledgerLegendary
Posts: 1027 · Reputation: 6554
#6Jun 19, 2021, 04:17 PM
HD stands for "Hierarchical Deterministic": it's a wallet that derives all new addresses from one "seed". It doesn't have to be a hardware wallet. You could keep a copy of the software (Bitcoin Core, I assume) with your backup. But I get your feeling of being uncomfortable with a modern wallet, and for the same reason I haven't switched to a descriptor wallet yet. It feels much more like a black box to me than simple old-fashioned private keys. Just a thought: you don't have to switch to a new format. If you like your current legacy wallet with legacy addresses, just keep them. Or only move small amounts to a new wallet for daily expenses. When it comes to 12 or 24 word seed phrases, I like to verify if I can use the Mnemonic Code Converter (offline of course, on a system running from RAM that gets wiped right after) if I can "manually" reproduce the same addresses. So far, it worked, and it gives me peace of mind. But I don't think that's possible if you use Bitcoin Core's HD wallet.
1 Reply Quote Share
0xMaxiFull Member
Posts: 87 · Reputation: 378
#7Jun 19, 2021, 06:25 PM
Yes, that's exactly what you're looking for. This describes your HD Wallet mathematical complete. Even if your backup of wallet.dat is lost, you can use this output to restore your wallet. It contains the xprv key from which all key material can be derived. If you use listdescriptors (without true), you will get the descriptors with the corresponding xpub keys. You can use this to set up a watch-only wallet on an online system. I had exactly the same problem/questions as you. This is how I proceeded: First I wrote `listdescriptors true` in a file on my offline system. Then I wrote down the xprv key manually. Then I removed the xprv key in the file from all descriptors and replaced it with a string, for example: '__XPRV-KEY-HERE__'I then saved the file with the descriptors (without xprv key) electronically and also printed it out. Finally (for testing only), I took a completely new offline system and merged the descriptor file and the xprv key again. I imported the result into the core client and used it to sign a test transaction. The encoded xprv key is about twice as long as the old legacy keys. But you have stored all the private keys of your wallet with it.  This is not a complete description of what to do. But I hope this gives you an idea of how you can proceed for your purposes.
6 Reply Quote Share

Related topics