Pages:
Author

Topic: Bitcoin client is a resource hog and slow (Read 3525 times)

hero member
Activity: 938
Merit: 1002
March 15, 2012, 04:37:32 PM
#26
This is the drawback to encrypted currency.

What is an encrypted currency? Smiley

WHBT
donator
Activity: 1218
Merit: 1015
Here's what you get with bitcoin:
1) Transaction fees on a per transaction basis (boo!)
2) No interest (super boo!)
3) Moderate resource load on your computer (downloading the blockchain requires a paid for internet service - fail), although in the long term the resource load will be insurmountable 3_ (100GB blockchain some day)
4)No insurance and nonexistent client-side security unless you spend money / time / effort properly securing your wallet (super duper boo).
1) The transaction fees amount to less than half a US cent. Online transactions involving banks frequently go through Paypal, which charges something like $.30 + 2.99% -- wires can be quite expensive, and checks are sloooooooow.
2) If you're just holding your government fiat, it's probably declining in value. Just as you take a risk in investing your money in a bank through deposits (though the FDIC point's certainly valid), you can deposit with BTC banks, where fairly reputable members can offer upward of 12% MPR with "dynamic deposit" in the form of GLBSE assets which can be immediately withdrawn.
3) Grab a thin client like Electrum if it's a problem. The devs have sound plans on how to solve the storage problem when it becomes significantly large (blockchain currently amounts to less than one percent of total storage capacity in the vast majority of HDDs on the market).
4) Encryption already exists in the "official" Satoshi client. With the Armory client, security is taken to a whole new level. As for FDIC insurance, I doubt we'll get the USG to create an agency to handle bank runs, but there might be other options if the market wants it. For now, when lenders are desperate, we resort to inter-lender loans to cover deposits and any other liquidity problems.
full member
Activity: 125
Merit: 100
This is the drawback to encrypted currency.  Instead of having a bank take care of a lot of the administrative annoyances of the monetary system for you (long-term transaction records, sending and receiving your money, security), you get to bear a slice of the overhead directly yourself.  You are your own "mini-bank."  Personally, I'd rather have a FDIC-insured bank do it for free, enjoy the perks of interest, and enjoy the perks of zero transaction fees, and invest the hours of time and effort into making more money.  Bitcoin is a well-done concept, but it's by no means a medium of exchange and vessel of monetary storage, at least for the average competent businessman who knows time is money.

