Is it possible for an attacker to crash the entire Bitcoin network by flooding transactions? Like, infect thousands of computers with a software sending coins around between few wallets?
Here are the types of denial-of-service attacks the bitcoin.org client and others that behave similarly will protect against:
-
http://en.bitcoin.it/wiki/Weaknesses#Denial_of_Service_.28DoS.29_attacksSpamming transactions
It is easy to send transactions to yourself repeatedly. If these transactions fill blocks to the maximum size (1MB [Edit: 0.5 MB if I remember correctly]), other transactions would be delayed until the next block.
This is made expensive by the fees that would be required after the 50KB of free transactions per block are exhausted. An attacker will eventually eliminate free transactions, but Bitcoin fees will always be low because raising fees above 0.01 BTC per KB would require spending transaction fees. An attacker will eventually run out of money. Even if an attacker wants to waste money, transactions are further prioritized by the time since the coins were last spent, so attacks spending the same coins repeatedly are less effective.
-
http://en.bitcoin.it/wiki/Weaknesses#Spamming_transactionsSo the network doesn't know the difference between your flooded transaction sent from older coins in your wallet and my transaction sent from older coins in my wallet where both of us are paying the same fees and sending at the same time. But after you've spend that transaction, your change that you've received is now a newer coin. And if you try to spend the change, your transaction does not look like mine and if a miner has to start choosing which transactions to include in a block, your spam-like transaction doesn't get chosen.
The bitcoin network is handling 50K transactions per day easily now. So to properly prepare for this attack you might want to have a wallet with a couple hundred thousand addresses (or more) each with a bitcoin or so of funds for each address.
So harassing bitcoin as it exists today is certainly possible, it is just requires resources normally outside the range of someone curious if it could be done. Additionally, if there is a pattern seen as being disruptive, there are changes to the client that the miners can perform to give preference to transactions that don't look like yours -- though you too might be able to adjust in response. And an arms-race proceeds. You would need to be determined to have a lasting impact.