Author

Topic: A new address for each transaction ? (Read 1217 times)

legendary
Activity: 3472
Merit: 4801
June 20, 2013, 02:39:32 PM
#15
I'd be tempted to use a new temporary wallet each day.

At the end of the day, you empty the entire balance of the temporary wallet by sending it all to some other wallet where you consolidate your funds. Then you change the name of the temporary wallet.dat to yyyymmdd.dat and archive it off somewhere safe.  You start the new day with a brand new wallet.dat.

If you ever need to, you can still retrieve private keys from the archived off wallets, but you have no need to clutter up your daily wallet with addresses that you don't intend to ever use again.
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
June 17, 2013, 08:53:20 AM
#14
I guess he/she is talking about bitcoin-qt taking long to load up with >200k private keys, not pywallet.
Oh, indeed it looks like I misunderstood, sorry... Post deleted
Now that I'm here, if pywallet be some help here just tell me
legendary
Activity: 2618
Merit: 1007
June 17, 2013, 08:49:24 AM
#13
I guess he/she is talking about bitcoin-qt taking long to load up with >200k private keys, not pywallet.
legendary
Activity: 1176
Merit: 1280
May Bitcoin be touched by his Noodly Appendage
June 17, 2013, 07:33:04 AM
#12
pywallet can delete addresses from your wallet. But you don't need to clean your wallet at all. Bitcoin will run fine even with tens of thousands of addresses. Also, instead of polling for transactions, consider using "walletnotify" to get instant notification of transactions.
It will indeed run fine, but it will take waay more time to load up. I am talking from experience, with a 200k address wallet.
If you think something in pywallet can be improved, you can post in its thread, that's the point of it
For example someone reported a similar problem (time-consuming transaction deletions) https://bitcointalksearch.org/topic/m.2206558 and it was fixed
hero member
Activity: 836
Merit: 1030
bits of proof
June 16, 2013, 02:21:02 PM
#11
HD (Hierarchical Deterministic) key generation as designed in https://en.bitcoin.it/wiki/BIP_0032 will solve this for good as you may use a large number of addresses but only need to back up the master key.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
June 16, 2013, 02:47:43 AM
#10
pywallet can delete addresses from your wallet. But you don't need to clean your wallet at all. Bitcoin will run fine even with tens of thousands of addresses. Also, instead of polling for transactions, consider using "walletnotify" to get instant notification of transactions.
It will indeed run fine, but it will take waay more time to load up. I am talking from experience, with a 200k address wallet.
legendary
Activity: 2618
Merit: 1007
June 16, 2013, 02:33:49 AM
#9
I personally would use BIP32 keys and keep the last X (depending on the business) last used keys in the wallet, the rest can be purged and regenerated on demand anyways.

MtGox claims to have several million private keys (most probably in cold storage) afair.
legendary
Activity: 1400
Merit: 1005
June 16, 2013, 01:00:56 AM
#8
For what it's worth, I did begin to run in to some significant slowdowns when I hit 75,000-100,000 addresses in a single wallet.  There IS a practical limit to the number of addresses that can/should be kept.

Bitpay, for example, reuses their addresses.  I don't know how large a pool of addresses they keep, but I've noticed that payments I have made through bitpay are sent to addresses that have previously received coins already.
legendary
Activity: 4466
Merit: 3391
June 16, 2013, 12:58:17 AM
#7
Instead, could you reuse addresses from a large pool to limit the total number?
full member
Activity: 144
Merit: 100
June 16, 2013, 12:48:28 AM
#6
I believe there is possibly a solution for what you describe using HD wallets. Not sure what or how.
https://en.bitcoin.it/wiki/BIP_0032
full member
Activity: 231
Merit: 100
June 15, 2013, 10:41:57 PM
#5
There is no good reason to destroy a key, and there are good reasons to keep them.

Exactly. Imagine a user sending his payment from several different wallets (e.g., a hot and a cold one) and your script already purged the address after the first incoming transaction...
hero member
Activity: 756
Merit: 501
There is more to Bitcoin than bitcoins.
June 15, 2013, 09:45:22 PM
#4
I would never delete private keys from a wallet, unless I backed them up first. There is no good reason to destroy a key, and there are good reasons to keep them.
legendary
Activity: 2058
Merit: 1452
June 15, 2013, 09:28:38 PM
#3
pywallet can delete addresses from your wallet. But you don't need to clean your wallet at all. Bitcoin will run fine even with tens of thousands of addresses. Also, instead of polling for transactions, consider using "walletnotify" to get instant notification of transactions.
newbie
Activity: 24
Merit: 0
June 15, 2013, 07:48:10 PM
#2
Keeping in mind that each address has essentially it's own balance, you would need to transfer the balance to one central address before deleting it. To delete them, you could probably design a script based from pywallet, it wouldn't be hard.
newbie
Activity: 24
Merit: 0
June 15, 2013, 07:07:17 PM
#1

 I've finally accepted that creating a new address for each
transaction is kind of a good idea..
 
 Am I correct in thinking - that for each customer that comes to my shop
I generate/give to them a unique bitcoin address , so that I know that
if the address in question receives money , then it's surely from the
person I gave the address to..

 This is fine, - but that could end being hundreds or even thousands of
addresses being generated everyday..

 I understand that generating a new address is not a big deal, but the
housekeeping of my bitcoin server becomes an issue..

 How can I delete addresses from the database when I am done with them
( for example, once an address receives coins, I make a note of it in my
mysql for example, and 'move' the coins to one central internal bitcoin address).

If I have thousands of addresses/accounts , anytime I do a listaccounts or
getbalance I'm going to get a really long list..

 So , that's my query - can I delete bitcoin addresses and/or accounts from
bitcoind to keep everything running smooth..


Jump to: