How did transaction fees work in the version 0.3.24?

7

1

Is there a minimum transaction fee for every transaction? When do I pay a fee over the minimal fee?

ripper234

Posted 2011-08-31T00:29:15.387

Reputation: 25 192

Just a quick note that 0.3.24 is no longer the current client version. In future, this question will probably make less sense and need rewording as multiple client applications become available.Highly Irregular 2011-10-04T18:31:33.553

@HighlyIrregular - Updated.ripper234 2011-10-04T23:12:55.160

Answers

9

The minimum transaction fee is zero.

Transaction fees are enforced in two places. First, a client can be configured not to accept or relay a transaction that doesn't include a sufficient fee. Second, a miner can choose which transactions to include in any blocks they mine and will typically try to include transactions with the highest fees.

Most normal transactions will have a required fee of zero. The three most common exceptions are:

  1. If a transaction uses coins that were very recently received, a fee of .005 bitcoins may be imposed.

  2. If a transaction "gathers" bitcoins from a large number of other transactions, a fee of about .0002 bitcoins per input source may be imposed.

  3. If a transaction "spreads" bitcoins to a large number of destinations, a fee of about .0002 bitcoins per output may be imposed.

This is because these types of transactions tend to look a lot like spam transactions used to maliciously load the network. Currently, there are still clients and miners that will accept any valid transaction regardless of the transaction fee. So if you're willing to go to the trouble, you can get any transaction into the public chain eventually with no fee. (Just manually configure your client to connect to them and be patient.)

David Schwartz

Posted 2011-08-31T00:29:15.387

Reputation: 46 931

What's the motivation for exception # 1?ripper234 2011-08-31T00:54:26.670

4It's genius. The idea is that an attacker will quickly run out of old coins and have to start using new coins to continue a transaction flood attack. Meanwhile legitimate transactions will get older and older. So legitimate transactions will eventually out-priority the illegitimate ones.David Schwartz 2011-08-31T00:55:38.760

has this changed in the new version 0.4.0 ?osmosis 2011-09-30T06:30:34.207

I believe it is the same in 0.4.0 as it was in 0.3.23. The basic rules have been the same much longer than that, but the minimum relay fees (for large transactions) were dropped a version or so before 0.3.23.David Schwartz 2011-09-30T07:12:49.637

For #2 and #3, what is "a large number"?Highly Irregular 2011-10-04T18:26:29.177

More than about 3 of either makes the transaction not free. See this answer.

David Schwartz 2011-10-04T20:35:30.003

@DavidSchwartz did you mean to link to the same answer this comment is on?eMansipater 2011-10-05T18:35:42.843

No, I didn't. :/ And I'm not sure where the answer I meant to link to is now.David Schwartz 2011-10-05T18:44:45.137

On #1, how recent is recent?Codler 2011-09-01T08:23:06.180

I believe that there is no hard cutoff. The older the coins are, the higher the priority of this transaction relative to other transactions. Oversimplifying a bit, transaction priority is the sum of the number of bitcoins times the number of confirmations over all inputs to the transaction divided by the number of bytes the transaction will occupy. Miners typically take transactions first in order of highest transaction fee relative to size and then in priority order.David Schwartz 2011-09-01T08:49:42.927