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.
legendary
Activity: 2240
Merit: 3150
₿uy / $ell ..oeleo ;(
May 05, 2022, 04:10:15 AM
#15
In Electrum you can export the master key easy, but you have to disable the password first (for security reasons).
A better way is to go to the console and enter getmasterprivate(). It will prompt you for your password, and then after you enter it, display your master private key.

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 do it manually like I wrote, there will be no trace of the password.  Smiley
hero member
Activity: 644
Merit: 661
- Jay -
May 05, 2022, 04:02:53 AM
#14
but I'm not worried about that and I want to go ahead with my plan.
This is commendable and I am sure, with a similar attitude and thanks to the advice of bitcointalk forum participants, you will succeed.
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?

If you insist on using your private keys and intend to store actual funds there, I would suggest also keeping a back up of the seed phrase as a secondary means of recovering your address. I cannot see the downsides of that besides providing more security for your Bitcoins.
hero member
Activity: 1106
Merit: 912
Not Your Keys, Not Your Bitcoin
May 05, 2022, 04:02:14 AM
#13
_snip_

Using a single private key is not really safe and not good health for your privacy. How about you do it this way.

Instead of creating a seed phrase as suggested above, why don't you create a single seed ( 64 bytes) using the PBKDF2 function (Password Based Key Derivation Function 2). The advantage is that you wouldn't worry about discarding other generated private keys and addresses, You have an additional option to include a passphrase for the safety of your coins against theft of seed.
The difference between a single seed and your private keys is the byte difference, you don't have to worry about handling 12 or 24 seed words/phrase, you don't have to worry about master keys
legendary
Activity: 2268
Merit: 18748
May 05, 2022, 03:51:59 AM
#12
is with seed words, which I refuse to use.
Why? Do you believe that seed phrases have some weakness in them? I'm struggling to think of a good reason to use a seed phrase to generate a master private key, and then discard the seed phrase and back up the master private key instead.

In Electrum you can export the master key easy, but you have to disable the password first (for security reasons).
A better way is to go to the console and enter getmasterprivate(). It will prompt you for your password, and then after you enter it, display your master private key.
legendary
Activity: 1792
Merit: 1296
Crypto Casino and Sportsbook
May 05, 2022, 03:31:22 AM
#11
I want to store my bitcoin offline, and I want to engrave my 256 bit number (master private key) on metal, and not ever have to use 24 words.
If you want to engrave text on metal, I can advise you on this topic - Securing Your Seed Phrase with Washers to get acquainted with one of the options for saving text on metal. I understand that you are planning to store master key, in principle you can also do this using washers.

I know this is riskier (if I record one of the numbers wrong I couldn't recover my bitcoin),
Therefore, I can recommend that you make 2-3 copies in order to avoid mistakes and loss of access to your key.

but I'm not worried about that and I want to go ahead with my plan.
This is commendable and I am sure, with a similar attitude and thanks to the advice of bitcointalk forum participants, you will succeed.
legendary
Activity: 2730
Merit: 7065
May 05, 2022, 03:16:52 AM
#10
Pay attention to how you create your wallet and the seed in Electrum. Because you have to generate a 12-word seed first, and after that you can export your master private key as witcher_sense explained. If you are doing that on a computer connected to the Internet and a device that has been online before the wallet creation and will go online again afterwards, you can't consider that as a wallet created in an offline environment. Your PC should be permanently airgapped during the wallet creation process (preferably using an open-source OS) and stay that way after it's done. 
full member
Activity: 1064
Merit: 112
May 05, 2022, 02:49:42 AM
#9
I want to store my bitcoin offline, and I want to engrave my 256 bit number (master private key) on metal, and not ever have to use 24 words. I know this is riskier (if I record one of the numbers wrong I couldn't recover my bitcoin), but I'm not worried about that and I want to go ahead with my plan.  How do I do this? I tried electrum but it looks like the only way I can use electrum is with seed words, which I refuse to use.  Any help or pointing in the right direction would be greatly appreciated,  I've been trying to figure this out for a long time.  
actually as long as you're using a safe wallet to store your crypto there's no problem with it, the most important is the keys so always make sure that you have all the correct letters on your phrases. Read it many times if you want to print it or engrave on metal and of course try it first if its correct to assure everything will gonna be alright.
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
May 05, 2022, 02:40:52 AM
#8
I want to create bitcoin storage that I can keep offline and remember my private master key without having to have 24 seed words.  
A master private key is a derivative of seed words, which means you need to create a wallet with these words first in order to obtain your desirable master private key. Once you have gotten your master key, you can delete seed words if you don't like them. A master private key is sufficient to recreate your wallet, so technically you don't need any words.

Create new wallet => Standard Wallet => Create a new seed => get your master key

newbie
Activity: 14
Merit: 5
May 05, 2022, 02:30:45 AM
#7
I want to create bitcoin storage that I can keep offline and remember my private master key without having to have 24 seed words.  
legendary
Activity: 2240
Merit: 3150
₿uy / $ell ..oeleo ;(
May 05, 2022, 02:25:54 AM
#6
Let's see what you are really after. I'll try to put it simple.

Private key is a key that gives you access to a single address, I guess that's what you are after.

Master key is created of generating a linked sequence of keys using the the hash of the previous private key. So if you want to recover the whole sequence of keys, you need only the fist one - the Master key.

newbie
Activity: 14
Merit: 5
May 05, 2022, 02:14:57 AM
#5
Apologies for my ignorance, but I don't have a master key or anything to import or export, I'm stuck on the "create keystore from a master key page" and it says please enter your master public key, (xpub/ypub/zpub), and  I don't have any of these. 
legendary
Activity: 2240
Merit: 3150
₿uy / $ell ..oeleo ;(
May 05, 2022, 02:12:23 AM
#4
In Electrum you can export the master key easy, but you have to disable the password first (for security reasons).

Go to wallet > Password, then type your "old" password and leave "new password" fields empty.

Then go to the View menu, open the console, in the console you write this one >

Code:
wallet.keystore.xprv

then your master key will show.

Now you can go back and set a password again.

Let me know if you need any Screenshots to help you Smiley
newbie
Activity: 14
Merit: 5
May 05, 2022, 02:08:39 AM
#3
Thank you, what do I type in the dialog box to create my master private key? 
legendary
Activity: 2450
Merit: 4415
🔐BitcoinMessage.Tools🔑
May 05, 2022, 02:03:57 AM
#2
I tried electrum but it looks like the only way I can use electrum is with seed words, which I refuse to use.
Create new wallet => Standard Wallet => Use a master key=> paste your xprv or zprv
newbie
Activity: 14
Merit: 5
May 05, 2022, 01:44:42 AM
#1
I want to store my bitcoin offline, and I want to engrave my 256 bit number (master private key) on metal, and not ever have to use 24 words. I know this is riskier (if I record one of the numbers wrong I couldn't recover my bitcoin), but I'm not worried about that and I want to go ahead with my plan.  How do I do this? I tried electrum but it looks like the only way I can use electrum is with seed words, which I refuse to use.  Any help or pointing in the right direction would be greatly appreciated,  I've been trying to figure this out for a long time.  
Jump to: