Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: shamntalk on March 24, 2013, 11:46:03 AM



Title: bitcoind memory and cpu footprint: oh my! Strategies?
Post by: shamntalk on March 24, 2013, 11:46:03 AM
Hi, I have the following requirements:
- to be able to create addresses on the fly - I estimate the total will be between 20k-50k
- to be able to monitor the said address for incoming transactions
- to be able to send from these addresses to a specific address on the same wallet.dat
- to be safe,which I understand include not relying on a 3rd party to hold the wallet.dat

My understanding (I may be wrong) is that I therefore need to run my own bitcoind and harden the machine.

Fair enough, I've compiled it on Centos 6.4 but to my surprise it's now using all RAM and half my CPU and on its merry way to eat through 7gig of storage.
 
Question:
- are there lighter alternatives to the official client or do I just need to 'suck it up' and deploy it on a hefty VPS
- if I push it to a small VPS (say 512mb of ram), will it just fail (ie, do I need 4GB+ RAM)
- are there any 3rd party service that provide the functionality I need without sacrificing too much of the security so i don't have to worry about all the above

Thank you



Title: Re: bitcoind memory and cpu footprint: oh my! Strategies?
Post by: gmaxwell on March 24, 2013, 03:15:39 PM
Fair enough, I've compiled it on Centos 6.4 but to my surprise it's now using all RAM and half my CPU and on its merry way to eat through 7gig of storage.
[...]
- if I push it to a small VPS (say 512mb of ram), will it just fail (ie, do I need 4GB+ RAM)
It doesn't use much CPU once it has finished synchronizing with the network. Memory usage is about 300mbytes for a non-listening node, make sure you don't confuse virt (address space usage) with res. A 512mb vps is a little cramped, and you won't be able to compile it on it most likely.

Running a full node is the gold standard for node security. What security needs depends on the peculiars of what you're doing. If you're only sending funds to yourself (as you seem to describe!) then you don't have much security requirements (but then again, if you really were doing that you shouldn't be transacting at all).

I would strongly suggest you think very carefully about using VPSes if you'll be holding a non-trivial amount of funds. Anyone involved in the operation of your VPS service could scan the disks and steal your private keys.  There has been at least one high profile case where someone used a backdoor in a provider's management infrastructure to rob a bunch of coins stored on typical-security hosting. 


Title: Re: bitcoind memory and cpu footprint: oh my! Strategies?
Post by: shamntalk on March 26, 2013, 11:10:01 PM
Thank you this is very helpful indeed!


Title: Re: bitcoind memory and cpu footprint: oh my! Strategies?
Post by: MysteryMiner on March 27, 2013, 12:02:00 AM
Probably importing the private keys into MtGox using API is insecure but doable way. Use either bitcoind or armory to generate the keys.