Bitcoin Forum
May 21, 2024, 10:14:05 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: My beginner questions about wallets  (Read 605 times)
mr_random (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1001


View Profile
March 06, 2013, 06:38:39 PM
 #1

I am trying to understand Bitcoin QT. Sorry for the questions.

1. If I create two new addresses, then encrypt my wallet and then create a third new address after the encryption process, are all three new addresses encrypted and safe to use?

2. If I then copy the wallet.dat file to usb sticks and delete the wallet.dat file on my laptop, are the funds on the usb stick still accessible? On all three addresses?

3. Can I then continue sending money to these addresses? Even thought the wallet isn't connected to the internet?

4. Imagine I have a copy of the wallet.dat file on a usb stick. If I generate a 4th address on my laptop, and then destroy the laptops wallet.dat file, will funds I send to the 4th address still go into the wallet.dat copy  on the usb stick which was made before I created the 4th address?

5. If I can see coins transfered to my wallet and confirmed, should I bother setting up a second wallet on my other computer and doing a test transaction with my new funds? Or can I safely assume the coins are ok?

6. Is there a gauranteed fail safe way to check the balance in an address without hooking up the wallet.dat file to my client? I want to keep my wallet.dat file offline.

7. Are the answers to the above the same for Litecoin QT?

Thanks so much for any guidance  Cheesy
mr_random (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1001


View Profile
March 06, 2013, 08:16:08 PM
 #2

Please help.
gendal
Member
**
Offline Offline

Activity: 74
Merit: 14


View Profile
March 06, 2013, 09:32:39 PM
 #3

Interesting opportunity to test whether the reading I've done so far is accurate.... (remember I'm new to this)

1.   I assume so.  But I thought best practice was to encrypt from day one?   So why not create a brand new wallet, encrypt and then send everything to that so you have a secure baseline?

2.  The "funds" aren't on the stick.  Your private key is on the stick.  That's the super-secret code that allows you to sign any future transactions that send coins from one of the addresses you own.... it's only when you make such a transaction that you need access to your wallet as that's where the key happens to be stored.  There's no concept of the wallet "being online"... just a concept of using your key to sign transactions.   

3.  Of course... the wallet is just the store of the secret that allows you to sign transactions that *spend* coins you own... the record of which addresses have received how many coins is held in the public, global block chain.

4.  My understanding is that the QT client implementation is based on the idea of preallocating a number of addresses so provided you don't create so many that you exhaust the pool that is shared by each wallet then I would assume you'd be OK...  but I'm not sure I'd want to rely on this...!

5.   See this where?  There is no concept of transferring coins to your wallet... just transactions that send coins to addresses that you own.... the  key concept is that it's the private key in your wallet that allows you to sign future transactions that send those coins from your address(es) to other addresses.

6.  BlockChain.info? 

7.  Dunno.


Like I say, I'm new to this but thought this was a good opportunity to test my understanding....
pennywise
Member
**
Offline Offline

Activity: 73
Merit: 10



View Profile
March 06, 2013, 09:34:10 PM
 #4

6. Is there a gauranteed fail safe way to check the balance in an address without hooking up the wallet.dat file to my client? I want to keep my wallet.dat file offline.

Hi. Yes, there is a simple way to determine status of your account. Take the number of your account and put it in search field on blockchain.info: https://blockchain.info/

You should than be able to see status of your account, or more precisely, funds on it.

We went through a period where it was briefly tough and now there are 1400 new billionaires in the world - maybe some capital was misallocated... --Kyle Bass
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4653



View Profile
March 07, 2013, 01:29:36 AM
 #5

I am trying to understand Bitcoin QT. Sorry for the questions.

No problem. That's why this forum exists.

1. If I create two new addresses, then encrypt my wallet and then create a third new address after the encryption process, are all three new addresses encrypted and safe to use?

Encryption doesn't encrypt the addresses, it encrypts the private keys that are used to spend the transactions associated with the addresses, but yes, all three private keys are encrypted and are equally safe.

2. If I then copy the wallet.dat file to usb sticks and delete the wallet.dat file on my laptop, are the funds on the usb stick still accessible? On all three addresses?

Make sure you shut down the wallet before you copy the wallet.dat file, or you could end up with a corrupted/unusable wallet.dat file on the USB.  Assuming you've done that, then yes, the funds associated with on all three addresses are accessible using the wallet.dat from the USB.

3. Can I then continue sending money to these addresses? Even thought the wallet isn't connected to the internet?

Yes.

4. Imagine I have a copy of the wallet.dat file on a usb stick. If I generate a 4th address on my laptop, and then destroy the laptops wallet.dat file, will funds I send to the 4th address still go into the wallet.dat copy  on the usb stick which was made before I created the 4th address?

If you are using the default settings, then the answer is "it depends".  The Bitcoin-Qt wallet keeps a pool of 100 pre-generated keys/addresses.  Whenever it needs a new address it pulls from this pool.  This means that the backup of wallet.dat on the USB already includes the next 100 addresses that the wallet will use.  However, when you encrypt the wallet (or change the encryption password) Bitcoin-Qt deletes all the addresses in the pool and generates new ones.  This means that if you change the password on the PC after you already backed up the wallet to the USB and before you generated the new address, then the wallet.dat on the USB won't have it.

Also, every time you SEND a transaction from Bitcoin-Qt, it uses a new address from the pool to store the change from the transaction.  If you sent 100 transactions from the PC after you backed up the wallet.dat to the USB, and then generated the 4th address, the address would not be available with the wallet.dat on the USB.

5. If I can see coins transfered to my wallet and confirmed, should I bother setting up a second wallet on my other computer and doing a test transaction with my new funds? Or can I safely assume the coins are ok?

Be careful about running Bitcoin-Qt with the same wallet.dat from two locations.  It can create quite a mess for yourself.  You can end up with double-spend attempts that will never be confirmed, and your balance can get screwy when one wallet doesn't know about stuff the other wallet is doing.

6. Is there a gauranteed fail safe way to check the balance in an address without hooking up the wallet.dat file to my client? I want to keep my wallet.dat file offline.

If you are absolutely sure that you have the private key to the address stored somewhere, then you can look at blockchain.info or blockexplorer.com to see the balance associated with that address in the blockchain.

7. Are the answers to the above the same for Litecoin QT?

I'm a bitcoin guy. I don't know much about litecoin.  I'd expect that the answers are similar, but maybe a litecoin expert will stop by to confirm that for you.
Nicolai
Newbie
*
Offline Offline

Activity: 39
Merit: 0



View Profile
March 07, 2013, 01:34:23 AM
 #6

http://bitcoin.stackexchange.com/a/8186/2785 -.-'
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!