Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: flibbr on May 05, 2013, 11:01:51 AM



Title:  
Post by: flibbr on May 05, 2013, 11:01:51 AM
 


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: CIYAM on May 05, 2013, 11:07:40 AM
One drawback with creating more and more addresses is the size of your wallet.dat file (which is probably not much of a concern in reality) - the other one would be if there are any performance issues that will arise from a bigger and bigger wallet (due to a lack of indexing say).

I do recall reading a thread about the latter (with a huge wallet) so you might want to do a bit more research about that (it may be an old problem that was already solved).


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: bukaj on May 05, 2013, 04:20:42 PM
I think you can "vacuum" the wallet once in a while:

1. Create brand new wallet with new address.
2. Transfer all funds from old wallet to new address.
3. Export relevant private keys of addressees you need active in new wallet.
4. Archive rest of the addressess.
5. Import priv keys of relevant addressess to new wallet.

Bticoin gurus: correct me if I'm wrong.


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: CIYAM on May 06, 2013, 02:09:12 AM
5. Import priv keys of relevant addressess to new wallet.

Just make sure when doing this one to use the new argument to prevent a complete rescan from happening with each address (i.e. just do the rescan once at the end).


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: jackjack on May 06, 2013, 07:16:51 AM
You can delete keys with pywallet


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: kjj on May 08, 2013, 05:51:54 PM
Keys aren't very big.  There isn't much cost to keeping them around forever.

On the other hand, if you delete one, and then the person pays, the coins for that payment are lost, not just to you, but to the entire world until the end of time.


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: tiktoc on May 08, 2013, 06:01:06 PM
The above post is right on the BTC :) If someone pays you late or accidently to a old address and you have deleted it no getting it back. Unless you use a deterministic wallet ? Like Armory?

You could always just archive them by dumping the addresses out and putting them into a encrypted file, with a identifier for each one so you know which customer its linked to.


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: kjj on May 08, 2013, 06:10:04 PM
This sort of question keeps coming up though.  I may create a key disposal service to meet the need.


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: tiktoc on May 08, 2013, 06:19:03 PM
hmmm, You mean create key for user receive payment, transfer payment or let them sweep the key then destroy it.  Or user has account which is a gpg key/encrypted seed key or something similar uses it to create a address which they receive payment then transfer sweep then archive it for them? and they can recover it by using the key made it with?

If it is something similar, interesting idea, could be used for anonymous payments maybe if it was sitting on tor, or semi anon if not.


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: Abdussamad on May 08, 2013, 07:43:55 PM

I plan on using an individual BTC address per order... but my question is that if I create a new address in bitcoind, and say give the customer 24 hours to pay for this order.... is it possible for me to then delete / archive this address if the customer never pays?

I'm just thinking over time, there could build up a massive amount of addresses ... which will never be used..etc is this even an issue ?


Addresses are cheap in every way imaginable. That is why it is recommended to generate a new one for every single transaction. So don't worry about it.

FYI if you deleted the private key associated with the address you might save a few bytes of disk space but would loose any coins sent to the address. So don't do it.


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: Terk on May 08, 2013, 08:04:01 PM
I would never delete any private key of any address that I handed to a customer (or anyone really). Just in case someone discovers it one year later and make a payment. E.g. repeated customer who lost his current payment address but somehow has saved the address from his last years' transaction.

But this is an interesting topic of bitcoind performance. Have you heard of any bitcoind problems related to too big wallet? At what size they might start happening? If they're not happening, how big wallets have you seen that were running smoothly? Was it hundreds of thousands addresses? Millions? Dozens of millions?

Do sites like MtGox, which are handling (or are prepared to handle) hundreds of thousands user accounts, have their bitcoin deposit/withdraw features built on top of bitcoind wallet? Or rather they create and manage addresses in other way and use bitcoind only to sign raw transactions (and as block explorer API, but they parse incoming transactions and manage keys and unspent outputs in their own software)? What's the practice in here? Is bitcoind suited for and working well with such a large scale?


Title: Re: Create a temporary address or remove one ? Bitcoind
Post by: bukaj on May 08, 2013, 10:09:20 PM
I've heard about bitcurex (http://pln.bitcurex.com) - polish BTC exchange. They had major performance problems caused by too big wallet (>700MB). They were using bitcoind client.