Here's what you get with a bank checking account and savings account in the USA through ING direct:
$0 in fees
Small amounts of interest (on $50,000 of deposits, you're going to earn $200-$400 per year in interest!  Currently yields are 0.8% APY)
Virtually zero resource load on your computer (running the online banking web portal is pretty undemanding)
FDIC insurance, the world's most powerful government and military guaranteeing $100,000 of my deposits! WooT.

Here's what you get with bitcoin:
Transaction fees on a per transaction basis (boo!)
No interest (super boo!)
Moderate resource load on your computer (downloading the blockchain requires a paid for internet service - fail), although in the long term the resource load will be insurmountable (100GB blockchain some day)
No insurance and nonexistent client-side security unless you spend money / time / effort properly securing your wallet (super duper boo).

Bitcoin has a way to go to beat banks, credit cards, and plain old cash.  For those of you who who are considering a non sequitor into evil fiat currency, buy S&P automatic index funds, trust me you're really bad at investing if you think btc is the way to go to beat usd.
hero member
Activity: 642
Merit: 500
If you're on a mac, use the command
Code:
sudo fs_usage -w
to see that the client is using the disk a lot, especially when downloading / updating the chain. This makes it much slower than it needs to be. I was able to speed it up by softlinking the log file to /dev/null and placing the blockchain on a ramdisk so the harddrive wasn't touched. I'm pretty sure this can be fixed in the code (keep the blockchain in (virtual)memory until done updating it or program quits).
hero member
Activity: 938
Merit: 1002
Quote
I probably could run Electrum on my N900 (not sure) if I spent some time on it
Yes, you can. But you will need easydeb chroot. Python used on maemo5 is prehistoric.

Nice... Cheesy  I'll try to run spesmilo while I'm at it too. Thanks for the tip.

Especially my wife will be happy when she sees this on her N900. She just started actively using Bitcoin, and constantly asking what her preferred client should be.

Luke-jr has compiled all kinds of custom stuff for the N900, ask him about it. I think one such thing was bitcoind itself, crosscompiled to work with whatever distro he was running. (Suse? I don't remember)

I've got a functional bitcoind on my N900, but block verification was rather slow last time I checked. However, I now run Electrum on it, sharing the same wallet with my PC. It's fast and GTK GUI feels integrated, and no wallet sync is necessary. We now need an Android port and all will be bliss. Smiley

I think people keeping the entire blockchain is essential for the sanity of the network, so I'll probably keep running one bitcoind instance somewhere as long as a mere mortal can.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
Quote
I probably could run Electrum on my N900 (not sure) if I spent some time on it
Yes, you can. But you will need easydeb chroot. Python used on maemo5 is prehistoric.

Nice... Cheesy  I'll try to run spesmilo while I'm at it too. Thanks for the tip.

Especially my wife will be happy when she sees this on her N900. She just started actively using Bitcoin, and constantly asking what her preferred client should be.

Luke-jr has compiled all kinds of custom stuff for the N900, ask him about it. I think one such thing was bitcoind itself, crosscompiled to work with whatever distro he was running. (Suse? I don't remember)
full member
Activity: 235
Merit: 100
Makes a lot of sense of course. One reason I can think of is a lack of multiplatform thin client that works on all your devices and you are not too enthusiastic about shuffling money through wallets. For instance, I probably could run Electrum on my N900 (not sure) if I spent some time on it, whereas blockchain.info/wallet would work instantly.

A javascript web-wallet with automated backups and a local verifier is analogous to a thin client that has forced updates. Forced updates aren't good though. Also, even with multisig, I'd probably prefer to maintain my secondary keys myself. However, for most people, this might not prove to be more reliable.

I think the structure will evolve to the point where wallets would be portable between clients and the standard two-factor authentication would work through the network itself. Then you can use whatever method is more convenient for you and fall back to the other method in case of emergencies. Even if you insist on relying on online services, you could keep a copy of your wallets on multiple sites. Of course, no combination of these sites shall have clear access to all the keys necessary to complete a transaction (which is tricky if you know nothing about how Bitcoin works).

To make the concept easier to grasp for laymen, banks/wallets and clearing houses/escrows could be totally separated, all of which provide a thin-client service as the standard transaction method (so that you would only need to access remote encrypted keys in case of emergencies). Don't see that happening even in the far future though.

Forced updates are out of question, this creates a nasty attack vector. Ideally I would be running few versions behind, if protocol permits.

I don't have much against web wallets per se, one can find them useful for keeping spare change, I just don't like when they're recommended to newcomers as a viable method to store your bitcoins. We are all lazy and trying to remove friction from any part of our lives, and as such web wallets are appealing, but there are risks involved and every individual choosing such service should be well aware of them. Often newcomers don't have this knowledge, so ideally this recommendation should be avoided. I'd hate to read in few months that one of them was hacked and people lost their entire bitcoin wallet because they thought they kept their coins in Fort Knox.
hero member
Activity: 938
Merit: 1002
Quote
I probably could run Electrum on my N900 (not sure) if I spent some time on it
Yes, you can. But you will need easydeb chroot. Python used on maemo5 is prehistoric.

Nice... Cheesy  I'll try to run spesmilo while I'm at it too. Thanks for the tip.

Especially my wife will be happy when she sees this on her N900. She just started actively using Bitcoin, and constantly asking what her preferred client should be.
hero member
Activity: 482
Merit: 502
Quote
I probably could run Electrum on my N900 (not sure) if I spent some time on it
Yes, you can. But you will need easydeb chroot. Python used on maemo5 is prehistoric.
hero member
Activity: 938
Merit: 1002
github got compromised few days ago by bored russian teenager, so this method is not entirely bullet proof

Yeah, but it makes it a long shot. I wouldn't choose to depend on a web wallet for my entire fortune, but could still use it for daily small transactions and maybe backup purposes (depending on the scheme).

why not just use trusted open source thin client?

Makes a lot of sense of course. One reason I can think of is a lack of multiplatform thin client that works on all your devices and you are not too enthusiastic about shuffling money through wallets. For instance, I probably could run Electrum on my N900 (not sure) if I spent some time on it, whereas blockchain.info/wallet would work instantly.

A javascript web-wallet with automated backups and a local verifier is analogous to a thin client that has forced updates. Forced updates aren't good though. Also, even with multisig, I'd probably prefer to maintain my secondary keys myself. However, for most people, this might not prove to be more reliable.

I think the structure will evolve to the point where wallets would be portable between clients and the standard two-factor authentication would work through the network itself. Then you can use whatever method is more convenient for you and fall back to the other method in case of emergencies. Even if you insist on relying on online services, you could keep a copy of your wallets on multiple sites. Of course, no combination of these sites shall have clear access to all the keys necessary to complete a transaction (which is tricky if you know nothing about how Bitcoin works).

To make the concept easier to grasp for laymen, banks/wallets and clearing houses/escrows could be totally separated, all of which provide a thin-client service as the standard transaction method (so that you would only need to access remote encrypted keys in case of emergencies). Don't see that happening even in the far future though.
full member
Activity: 235
Merit: 100
Sounds like advanced techno science-fiction stuff, but you still rely on javascript delivered from possibly compromised service to decrypt your data. What stops rogue site owner or hackers from adding literally one line of code to have your keys shipped to their door, once you authenticate and have keys in the open? Even wallet integrity check won't help you as you can get served malicious javascript per user basis. Back to square one, putting faith in site owner and his ability to protect the service.

I myself don't use web wallets, but it's not exactly back to square one either. Wallet verifier won't fail unless github is compromised, so it's probably safe enough for pocket money. Multisig as an authentication option will fix the rest of these issues.


My bad, I assumed integrity check comes in form of a web service that pulls entire wallet's frontend and compares checksums. Stand alone tool is better, but as a matter of fact, github got compromised few days ago by bored russian teenager, so this method is not entirely bullet proof. P2SH might save the day, but if you're going through such hops, why not just use trusted open source thin client? Download once, verify (ideally against hash stored in the blockchain so cannot be manipulated), and forget. Another upside is, in case of DoS attack/domain takedown/unpaid hosting bill event, you're not cut off from your resources, that is whole idea of Bitcoin, be your own bank and don't rely on 3rd party entity.

Nothing before Bitcoin offered such great incentives for hacking/scamming, as system grows/matures, methods will only get better.
legendary
Activity: 2184
Merit: 1056
Affordable Physical Bitcoins - Denarium.com
Sounds like advanced techno science-fiction stuff, but you still rely on javascript delivered from possibly compromised service to decrypt your data. What stops rogue site owner or hackers from adding literally one line of code to have your keys shipped to their door, once you authenticate and have keys in the open? Even wallet integrity check won't help you as you can get served malicious javascript per user basis. Back to square one, putting faith in site owner and his ability to protect the service.
It's not back to square one. The wallet verification tool is run by the user on the user's computer. The point of it is to verify that the service is not sending malicious code. Also as memvola pointed out, P2SH will increase security further. In fact I believe that blockchain.info will probably be one of the first, if not the first wallet that actually has P2SH functionality in it. The site owner is already working on P2SH features.

Currently even if person x is not using the verification tool and the wallet got compromised, the vulnerability would be there only as long as people are still logging in. The site would be taken down and warnings posted all over the place if this happened so the window of opportunity is small in any case, so we have come far from MyBitcoin. With verifications and especially P2SH, it becomes basically worry-free entirely.
hero member
Activity: 938
Merit: 1002
Sounds like advanced techno science-fiction stuff, but you still rely on javascript delivered from possibly compromised service to decrypt your data. What stops rogue site owner or hackers from adding literally one line of code to have your keys shipped to their door, once you authenticate and have keys in the open? Even wallet integrity check won't help you as you can get served malicious javascript per user basis. Back to square one, putting faith in site owner and his ability to protect the service.

I myself don't use web wallets, but it's not exactly back to square one either. Wallet verifier won't fail unless github is compromised, so it's probably safe enough for pocket money. Multisig as an authentication option will fix the rest of these issues.
sr. member
Activity: 350
Merit: 250
bitcoin-qt is using ~71megs of memory and only 2% CPU on my debian laptop right now
though took me almost 2 days to fully xfer the blockchain when I first installed
full member
Activity: 235
Merit: 100
Stop advocating web wallets, they're a tragedy in the making. With web wallet you must trust site owner that he won't run away with your money, and even if he is a saint, his competence to secure the service properly. This is exceptionally difficult task as the prize is big.

Thin clients are the way to go and there should be verification mechanism to ensure downloaded copy is free of worms.

You probably do not know about the current generation of web wallets, what I'm talking about is not like MyBitcoin. The service provider can't run away with your money because they do not have your private key. They will only know an encrypted version of the private key and it will be decrypted entirely in your browser when used. There is even a wallet integrity tool available which checks that the wallet service hasn't been compromised.

So please, next time make sure you know what you're talking about before you start spreading FUD.

Sounds like advanced techno science-fiction stuff, but you still rely on javascript delivered from possibly compromised service to decrypt your data. What stops rogue site owner or hackers from adding literally one line of code to have your keys shipped to their door, once you authenticate and have keys in the open? Even wallet integrity check won't help you as you can get served malicious javascript per user basis. Back to square one, putting faith in site owner and his ability to protect the service.
legendary
Activity: 2184
Merit: 1056
Affordable Physical Bitcoins - Denarium.com
Stop advocating web wallets, they're a tragedy in the making. With web wallet you must trust site owner that he won't run away with your money, and even if he is a saint, his competence to secure the service properly. This is exceptionally difficult task as the prize is big.

Thin clients are the way to go and there should be verification mechanism to ensure downloaded copy is free of worms.
You probably do not know about the current generation of web wallets, what I'm talking about is not like MyBitcoin. The service provider can't run away with your money because they do not have your private key. They will only know an encrypted version of the private key and it will be decrypted entirely in your browser when used. There is even a wallet integrity tool available which checks that the wallet service hasn't been compromised.

So please, next time make sure you know what you're talking about before you start spreading FUD.
full member
Activity: 235
Merit: 100
web wallets such as the blockchain.info wallet deserve a mention too

Stop advocating web wallets, they're a tragedy in the making. With web wallet you must trust site owner that he won't run away with your money, and even if he is a saint, his competence to secure the service properly. This is exceptionally difficult task as the prize is big.

Thin clients are the way to go and there should be verification mechanism to ensure downloaded copy is free of worms.
legendary
Activity: 1379
Merit: 1003
nec sine labore
With the improvements the bitcoinj team have made to downloading blocks, Multibit downloads around 1000 blocks a minute on a vanilla WiFi.   (It does not save the transactions to disk so it is not doing as much work as the Satoshi client).

I think of it as roughly 1 minute of download for 1 week of blocks.

I haven't really looked at memory size optimisation but think it uses around 100MB RAM when running 4 peers and half a dozen wallets.
Edit: Just had a quick look.   On a Mac with 12 wallets open, 4 peers it uses 133.5MB RAM.

jim618

I've just downloaded it, I did not know it existed before your message.

It is great! The only missing feature being encrypted wallets!

spiccioli
sr. member
Activity: 321
Merit: 250
Firstbits: 1gyzhw
95mb vs skype at 125mb.

I dont see a problem. I leave mine now running all the time.

I run bitcoind on a server, when bitcoind starts up it sits at around 60MB, this is with less than 10 peer connections and no RPC connections.
Compared with transmission-daemon, which I have seeding over 10GB of files and with over 50 connections, it uses 20MB.

The biggest problem though is that bitcoind leaks memory so it has to be restarted every so often (that's if the kernel's oomkiller doesn't murder it first).

Is there a bug and test case for this? I might have a look at it, sounds like something I could tackle.
legendary
Activity: 2184
Merit: 1056
Affordable Physical Bitcoins - Denarium.com
Lot of ways to use Bitcoin conveniently, Electrum and Multibit have already been mentioned but web wallets such as the blockchain.info wallet deserve a mention too. Even for storage solutions the Satoshi client is inferior these days because we have Armory that is a heavy client that offers easy ways to safely handle offline wallets.

Bitcoin users really need to know that there are other viable options these days than the regular client. There are a lot of options. I still use the Satoshi client for some of my wallets but if I was actually using Bitcoin for commerce regularly, which I'm still not, I would not be using the Satoshi client. It's too slow unless you're not in a hurry to do anything.

Pages:
Jump to: