Pages:
Author

Topic: Seed Phrases and Private Keys (Read 308 times)

sr. member
Activity: 1526
Merit: 255
May 12, 2022, 04:31:38 AM
#35
Seed Phrases and Private Keys is the most important thing to control our assets, many things are unexpected if we only save bitcoin in wallet without a private key, a few years ago I kept Bitcoin in Xapo, but a few months ago when I know bitcoin price increase and try to login to Xapo account then they block and will close the service, I am given time to withdraw bitcoin if not it will be charged every month but funny things are my account is blocked.
hero member
Activity: 2338
Merit: 757
May 11, 2022, 03:00:31 PM
#34
Everything is working great, my last question would be how would I do this without ever connecting to the internet?  Since to use core you have to sync up
If i am not wrong, you need internet connection to synchronize with the blockchain then you continue using core offline. I can't tell if the methods mentioned above (suitable to your needs) can be done offline (except for entering a full path).
This also brigns the question of whether this is possible using other wallets or not. I mean other decentralized clients.
legendary
Activity: 2268
Merit: 18748
May 11, 2022, 02:20:31 PM
#33
Since to use core you have to sync up
You have to let it sync if you plan to use it as a node, but it is entirely possible to use only the wallet functionality of Bitcoin Core without an internet connection.

Simply take the Bitcoin Core binary to match your OS over to your offline computer by USB drive after you have verified it and install. It will never connect to any peers and it will never sync, but it will still let you create a wallet the usual way. From that wallet you can export the addresses and then taken them over to your online device to create a watch only wallet using importaddress. On your watch only wallet you can create a transaction, hit the "Create Unsigned" button, and save the .psbt file it generates. Then move that .psbt file over to your offline wallet, load the .psbt, sign it, save the signed transaction, move it back to your online computer, load it, and broadcast it.
newbie
Activity: 14
Merit: 5
May 11, 2022, 11:27:35 AM
#32
Everything is working great, my last question would be how would I do this without ever connecting to the internet?  Since to use core you have to sync up
newbie
Activity: 14
Merit: 5
May 05, 2022, 10:50:38 AM
#31
By the way the reason I thought the error was with the walletpassphrase step is because there was no 60 second delay, it was almost instant that it returned null.
Again, that's expected. The 60 seconds are until Core enables the encryption again, not the delay until it decrypts it in the first place.

I tried a desktop filepath this time and still got code -8, although this time it took longer before I got the error message.
Sorry, I forgot the quotation marks. Try:

Code:
dumpwallet "C:\users\me\desktop\file"

Also make sure that Bitcoin Core has write permissions to wherever you are trying to write to.


Thank you so so much for your patience and help, the quotes worked and I have a master key for this test run!
legendary
Activity: 2268
Merit: 18748
May 05, 2022, 07:38:14 AM
#30
By the way the reason I thought the error was with the walletpassphrase step is because there was no 60 second delay, it was almost instant that it returned null.
Again, that's expected. The 60 seconds are until Core enables the encryption again, not the delay until it decrypts it in the first place.

I tried a desktop filepath this time and still got code -8, although this time it took longer before I got the error message.
Sorry, I forgot the quotation marks. Try:

Code:
dumpwallet "C:\users\me\desktop\file"

Also make sure that Bitcoin Core has write permissions to wherever you are trying to write to.
newbie
Activity: 14
Merit: 5
May 05, 2022, 07:12:35 AM
#29
Did you try entering a full path? So on Windows, you would enter something like:

Code:
dumpwallet C:\users\me\desktop\file

For Linux, something like:

Code:
dumpwallet /home/user/file

Sorry, win 10 64 bit and yeh I did try doing that.  By the way the reason I thought the error was with the walletpassphrase step is because there was no 60 second delay, it was almost instant that it returned null.  I tried a desktop filepath this time and still got code -8, although this time it took longer before I got the error message. 
legendary
Activity: 3248
Merit: 1402
Join the world-leading crypto sportsbook NOW!
May 05, 2022, 06:50:35 AM
#28
The technical side was already covered in the thread, but I want to say that it's quite a peculiar way to store the keys, op. Are you sure engraving it on metal is a good idea? My first question is very simple: are you good at engraving and going to do it yourself? Because otherwise it seems like a very bad idea because you'll need to give somebody that string of symbols, so that they can engrave it, effectively sharing what you should never share. This is a huge risk to anything in the wallet, IMO. If you're doing it yourself, it's probably okay, but what if you lose that single plate of metal? What if it gets rusty? What if it attracts someone's attention at your home?
legendary
Activity: 2268
Merit: 18748
May 05, 2022, 06:42:45 AM
#27
Did you try entering a full path? So on Windows, you would enter something like:

Code:
dumpwallet C:\users\me\desktop\file

For Linux, something like:

Code:
dumpwallet /home/user/file
newbie
Activity: 14
Merit: 5
May 05, 2022, 05:57:45 AM
#26
Thank you for everything! I tried a couple times but the walletpassphrase (password) 60 command gives me the following:
This is the correct response. If you had entered the wrong passphrase then it would return an error saying so. Are you getting an error trying to use the dumpwallet command? Maybe try entering a full path for your file.

What OS are you running, and what version of Core?

getnetworkinfo                returns
"version": 220000
  "subversion": "/Satoshi:22.0.0/",
  "protocolversion": 70016,

dumpwallet NAME           returns

Cannot open wallet dump file (code -8)
legendary
Activity: 2268
Merit: 18748
May 05, 2022, 05:51:56 AM
#25
Thank you for everything! I tried a couple times but the walletpassphrase (password) 60 command gives me the following:
This is the correct response. If you had entered the wrong passphrase then it would return an error saying so. Are you getting an error trying to use the dumpwallet command? Maybe try entering a full path for your file.

What OS are you running, and what version of Core?
newbie
Activity: 14
Merit: 5
May 05, 2022, 05:41:46 AM
#24
Hopefully getting the master private key dumped from the wallet is simple enough.
Using the GUI:
  • Open Core
  • Click File -> Create Wallet
  • Pick a name and check "Encrypt Wallet"
  • On the next screen, enter an encryption passphrase
  • Create the wallet
  • Click Window -> Console
  • Select the wallet you just created from the drop down list
  • Enter walletpassphrase YOURPASSPHRASE 60 (this will decrypt your wallet for 1 minute)
  • Enter dumpwallet NAME (this will create a file named NAME in your bitcoin directory)
  • Navigate to that file and open it with a text editor, and your master private key will be displayed at the top
  • Delete this file once you have your master private key

I'll need to be connected to the internet then to get it right, is that a drawback?
You can do all the above while offline, and indeed, should do it while offline for additional security. Even better if you can do it all on a computer which is permanently airgapped and has never and will never go online.

Or would I have to connect to the internet at some point regardless with other methods as well?
Unless you are planning to use a permanently airgapped set up, then at some point your master private key will be stored in a wallet which is exposed to the internet.


Thank you for everything! I tried a couple times but the walletpassphrase (password) 60 command gives me the following:
04:40:31

Executing command using "1" wallet


04:40:31

walletpassphrase(…)


04:40:31

null

After which I'm unable to do the other steps successfully.

legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
May 05, 2022, 05:35:24 AM
#23
Hopefully getting the master private key dumped from the wallet is simple enough.
Keep in mind that:
While this may "backup" your Bitcoin Core HD wallet, you will not be able to restore it to Bitcoin Core. Currently, xprvs cannot be imported into Bitcoin Core. Furthermore, Bitcoin Core does not use the standard BIP 44/49/84 derivation paths so you will need to find a wallet that lets you enter a custom derivation path. And that wallet needs to let you also use hardened derivation for the addresses themselves.

I would not recommend anyone use this method of backing up your Bitcoin Core wallet.
legendary
Activity: 2268
Merit: 18748
May 05, 2022, 05:24:03 AM
#22
Hopefully getting the master private key dumped from the wallet is simple enough.
Using the GUI:
  • Open Core
  • Click File -> Create Wallet
  • Pick a name and check "Encrypt Wallet"
  • On the next screen, enter an encryption passphrase
  • Create the wallet
  • Click Window -> Console
  • Select the wallet you just created from the drop down list
  • Enter walletpassphrase YOURPASSPHRASE 60 (this will decrypt your wallet for 1 minute)
  • Enter dumpwallet NAME (this will create a file named NAME in your bitcoin directory)
  • Navigate to that file and open it with a text editor, and your master private key will be displayed at the top
  • Delete this file once you have your master private key

I'll need to be connected to the internet then to get it right, is that a drawback?
You can do all the above while offline, and indeed, should do it while offline for additional security. Even better if you can do it all on a computer which is permanently airgapped and has never and will never go online.

Or would I have to connect to the internet at some point regardless with other methods as well?
Unless you are planning to use a permanently airgapped set up, then at some point your master private key will be stored in a wallet which is exposed to the internet.
legendary
Activity: 2702
Merit: 4002
May 05, 2022, 05:20:24 AM
#21
 Can I bypass using them in the first place and go straight to the master private key?  That's what I really want to do.

What you're trying to say is like who wants a tree but doesn't want to plant a seed, Master Private Key is a 256-bit key generated from a seed phrase so you need to generate the seed first and if you think it's not safe then the following construct is considered unsafe.


Source ---> https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch04.html


If you don't want to generate multiple addresses, why not print one address with a private key on a piece of paper >> paper wallet --> https://www.bitaddress.org/
newbie
Activity: 14
Merit: 5
May 05, 2022, 05:08:25 AM
#20
I will try to use bitcoin core as you suggested, hopefully it's not too difficult.
Bitcoin Core doesn't use seed phrases at all. It will generate a hierarchical deterministic wallet directly from a master private key.

When you run Bitcoin Core for the first time, it will starting downloading the entire blockchain, which is ~400 GB. If you have the bandwidth and storage for this, then you can let it do so which will allow you to run your own node and use Bitcoin Core as a functioning wallet. If you don't want to do this, then you can simply use Bitcoin Core to create a wallet and dump the master private key, and then take that master private key over to a light wallet such as Electrum.

