Pages:
Author

Topic: something i didn't realize when backing up my wallet - page 2. (Read 3043 times)

donator
Activity: 1218
Merit: 1079
Gerald Davis
When wallet creates a new key automatically, it should ask for a backup with warning and get confirmation before proceeding, this is a very silly bug in software claiming to be ver 0.8

So every transaction you mean.  You want the wallet to warn you to backup after every single send?
Why would wallet create a new key after each transaction, can't/doesn't it have a pool of keys?

It does but it doesn't allow the keypool to run out.  It adds a new key to the keypool everytime one is used.

Imagine a wallet has a keypool which contains 100 address.  We will number them 1 to 100.

So:
Active Addresses: None
Keypool: 1 ... 100

If you took a backup right now you will notice you have all the addresses backed up to #100.


You need a new address.  The wallet pulls the oldest key from the keypool "1".  It immediately add a NEW key to the keypool lets call that 101.

Active Addresses: 1
Keypool: 2 ... 101

Next address used
Active Addresses: 1, 2
Keypool: 3 ... 102


48 more addresses used.
Active Addresses: 1, 2 .... 50
Keypool: 51 ... 150

50 more addresses used
Active Addresses: 1, 2 .... 100
Keypool: 101 ... 200

If you used another address it wouldn't be included in your backup.

full member
Activity: 151
Merit: 100

In the QT client the keypool is continually refreshed.  While the keypool contains 100 keys every send requires a new change address so the oldest key from the keypool is used AND a new key created and added to the keypool.  The keypool is always at 100 keys (baring some unusual situations where wallet can't be unlocked).

So yes the wallet would need to warn you to backup every single time you sent a transaction OR clicked New Address.

So what is the benefit of keeping the pool always 100? instead why not let it deplete and when it reaches threshold refill the pool and ask for backup?
donator
Activity: 1218
Merit: 1079
Gerald Davis
I didn't get it. Do you mean there will be a new address generated after each payment, or after 100 payments? Currently, i can only see the addresses manually created by myself, and I will only backup when I created a new address. I am using multibit.

In the QT client the keypool is continually refreshed.  While the keypool contains 100 keys every send requires a new change address so the oldest key from the keypool is used AND a new key created and added to the keypool.  The keypool is always at 100 keys (baring some unusual situations where wallet can't be unlocked).

So yes the wallet would need to warn you to backup every single time you sent a transaction OR clicked New Address.
full member
Activity: 151
Merit: 100
When wallet creates a new key automatically, it should ask for a backup with warning and get confirmation before proceeding, this is a very silly bug in software claiming to be ver 0.8

So every transaction you mean.  You want the wallet to warn you to backup after every single send?
Why would wallet create a new key after each transaction, can't/doesn't it have a pool of keys?
legendary
Activity: 882
Merit: 1000
I didn't get it. Do you mean there will be a new address generated after each payment, or after 100 payments? Currently, i can only see the addresses manually created by myself, and I will only backup when I created a new address. I am using multibit.
donator
Activity: 1218
Merit: 1079
Gerald Davis
When wallet creates a new key automatically, it should ask for a backup with warning and get confirmation before proceeding, this is a very silly bug in software claiming to be ver 0.8

So every transaction you mean.  You want the wallet to warn you to backup after every single send?
full member
Activity: 151
Merit: 100
When wallet creates a new key automatically, it should ask for a backup with warning and get confirmation before proceeding, this is a very silly bug in software claiming to be ver 0.8
hero member
Activity: 854
Merit: 1000
Unfortunately new users believe they are backing up their one private key.  Not realizing behind the scenes new one are being created.  New wallets should somehow make the user aware of this so they know to make new backups.
legendary
Activity: 3038
Merit: 1660
lose: unfind ... loose: untight
Most computer files work this way. If you haven't backed up the latest version, you lose all changes since the last backup. I don't know why this would be a surprise.

The qt wallet gives you 100 changes worth of bonus slop, and deterministic wallets give you unlimited slop. But that is not the norm for backups in general.
newbie
Activity: 15
Merit: 0
Clients with deterministic wallets (Armory, for example) do not have this problem.

could you later import your wallet into one of those and be good? (get those 'lost' coins back)

No once lost the coins are lost.  The coins are "lost" because the wallet generates an address not in the backup and if no updated backup is made there is no record of the private key (if the original is lost/damaged).   There is nothing to import, they private key is missing.

You can however expand the keypool with the -keypool=xxxx command line argument.  Make the keypool 1,000 keys to give yourself some more "slack" between backups.


thanks for the advice, DeadAndTaxes.  will do that to give myself a bit more runway.
donator
Activity: 1218
Merit: 1079
Gerald Davis
Clients with deterministic wallets (Armory, for example) do not have this problem.

could you later import your wallet into one of those and be good? (get those 'lost' coins back)

No once lost the coins are lost.  The coins are "lost" because the wallet generates an address not in the backup and if no updated backup is made there is no record of the private key (if the original is lost/damaged).   There is nothing to import, they private key is missing.

You can however expand the keypool with the -keypool=xxxx command line argument.  Make the keypool 1,000 keys to give yourself some more "slack" between backups.
420
hero member
Activity: 756
Merit: 500
Clients with deterministic wallets (Armory, for example) do not have this problem.

could you later import your wallet into one of those and be good? (get those 'lost' coins back)
newbie
Activity: 15
Merit: 0
i was under the impression that if i back up my wallet at time T0  and continue to use the MAIN wallet to send and receive bitcoins,  that if i open the backed-up wallet at time T1, assuming i'm sync'ed with the blockchain,  that my backed up wallet would reflect all of the transactions.  however, this doesn't appear to be the case.  there's a finite number of addresses that the bitcoin client keeps around (in a pool of 100 addresses) which get used up every time you send a payment.  if you run out of your addresses,  new addresses will be added to the pool but your BACKED UP wallet.dat file will not be privy to these new addresses and thus if you are unfortunate enough to ever lose the original file, you will forever lose some fraction of your coins.. this is because whenever you send bitcoins,  it generates 2 transactions:  tx1 goes to the recipient, tx2 gets sent to one of the 100 addresses that are stored in your account pool... so if these were depleted and new ones added, the backup wallet doesn't know about it and thus the loss of bitcoin can occur... was i like the only one who didn't know about this?   now i have to be a lot more careful and backup the wallet more frequently i guess...
Pages:
Jump to: