Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: pcm81 on June 02, 2011, 04:07:37 PM



Title: BitCoin hurdles to overcome
Post by: pcm81 on June 02, 2011, 04:07:37 PM
Hello all.
I am pretty new to bitcoins and as a nuclear engineer and a physisist I find the idea of crypto currency to say the least interesting. I do however have couple of concerns which may have already been addressed in the past, so forgive my ignorance. The following concerns are not concerns of me as a private user, but rathey as a theoritician...

1. Bitcoin traffic. With millions of nodes exchanging millions of transactions per hour, the total network bandwidth to keep all nodes up to date with latest version of the chain will be painfull. While load on each node may seem insignificant, say redownloading 20MB file on start up and a 50KBps continues bandwidth use, now think of it in terms of network load. If each node restarts once a day and there are 20 million nodes that is 40 TerraBytes of network bandwidth for node startup load. Thats 4 times more than storage in my whole computer!!! In reality ofcouse the chain would be much longer than 20MB if there are 20 million users.

2. wallet restore appfunctionality is needed. Lets say I have 100 BTC and i back up my wallet file, spend 20BTC and my PC crashes. I restore by only backup file, which has 100BTC in it. At this point i'd be double spending... Being a legitimate user, there should be a way to sync up my outdated wallet back-up file with the network, to have the 100BTC value in my outdated wallet adjusted to 80BTCs which the network thinks i have. Perhaps havewalet file remember when, which addresses pointed to it and them my PC can analyze the most current block chain to sync up the wallet file with network.

Thoughts?


Title: Re: BitCoin hurdles to overcome
Post by: enmaku on June 02, 2011, 04:14:58 PM
You wouldn't be able to double spend. If it were that easy people would be backing up and restoring their wallets sans crash and double-spending like crazy. Your wallet.dat holds the keys you are allowed to sign with, which are essentially account numbers. The transactions themselves are stored in the block chain, which is updated upon restart of the client. If you attempt to send bitcoins that you no longer have it will fail because every client in the distributed network will have a copy of the blockchain in which you've already spent that money.


Title: Re: BitCoin hurdles to overcome
Post by: pcm81 on June 02, 2011, 04:17:39 PM
You wouldn't be able to double spend. If it were that easy people would be backing up and restoring their wallets sans crash and double-spending like crazy. Your wallet.dat holds the keys you are allowed to sign with, which are essentially account numbers. The transactions themselves are stored in the block chain, which is updated upon restart of the client. If you attempt to send bitcoins that you no longer have it will fail because every client in the distributed network will have a copy of the blockchain in which you've already spent that money.

You are correct that network will not allow me to proccess the transaction, however using the old wallet file i am being seen as an attempting double spender, even though unsuccessfull. There is no reason for this. I should be able to update my wallet file to be in sync with the network.


Title: Re: BitCoin hurdles to overcome
Post by: Pieter Wuille on June 02, 2011, 04:23:39 PM
2. wallet restore appfunctionality is needed. Lets say I have 100 BTC and i back up my wallet file, spend 20BTC and my PC crashes. I restore by only backup file, which has 100BTC in it. At this point i'd be double spending... Being a legitimate user, there should be a way to sync up my outdated wallet back-up file with the network, to have the 100BTC value in my outdated wallet adjusted to 80BTCs which the network thinks i have. Perhaps havewalet file remember when, which addresses pointed to it and them my PC can analyze the most current block chain to sync up the wallet file with network.

Thoughts?

Since 0.3.21 this should happen automatically. In 0.3.20 you can use -rescan to update your wallet with information from the block chain.


Title: Re: BitCoin hurdles to overcome
Post by: pcm81 on June 02, 2011, 04:27:01 PM
2. wallet restore appfunctionality is needed. Lets say I have 100 BTC and i back up my wallet file, spend 20BTC and my PC crashes. I restore by only backup file, which has 100BTC in it. At this point i'd be double spending... Being a legitimate user, there should be a way to sync up my outdated wallet back-up file with the network, to have the 100BTC value in my outdated wallet adjusted to 80BTCs which the network thinks i have. Perhaps havewalet file remember when, which addresses pointed to it and them my PC can analyze the most current block chain to sync up the wallet file with network.

Thoughts?

Since 0.3.21 this should happen automatically. In 0.3.20 you can use -rescan to update your wallet with information from the block chain.

kk ty
Learning something new every day :)


Title: Re: BitCoin hurdles to overcome
Post by: ben-abuya on June 02, 2011, 11:03:38 PM
1. Bitcoin traffic. With millions of nodes exchanging millions of transactions per hour, the total network bandwidth to keep all nodes up to date with latest version of the chain will be painfull. While load on each node may seem insignificant, say redownloading 20MB file on start up and a 50KBps continues bandwidth use, now think of it in terms of network load. If each node restarts once a day and there are 20 million nodes that is 40 TerraBytes of network bandwidth for node startup load. Thats 4 times more than storage in my whole computer!!! In reality ofcouse the chain would be much longer than 20MB if there are 20 million users.

This is a serious concern and there's a lot of thought going into this already. See, for instance: http://forum.bitcoin.org/index.php?topic=11189.0


Title: Re: BitCoin hurdles to overcome
Post by: Mike Hearn on June 06, 2011, 12:03:09 PM
The future of Bitcoin is that full verifying nodes don't run on your desktop, so scalability isn't as big a deal as you might think.