<p>There is no time difference to check old or new outputs, because the database of them (UTXO) is a HashTable. The reason to take obligatory fees from new funds is preventing useless transfers from one account to another wasting the blockchain and increasing its size without reasons.</p>

CC BY-SA 3.0
2014-09-23T11:35:50.283Z
In other words: Anti spam
Jannes
CC BY-SA 3.0
2014-09-23T11:03:31.390Z
2014-09-23T11:03:31.390Z
amaclin
<p>All miners run a full node, <strong>indexing</strong> all the unspent transaction outputs (UTXO). Thus, from the computational difficulty perspective, there's <strong>no difference</strong> between verifying old and new coins that are being spent.</p>

<p>However, there's a reasonable assumption that all miners (and, after all, all honest Bitcoin users) want to protect the value of their assets and thus have an incentive to keep Bitcoin network healthy. Spamming the network with a great number of transactions moving the same coins back and forth among a few addresses, with no apparent purpose, is quite easy and can be carried out by any malicious user. This extra overhead is obviously not good for the network and might even cause a delay in confirmation of other transactions.</p>

<p>To fight this, Bitcoin has a notion of <a href="/q/845/13530">Bitcoin Days Destroyed</a> which prioritizes transactions spending <strong>older coins</strong>. Miners are not forced to employ this strategy (by the protocol), but they do so because it's good for the network, and thus for them. That's why you can observe a huge variance in the time it takes to confirm otherwise look-alike transactions with low or no fees.</p>

<p>Spamming the network with transactions paying standard fees has obviously become <strong>infeasible</strong>. But this strategy is still useful when prioritizing fee-less transactions, or any great number of otherwise low-priority transactions.</p>

<p><strong>UPDATE:</strong> The notion of Bitcoin Days Destroyed is not so important anymore since these days almost all miners reject zero fee transactions. Spamming the network "for free" is no longer possible.</p>

CC BY-SA 3.0
2017-10-31T21:03:32.327Z
What are you refering to with "this extra overhead"?
croraf
CC BY-SA 3.0
2017-11-01T18:07:01.627Z
Extra overhead of processing spam transactions with zero fees. Extra as on top of normal transactions the network has to deal with spam transactions sent by malicious users that only do so in order to DoS the network. This is no longer a concern though because zero fee transactions are accepted by virtually no miner nowadays.
knaperek
CC BY-SA 3.0
2017-11-01T18:21:39.787Z
Coin-age priority was deprecated with Bitcoin Core 0.12.0, see e.g. this related question: https://bitcoin.stackexchange.com/q/49226/5406
Murch
CC BY-SA 3.0
2017-11-01T18:34:01.923Z
Thanks. But there is a minimal fee of around 1 satoshi/byte set by default in bitcoin-core instead? (https://bitcoin.stackexchange.com/questions/61734/are-minimal-bitcoin-fees-nowadays-enforced-in-bitcoin-core)
croraf
CC BY-SA 3.0
2014-09-24T09:51:43.660Z
2017-11-01T21:22:41.810Z
2017-11-01T21:22:41.810Z
knaperek
<p>I am trying to understand how bitcoin fees work. I have understood well why transaction with many inputs require higher fees but I can't figure out why transaction spending virgin bitcoins would require important fees as well.</p>

<p>The logic behind my thinking is the following:
If my inputs are a recent coinbase transaction, it is easier for the nodes to check their validity as they don't have to crawl the whole blockchain up. So it should require less time/processing power to validate them, which would mean lower fees.</p>

<p>Apparently there is something wrong in here :) </p>

<p>Does anybody have a better explanation?</p>

<transactions><transaction-fees>
Why do transactions with lower input age require higher fees?
arnaud
# Why do transactions with lower input age require higher fees?

(Asked by: username_0 on 2014-09-23)

I am trying to understand how bitcoin fees work. I have understood well why transaction with many inputs require higher fees but I can't figure out why transaction spending virgin bitcoins would require important fees as well.

The logic behind my thinking is the following:
If my inputs are a recent coinbase transaction, it is easier for the nodes to check their validity as they don't have to crawl the whole blockchain up. So it should require less time/processing power to validate them, which would mean lower fees.

Apparently there is something wrong in here :)

Does anybody have a better explanation?

**Tags:** transactions, transaction-fees


---

## 2 answers

### Answer by username_3 on 2014-09-24. Score: 3 | Accepted answer

All miners run a full node, **indexing** all the unspent transaction outputs (UTXO). Thus, from the computational difficulty perspective, there's **no difference** between verifying old and new coins that are being spent.

However, there's a reasonable assumption that all miners (and, after all, all honest Bitcoin users) want to protect the value of their assets and thus have an incentive to keep Bitcoin network healthy. Spamming the network with a great number of transactions moving the same coins back and forth among a few addresses, with no apparent purpose, is quite easy and can be carried out by any malicious user. This extra overhead is obviously not good for the network and might even cause a delay in confirmation of other transactions.

To fight this, Bitcoin has a notion of [Bitcoin Days Destroyed](/q/845/13530) which prioritizes transactions spending **older coins**. Miners are not forced to employ this strategy (by the protocol), but they do so because it's good for the network, and thus for them. That's why you can observe a huge variance in the time it takes to confirm otherwise look-alike transactions with low or no fees.

Spamming the network with transactions paying standard fees has obviously become **infeasible**. But this strategy is still useful when prioritizing fee-less transactions, or any great number of otherwise low-priority transactions.

**UPDATE:** The notion of Bitcoin Days Destroyed is not so important anymore since these days almost all miners reject zero fee transactions. Spamming the network "for free" is no longer possible.

> **Comments:**
> **username_4**: What are you refering to with "this extra overhead"?  
> **username_3**: Extra overhead of processing spam transactions with zero fees. Extra as on top of normal transactions the network has to deal with spam transactions sent by malicious users that only do so in order to DoS the network. This is no longer a concern though because zero fee transactions are accepted by virtually no miner nowadays.  
> **username_5**: Coin-age priority was deprecated with Bitcoin Core 0.12.0, see e.g. this related question: https://bitcoin.stackexchange.com/q/49226/5406  
> **username_4**: Thanks. But there is a minimal fee of around 1 satoshi/byte set by default in bitcoin-core instead? (https://bitcoin.stackexchange.com/questions/61734/are-minimal-bitcoin-fees-nowadays-enforced-in-bitcoin-core)  

---

### Answer by username_1 on 2014-09-23. Score: 3

There is no time difference to check old or new outputs, because the database of them (UTXO) is a HashTable. The reason to take obligatory fees from new funds is preventing useless transfers from one account to another wasting the blockchain and increasing its size without reasons.

> **Comments:**
> **username_2**: In other words: Anti spam  

---

