Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: cWq34#9tH-3 on June 17, 2013, 12:15:52 AM



Title: For Examination & Discussion of the btc client code
Post by: cWq34#9tH-3 on June 17, 2013, 12:15:52 AM
This thread is for people who have actually examined the source code. For discussion on improvement, bugs, security vulnerabilities, etc. Please don't post here unless you've actually looked at the code and are interested in discussing it.  Thanks.


Title: Re: For Examination & Discussion of the btc client code
Post by: jaywaka2713 on June 17, 2013, 01:16:40 AM
I've looked through the code, but have extremely limited knowledge of C++. I have read multiple articles from multiple security experts that have tried to crack Bitcoin but have failed. There are no attack vectors theoretically in the system. The only one is 51% or double spend. Those can't be prevented in a p2p system AFAIK. Double spend might be able to be corrected though using TxOut 3.


Title: Re: For Examination & Discussion of the btc client code
Post by: torba on June 17, 2013, 04:19:10 AM
Does difficulty in stopping a double-spend increase with amounts of spend attempts?
I've been wondering how the network would deal with some person with malicious intent who has 20 computers around the world send the same transaction to various people.


Title: Re: For Examination & Discussion of the btc client code
Post by: jaywaka2713 on June 17, 2013, 03:45:36 PM
Does difficulty in stopping a double-spend increase with amounts of spend attempts?
I've been wondering how the network would deal with some person with malicious intent who has 20 computers around the world send the same transaction to various people.

Hmm, 20 computers sending the same transaction to various people? I may be misunderstanding you, but are you saying that if all those computers had access to 1 wallet.dat file containing 1 BTC, what would happen if they all tried to send it somewhere?

Such a feat would be nearly impossible, as the attacker has to have mined a block first, then sync all 20 of those computers, prepare the transaction, send it out, all whilst holding the block and risking that someone else may crack a block before he releases it. That all would have to be done in less than 10 minutes.