Author

Topic: Bitcoin disadvantages for non-technician users (Read 3248 times)

hero member
Activity: 900
Merit: 1000
Crypto Geek
October 17, 2011, 05:02:48 PM
#19
Well said to the thread. Let's improve it!

[/quote]

Not exactly. You can read the end of a book before the beginning, but it wouldn't make much sense. Same with Bitcoin; it has to know what happened before due to the way the block chain works.
[/quote]

Try deleting the first 700mb of the blockchain and literally just try it?


N1: Agreed regards zipped blockchain

N2: Green addresses, MtGox mobile, Offline transactions via bluetooth send. Just hope that the guy who sent you it doesn't send it again before you get to solidify it yourself into the blockchain. 

Also agreed, more verbose feedback especially in the GUI. hmm... even I might be able to do a patch for this!

Also re: Massive download. We should have some MD5summed mirrors. Well, something better than MD5 really
sr. member
Activity: 448
Merit: 251
Bitcoin
IMHO Bitcoin will most likely always stay an underground currency. That doesn't have to be a bad thing at all. It just means that the early adopters can't sell their BTC for $50 a piece anytime soon.

The most promising uses for Bitcoin as I see it are focused on the anonymous transactions. Why would I buy something with BTC if it gets delivered to my real name and address? That's defeating the point of it.
If this mtgox application will be futher elaborated, bitcoin could hit mobile payments market in a future.

Bitcoin apps and mobile sites have existed at least since June...  how do you think everyone paid at the bitcoin confrence in new york Smiley

hero member
Activity: 588
Merit: 500
Thinking about "Instant use" wouldnt it be possible to force the client to initially download the newest 120 blocks so any new transactions can be seen and used, then download the rest as it goes?

Would instantly overcome this problem.

Not exactly. You can read the end of a book before the beginning, but it wouldn't make much sense. Same with Bitcoin; it has to know what happened before due to the way the block chain works.
sr. member
Activity: 369
Merit: 250
Thinking about "Instant use" wouldnt it be possible to force the client to initially download the newest 120 blocks so any new transactions can be seen and used, then download the rest as it goes?

Would instantly overcome this problem.
hero member
Activity: 490
Merit: 500
If you don't believe me use windows performance counters and you can see exactly how much is written to the block chain.  The entire block chain is ~800MB.  800MB isn't written for every block.  Just because a hard drive is used consistantly for 8 hours doesn't mean the drive is writing GB up GB of data continually for that 8 hours.
Probably it uses fsync's at each write or somehow disables write cache in another way. System has really big iowait values when downloading whole  block chain (i'm about linux).
donator
Activity: 1218
Merit: 1079
Gerald Davis
Sure then why it keep writing like a mad for 12 hours? Open blockchain, add block, save blockchain->write down 800MB of things.

No it doesn't work that way.

It isn't writing like "mad".  Check the drive throughput.  It is writing continually because new blocks are arriving cointually but the block chain is stored in a databse.  Each new block received simply is a ~50KB write to the database.
Can you imagine how utterly stupid that would be to erase the entire block chain and rewrite it every tiny change?  There is a reason bitcoin uses a database for the wallet and block chain it is to avoid exactly that problem.  

If you don't believe me use windows performance counters and you can see exactly how much is written to the block chain.  The entire block chain is ~800MB.  800MB isn't written for every block.  Just because a hard drive is used consistantly for 8 hours doesn't mean the drive is writing GB up GB of data continually for that 8 hours.
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
Sure then why it keep writing like a mad for 12 hours? Open blockchain, add block, save blockchain->write down 800MB of things.
donator
Activity: 1218
Merit: 1079
Gerald Davis
And i said nothing about the fact that during that 12+ hours the hard disk keep writing, writing and writing. Probably for every block it receive it rewrite the whole blockchain (adding the new block in it).

It doesn't rewrite the entire block chain for ever new block.  IT is a CHAIN.  The new block is simply added to the end.   
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
And i said nothing about the fact that during that 12+ hours the hard disk keep writing, writing and writing. Probably for every block it receive it rewrite the whole blockchain (adding the new block in it).
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
The client sucks. It work more by magic than else

You start it and automagically it
1)create a folder inside your roaming folder, without telling it to you.
2)create your wallet inside that folder too, again, without telling anything to you
3)start to download the whole blockchain, in the same folder
4)if you remove the wallet.dat, it create ANOTHER. It seems it cannot survive without it...  Undecided

And a lot of options can be used in a weird way, and i'm speaking about -rescan and a lot of others. Is it so hard to put some buttons and options on the gui?Huh What about asking about the wallet? What about not auto creating it? What about having the client able to work WITHOUT a wallet?

And then what about a way to download 800MB that doesn't require 12+ hours?

What about putting info on how the things work in the client? Did you ever use TRUECRYPT? It explain you everything and it let you do useful things in an easy way telling you everything about what is happening.

No wonder few people use bitcoins...
donator
Activity: 1218
Merit: 1079
Gerald Davis
There are potential issues but they can be solved.

N1 - the client in 10 years will look nothing like the client now.  The simplest thing that can be done is to zip the block chain once a week and include it with client install.  New user installs client and instantly has entire block chain up to 1 day to 1 week ago.  Now the time to download to "current" is in matter of minutes.  There are also plans to allow partial downloading of block chain which improves performance for mobile apps.  Lastly future clients may not even download block chain.  If website services spring up you could simply pay them to monitor block chain for you.  i.e. you client is "dumb" and simply connects via SSL webservice to a company that you pay a nominal fee to perform block chain lookups for you.

N2 - 6 confirms is not needed for most transactions. Double spend is rather difficult to perform for anything other than instant delivery automated ordering.  In retail for low cost merchandise waiting 15 seconds to ensure no identical spend appear on network is sufficient.  Remember the fraud rate for CC is not 0%.  If BTC has a fraud rate that is "only" half CC it is net positive for everyone.  Likely double spends will be 1/1000th of current CC fraud/chargebacks.

Now if you are selling $250K worth of server equipment then yes you likely will wait until you get 6 confirms.  For mail order confirms are a complete non-issue.   A site like amazon could accept btc start processing the order immediately and simply cancel the order prior to shipping if it doesn't get 6 confirms.

N3- Wallet backups are a potential issue but one thing to keep in mind a new transaction doesn't make a backup invalid.  The wallet by default maintains a pool of 100 unused addreses.  They would be in any backup.  So if you made 80 transactions after the backup it would come from addresses already in the pool. 

Still wallet backups do need to improve.  One methods would be a webservice where you backup your encrypted wallet to the could every day.  Since the wallet is stored in encrypted form and the service provider doesn't have the key it is still strongly protected.  A modified client could do this automatically maybe paid for via client purchase or a nominal annual fee.

So they are potential limits but bitcoin is still in the infancy.  The problems aren't insurmountable.  If bitcoin ever became more mainstream these problems WOULD need to be addressed but I provides just some examples of potential solutions to make bitcoin more user friendly.
sr. member
Activity: 437
Merit: 415
1ninja
N1: there are several projects to create lightweight clients, that do not download the blockchain. see for example BCCAPI

N2: confirmations take some time, but for small amounts at a retail store, it is safe to assume that double spends are not a problem. see also the http://www.transactionradar.com/ project.

+1

N1) Lightweight client is a must and will spread the adoption rates for Bitcoin. I created a site called bitaddress.org which can help with N1 as well. You can make a paper wallet, check the balances at blockexplorer.com (or with a Google Spreadsheet) and redeem your keys at Mtgox.

N2) Satoshi said you only need to wait about 10 seconds after receiving a Bitcoin transaction for retail scenarios. You'll lose much more in credit card chargeback fees then you ever would from a customer buying from a merchant then performing a double spending attack. The attack would cost more in resources then the retail item purchased. If you wait 10 seconds it's theoretically very difficult for someone to perform a double spend because the first transaction will have propagated through the network already. For intangible goods, 10 seconds is also sufficient. For tangible goods ordered via the Internet waiting 10 to 60 minutes before shipping is fine.

N3) Regarding backups now that the client provides private key encryption you can backup your wallet online (Gmail, dropbox, etc).
hero member
Activity: 523
Merit: 500
Very very valid points.

All of which must be solved.

My impression is that the new Green adress used by instawallet and MTGox solve the instant transaction somewhat
and it will be used by more.

hero member
Activity: 490
Merit: 500
IMHO Bitcoin will most likely always stay an underground currency. That doesn't have to be a bad thing at all. It just means that the early adopters can't sell their BTC for $50 a piece anytime soon.

The most promising uses for Bitcoin as I see it are focused on the anonymous transactions. Why would I buy something with BTC if it gets delivered to my real name and address? That's defeating the point of it.
If this mtgox application will be futher elaborated, bitcoin could hit mobile payments market in a future.
member
Activity: 70
Merit: 10
IMHO Bitcoin will most likely always stay an underground currency. That doesn't have to be a bad thing at all. It just means that the early adopters can't sell their BTC for $50 a piece anytime soon.

The most promising uses for Bitcoin as I see it are focused on the anonymous transactions. Why would I buy something with BTC if it gets delivered to my real name and address? That's defeating the point of it.

That's being said I don't see a problem with Bitcoin being unreachable for non-technician users.
legendary
Activity: 1896
Merit: 1353
N1: there are several projects to create lightweight clients, that do not download the blockchain. see for example BCCAPI

N2: confirmations take some time, but for small amounts at a retail store, it is safe to assume that double spends are not a problem. see also the http://www.transactionradar.com/ project.

N3: yes backups are a pain. I said several times that the standard bitcoin client should either use a deterministic wallet, or have a limited set of addresses by default. if this was the case, you could backup once and for all your wallet, and not worry about it anymore. it should really be the default.
hero member
Activity: 490
Merit: 500
Quote from: Bitsky
N1: I don't know if it's possible, but maybe the initial download could run backwards; eg load the most current blocks first so that new transactions show up. Then continue the rest of the blockchain in the background.
Well, the bitcoin client not just downloading, i verifying each block. And blocks can not be verifyed from the end. Because block hash can be verified only if you know previous block hash.

So downloading from the end is a wrong way.

Quote from: Bitsky
N2: Instant confirmations would be nice, but waiting up to 10 mins for the first hint in your wallet is acceptable (for me).
p2p currency will never have instant confirmations without significant CPU and network load. Then smaller confirmation time - then network is more insecure. I dont imagine how this can be resolved.
hero member
Activity: 576
Merit: 514
Agreed.

N1: I don't know if it's possible, but maybe the initial download could run backwards; eg load the most current blocks first so that new transactions show up. Then continue the rest of the blockchain in the background.

N2: Instant confirmations would be nice, but waiting up to 10 mins for the first hint in your wallet is acceptable (for me).

N3: Automatic backups should be an option (eg "keep x backups" or "keep backups for x months"). I solved that by creating a startup batchfile which does a backup before launching Bitcoin. But that's not an option for your everyday John Doe.
hero member
Activity: 490
Merit: 500
I own a small bitcoin exchange and I saw that new non-technician user have strong difficulties to start using bitcoin.

N1. Downloading full block chain at first launch disappointing clients. There is no any warning that block chain is not up to date, so users ensure they can start using it immediately. The typical dialogue:
I: I have sent you bitcoins
...few minutes....
Client: Still not get it. How long bitcoins are come?
I: What is your block counter shows? How long ago you launched your client at first time?
Client: 5000 blocks, I have launched it 30 minutes ago.
I: You have to wait while block count will reach XXXXXX block, then you will see your transaction
Client: How long it can take?
I: 8 hours or more
Client: OMFG Sad

N2. Confirmations. 10 to 60 minutes is too much. But... I do not think this can be fixed in any way.

N3. Wallet backups. Non-technician user does not understand one point in backups. If he backup his wallet, then generate a new address and receive funds on it, and then restore his backup, the funds received with new address will be lost.

As for N1 - this is very, very big disadvantage. I think it could be fixed if the network will provide last block height, so bitcoin client can compare it with its current highest block and display a warning that block chain is not up to date and a serious transaction delay may occur.
Jump to: