What prevents bitcoin from breaking down in case of a "transaction attack" Let's say that I want to kill Bitcoin by means of a transaction attack. What in the bitcoin system prevents the following approach:


I buy a limited number of bitcoin in the market.
Using a small number (say 50) physical computers all running bitcoin clients and accessing the net through proxies, I generate, say, 100.000 wallets - each with their own bitcoin addresses.
(Running a script on the computers) I start sending random amounts (mili-to nanobitcoin range) of bitcoin back and forth between all my 100.000 (or more) wallets - each at a very high frequency. Average flow of bitcoin between wallets average to zero.


This causes an explosion in the number of daily transactions (currently in 1,000-10,000/day) range to millions or billions of transactions. 

This makes every block gigantic in size causing an explosion in the blockchain and causing widespread problems with blockchain verification, storage and (worse) synchronization => the network dies.



Can someone explain why bitcoin is immune to this kind of "transfer attack"?
There are rules which make such kind of attack very costly to the attacker. Below are relevant rules from wiki, with updated transaction fee:

0.0005 BTC fee per kilobyte of transaction, but:


If the blocksize (size of all transactions currently waiting to be
included in a block) is less than 27 kB, transactions are free.
If the blocksize is more than 250 kB, transactions get increasingly
more expensive as the blocksize approaches the limit of 500 kB.
Sending a transaction when the blocksize is 400 kB will cost 5 times
the normal amount; sending when it's 499 kB will cost 500x, etc.


Let's say attacker publishes 499kB worth of transactions every block, this would be about 1000 transactions per block, 144000 per day. This is nowhere close to millions or billions, and besides it would cost him about 18000 BTC per day.

Source: Transaction fees