Also make sure you verify all the software you are downloading (Core +/- Electrum) against the developers' PGP keys so you can be sure you are running the official version and not malware.

I really appreciate it, I'm actually already 99.1% synced, just catching up fully right now to 100 on core.  Right now I'm just doing a test but in the future I'll follow all the precautions and make a new one.  Hopefully getting the master private key dumped from the wallet is simple enough.  I'll need to be connected to the internet then to get it right, is that a drawback?  Or would I have to connect to the internet at some point regardless with other methods as well?
legendary
Activity: 2268
Merit: 18748
May 05, 2022, 04:58:14 AM
#19
I will try to use bitcoin core as you suggested, hopefully it's not too difficult.
Bitcoin Core doesn't use seed phrases at all. It will generate a hierarchical deterministic wallet directly from a master private key.

When you run Bitcoin Core for the first time, it will starting downloading the entire blockchain, which is ~400 GB. If you have the bandwidth and storage for this, then you can let it do so which will allow you to run your own node and use Bitcoin Core as a functioning wallet. If you don't want to do this, then you can simply use Bitcoin Core to create a wallet and dump the master private key, and then take that master private key over to a light wallet. You can't import it directly in to Electrum though since the derivation paths won't match.

Also make sure you verify all the software you are downloading (Core +/- Electrum) against the developers' PGP keys so you can be sure you are running the official version and not malware.
newbie
Activity: 14
Merit: 5
May 05, 2022, 04:46:33 AM
#18
So far it looks like the only way I can do this is to use seed words first and then discard them? Can I bypass using them in the first place and go straight to the master private key?
If you want a single private key for a single address, then no, you can just generate (almost) any random 256 bit number and use that as a private key. If you want a master private key to generate an entire wallet, then you need both the 256 bit private key and a 256 bit master chain code. You don't have to generate a seed phrase first by any means, but most wallets do, and since you are a newbie I really wouldn't recommend trying to code your own system to generate master private keys as you will almost certainly end up with either a critical flaw or a critical vulnerability. If you really want a master private key without a seed phrase, then use Bitcoin Core.

since seed words really just generate the master key with an easier to remember string of words, but I plan on remembering the 256 numbers instead.
I can stress enough just how ill-advised it would be to rely on your memory of a 256 bit number to back up your wallet. You will lose your coins doing this.
[/quote]

Thanks, I don't plan on storing very much on there but I want to make sure it's possible.  I will try to use bitcoin core as you suggested, hopefully it's not too difficult.   So far I haven't found a single wallet where you can bypass generating a seed phrase. 
legendary
Activity: 2268
Merit: 18748
May 05, 2022, 04:23:49 AM
#17
All the resources I follow suggest the seed phrase or mnemonics be used to create the back up for your address rather than the private keys, so would it be commendable to use the private keys instead or is it a way to protest against the status quo?
Seed phrases are used to back up everything, including all your private keys, public keys, and addresses.

If I'm not mistaken the password will remain in the console history and you can see it by scrolling up with the arrow key .
If you use wallet.keystore.get_master_private_key('yourpassword'), then yes, 'yourpassword' is stored in the console history. But if you use getmasterprivate() as I suggested, then you get a pop up box to enter your password in and it therefore isn't stored.

So far it looks like the only way I can do this is to use seed words first and then discard them? Can I bypass using them in the first place and go straight to the master private key?
If you want a single private key for a single address, then no, you can just generate (almost) any random 256 bit number and use that as a private key. If you want a master private key to generate an entire wallet, then you need both the 256 bit private key and a 256 bit master chain code. You don't have to generate a seed phrase first by any means, but most wallets do, and since you are a newbie I really wouldn't recommend trying to code your own system to generate master private keys as you will almost certainly end up with either a critical flaw or a critical vulnerability. If you really want a master private key without a seed phrase, then use Bitcoin Core.

since seed words really just generate the master key with an easier to remember string of words, but I plan on remembering the 256 numbers instead.
I can stress enough just how ill-advised it would be to rely on your memory of a 256 bit number to back up your wallet. You will lose your coins doing this.
newbie
Activity: 14
Merit: 5
May 05, 2022, 04:11:16 AM
#16
Thank for the responses, and sorry for my stubbornness, I'm trying to learn more about bitcoin by doing lots of different methods to see what is possible.  So far it looks like the only way I can do this is to use seed words first and then discard them?  Can I bypass using them in the first place and go straight to the master private key?  That's what I really want to do.   I don't have to use electrum, I'm open to any method that lets me totally bypass seed words, since seed words really just generate the master key with an easier to remember string of words, but I plan on remembering the 256 numbers instead.  

As for the people who say it's not as secure, that's assuming human error, if I remember or record all 256 digits correctly, my understanding is that the security is just as good.  

If it's at all relevant my plan for storing bitcoin on it is either generate bitcoin directly from mining or buy it from someone for cash.   I am also willing to pay for someone knowledgeable with a large post history to walk me through the process on discord voice call, so I can learn more about the whole process.
Pages:
Jump to: