Author

Topic: Should i Know What My Private Key Address Is? (Read 690 times)

legendary
Activity: 4522
Merit: 3426
So much misunderstanding and poor advice in this thread.

Thanks for correcting me on the need to encrypt, then back up. I didn't know the keys were tossed (making the backup useless).

I'm going to summarize your wall of information, and add some more.

1. Create the wallet, then encrypt it, then back it up, and then finally load it with bitcoins.

2. Bitcoin addresses are not like account numbers. They are more like payment codes because you can send to an address but you cannot send from an address. As you make transactions, bitcoin-qt moves bitcoins to other hidden addresses. The wallet keeps track of those addresses for you.

3. Use the wallet's back up feature. Playing with the wallet.dat file directly can lead to lost bitcoins.

4. As long as you back up your wallet, you don't need to know or track your private keys (because that's what the back up does).

legendary
Activity: 3472
Merit: 4801
So much misunderstanding and poor advice in this thread.

It is very important to back up your wallet and encrypt it as soon as you create it -- even before it has any bitcoins.

It is very important that you do it the other way around (encrypt it as soon as you create it, then backup your wallet).  If you back it up before you encrypt it, then the backup will only be useful until you create your first transaction or create a new receiving address.


Also, if you are using bitcoin-qt, it is important to note that you have 100 addresses, and not just 1.

More specifically, Bitcoin-Qt pre-generates the next 100 addresses that it will use.  This is so that your backup will be able to access bitcoins from transactions that occur after you perform the backup, otherwise you'd have to immediately backup after every transaction and hope that your computer didn't crash before the backup was completed.  The reason I recommended that you encrypt first, then perform your first backup is that when you encrypt your wallet Bitcoin-Qt discards all 100 pre-generated addresses and creates 100 brand new encrypted ones.  If you backed up your wallet before encrypting, then the backup no longer has the correct addresses in it to protect you when the next address is used.


If you are using bitcoin-qt

You just need to backup wallet.dat somewhere which you can find in this directory.
C:\Users\*user's name*\AppData\Roaming\Bitcoin

Or, you could just use the "Backup Wallet" option in the "File" menu.


and please make sure you save backup on a safe place,if someone got access to your wallet.dat he can steal your bitcoins, if wallet is not encrypted.

Finally, some good advice.


By 100 addresses do you mean 100 private keys?  100 public addresses?

Every address has its own private key, so if you have 100 addresses, then you have 100 private keys as well.  If you have 100 private keys, then you have 100 addresses as well.

Why would i have 100 private keys?  Is the private key like my bank accout number?  Why would i need 100 bank account numbers?  YES, i'm lost.

Private keys (and addresses) are not like a bank account number.  They have some similarities to bank account numbers in that they provide a unique identifier that can be used to receive a payment, but if you think of it as an account number you are going to confuse yourself when you go to send bitcoins somewhere.  Bitcoin addresses have a bit in common with an invoice number.  They provide a label that you can give someone so that when a payment is received you can associate that payment with a person/purpose.  Once received all the bitcoins being tracked by the wallet are treated as fungible.  They are not segregated into individual accounts.  When you create a transaction, Bitcoin-Qt will spend bitcoins that were received at various addresses.  It doesn't provide you a way to select an address to send from.

So to answer the question of why you'd need multiple addresses, you can increase your anonymity and security by using a new address for every transaction.  You can also then use the address to determine who paid you, when, and for what.

I answered the question of why the wallet pre-generates these addresses earlier when discussing the importance of backing up the wallet and the fact that a backup that contains the next 100 addresses that you'll use will protect you from a crash that occurs after you send/receive transactions and before your next backup.

No you don't need 100 address and

