<p>There are rules which make such kind of attack very costly to the attacker. Below are relevant rules from wiki, with updated transaction fee:</p>

<p>0.0005 BTC fee per kilobyte of transaction, but:</p>

<ul>
<li>If the blocksize (size of all transactions currently waiting to be
included in a block) is less than 27 kB, transactions are free.</li>
<li>If the blocksize is more than 250 kB, transactions get <strong>increasingly
more expensive</strong> 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 <strong>500x</strong>, etc.</li>
</ul>

<p>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.</p>

<p>Source: <a href="https://en.bitcoin.it/wiki/Transaction_fees">Transaction fees</a></p>

CC BY-SA 3.0
2011-09-09T07:08:12.343Z
2011-09-09T07:08:12.343Z
klemen
<p>Your transactions will simply be ignored. They won't even be relayed across the network.</p>

<p>In order to fuel such an attack, you need old transaction outputs or you need to pay transaction fees. You can use each old transaction output at least once.</p>

<p>With small numbers of coins and no old coins in them, your transactions will be totally ignored unless you pay transaction fees.</p>

<p>It would take only a few hours before all major mining pools switched over to ignoring all transactions with no fees that didn't use coins at least a day old.</p>

CC BY-SA 3.0
2011-09-09T07:07:34.750Z
2011-09-09T07:07:34.750Z
David Schwartz
<p>Let's say that I want to kill Bitcoin by means of a transaction attack. What in the bitcoin system prevents the following approach:</p>

<ol>
<li><p>I buy a limited number of bitcoin in the market.</p></li>
<li><p>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.</p></li>
<li><p>(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.</p></li>
</ol>

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

<p>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.</p>

<hr>

<p>Can someone explain why bitcoin is immune to this kind of "transfer attack"? </p>

CC BY-SA 3.0
2011-09-09T05:05:52.123Z
Duplicate of http://bitcoin.stackexchange.com/questions/499/what-protection-does-bitcoin-have-against-denial-of-service-dos-attacks
D.H.
CC BY-SA 3.0
2011-09-09T06:15:43.523Z
@D.H. it is similar, but the answer to the other question doesn't address the issues with managing a huge blockchain after the flood.
nmat
CC BY-SA 3.0
2011-09-09T07:01:17.263Z
Wouldn't all these transaction have such a low priority that they would not make it into the block chain? I think that was the point of requiring transaction fees for "smallish" transactions.
Thilo
CC BY-SA 3.0
2011-09-09T17:10:13.450Z
@nmat, the case of "transaction flooding" is covered in the other question and the way I read it the answer concludes that it would not be possible, hence no huge blockchain.
D.H.
<security><blockchain><weaknesses>
What prevents bitcoin from breaking down in case of a "transaction attack"
Peter Vesborg
# What prevents bitcoin from breaking down in case of a "transaction attack"

(Asked by: username_0 on 2011-09-09)

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

1. I buy a limited number of bitcoin in the market.
2. 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.
3. (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"?

**Tags:** security, blockchain, weaknesses

> **Comments:**
> **username_1**: Duplicate of http://bitcoin.stackexchange.com/questions/499/what-protection-does-bitcoin-have-against-denial-of-service-dos-attacks  
> **username_2**: @D.H. it is similar, but the answer to the other question doesn't address the issues with managing a huge blockchain after the flood.  
> **username_3**: Wouldn't all these transaction have such a low priority that they would not make it into the block chain? I think that was the point of requiring transaction fees for "smallish" transactions.  
> **username_1**: @username_2, the case of "transaction flooding" is covered in the other question and the way I read it the answer concludes that it would not be possible, hence no huge blockchain.  

---

## 2 answers

### Answer by username_4 on 2011-09-09. Score: 11

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](https://en.bitcoin.it/wiki/Transaction_fees)


---

### Answer by username_5 on 2011-09-09. Score: 4

Your transactions will simply be ignored. They won't even be relayed across the network.

In order to fuel such an attack, you need old transaction outputs or you need to pay transaction fees. You can use each old transaction output at least once.

With small numbers of coins and no old coins in them, your transactions will be totally ignored unless you pay transaction fees.

It would take only a few hours before all major mining pools switched over to ignoring all transactions with no fees that didn't use coins at least a day old.


---

