1
2
Reading about the "change" addresses and doing "wallet.dat" backups, I keep reading that -by default- bitcoin-qt generates 100 keys and use them when you need a new address. My question is this: what happens after you use all 100 keys (for change, mainly). bitcoin-qt generates another block of 100 keys?. Only one?.
The information is critical for backup policy, and I can't find it online.
If you get a new 100 keys block, doing regular frequent backups is mostly fine, but if only a new key is generated, you should backup the wallet after any incoming or outgoing transaction...
Better yet, bitcoin-qt should have a permanent pool of 100 addresses, and add a new random address when you use one, in a FIFO style. That way you should be quite safe if you do less than 100 outgoing transactions between backups!.
1The only exception is if you are using getnewaddress from the API. Because you don't need to unlock the wallet, it simply pulls from the key pool. It won't create a new one and you can deplete the wallet of all keys from the key pool. – Stephen Gornick – 2013-04-21T07:59:34.093
Stephen, in that case is the pool going to refill "eventually", or your pool is now 99 keys long forever?. – jcea – 2013-04-21T15:02:59.957