Every time you create a transaction, your wallet will gather up some of the previously received transactions to supply the value you are attempting to send.  Due to the way the bitcoin protocol works, each previously received transaction must either be spent completely, or not at all.  You can't partially spend a previously received transaction.  So if start with a brand new wallet and receive 2 transactions, one for 3 bitcoins and one for 4 bitcoins, then your wallet will display a balance of 7 bitcoins, but it will keep track internally of each of those two transaction separately.  If you then want to send 5 bitcoins, the wallet will have to spend both the 3 bitcoin transaction AND the 4 bitcoin transaction to provide the value needed to fund the transaction.  This leaves 2 bitcoins left over in the transaction.  If you don't do something with this extra 2 bitcoins, then the miner that first confirms your transaction gets to keep it as a transaction fee.  If you don't want to pay a 2 bitcoin transaction fee, then your transaction has to send this extra 2 bitcoins somewhere.  The Bitcoin-Qt wallet handles this by getting a new address that it doesn't tell you about, keeping track o this address in the wallet.dat file for you and sending the 2 bitcoins back to this new address as "change" (think of it like paying a $5 expense with a $3 bill and a $4 bill, you receive a $2 bill as "change").  This means EVERY TIME you create a transaction with Bitcoin-Qt it uses another address.  If you don't have this "change" address in your wallet.dat file, then you lose these bitcoins.  The pre-generation of 100 addresses protects you from this loss as long as you backup on a regular basis (before your wallet has used 100 addresses).


Your wallet.dat is like your bank account
Your public key is like your bank account number
Your private key is like your bank accounts password.

While the analogy can be helpful, remember that the wallet and addresses don't work the way a bank account does.  If you rely on this analogy to much, you will become confused about some of the things the wallet does.


Definitely keep the private key handy.  You can print it out effectively making a paper wallet.
I would print out all the private / public key pairs and keep it as a paper backup in a secured location

if not, at least make a soft copy of all the key pairs (as a text file), encrypt it and store it elsewhere (cloud storage, perhaps)

Bitcoin-Qt doesn't provide a user-friendly way to determine your private keys.  As long as you have a good recent backup of the wallet.dat file, you'll be ok.  Since Bitcoin-Qt uses additional addresses every time you create a transaction, you'd have to find the address that it used, and then find the private key of that address every time.  If you want to keep all the private keys written down, it is possible but it will be inconvenient.


newbie
Activity: 55
Merit: 0
I would print out all the private / public key pairs and keep it as a paper backup in a secured location

if not, at least make a soft copy of all the key pairs (as a text file), encrypt it and store it elsewhere (cloud storage, perhaps)
newbie
Activity: 14
Merit: 0
In case my computer crashes?  Or should i just make a backup of my Bitcoin QT client?
Definitely keep the private key handy.  You can print it out effectively making a paper wallet.
full member
Activity: 137
Merit: 100

Quote
Your wallet.dat is like your bank account
Your public key is like your bank account number
Your private key is like your bank accounts password.

Thx, that clears it up.  
legendary
Activity: 1274
Merit: 1004
In case my computer crashes?  Or should i just make a backup of my Bitcoin QT client?
Also, if you are using bitcoin-qt, it is important to note that you have 100 addresses, and not just 1.


By 100 addresses do you mean 100 private keys?  100 public addresses?  Why would i have 100 private keys?  Is the private key like my bank accout number?  Why would i need 100 bank account numbers?  YES, i'm lost.

No you don't need 100 address and

Your wallet.dat is like your bank account
Your public key is like your bank account number
Your private key is like your bank accounts password.
full member
Activity: 137
Merit: 100
In case my computer crashes?  Or should i just make a backup of my Bitcoin QT client?
Also, if you are using bitcoin-qt, it is important to note that you have 100 addresses, and not just 1.


By 100 addresses do you mean 100 private keys?  100 public addresses?  Why would i have 100 private keys?  Is the private key like my bank accout number?  Why would i need 100 bank account numbers?  YES, i'm lost.
legendary
Activity: 1274
Merit: 1004
If you are using bitcoin-qt

You just need to backup wallet.dat somewhere which you can find in this directory.
C:\Users\*user's name*\AppData\Roaming\Bitcoin

If you have encrypted your wallet, make sure to remember password or save it offline in some diary etc.


If you are using electrum,

you need to remember pass phrase and backup your wallet.
C:\Users\*user's name*\AppData\Roaming\Electrum\electrum.dat


and please make sure you save backup on a safe place,if someone got access to your wallet.dat he can steal your bitcoins, if wallet is not encrypted.
legendary
Activity: 4522
Merit: 3426
In case my computer crashes?  Or should i just make a backup of my Bitcoin QT client?

It is very important to back up your wallet and encrypt it as soon as you create it -- even before it has any bitcoins.

Also, if you are using bitcoin-qt, it is important to note that you have 100 addresses, and not just 1.
full member
Activity: 137
Merit: 100
In case my computer crashes?  Or should i just make a backup of my Bitcoin QT client?
Jump to: