Fees
Because every transaction published into the blockchain imposes on the network the cost
of needing to download and verify it, there is a need for some regulatory mechanism,
typically involving transaction fees, to prevent abuse. The default approach, used in
Bitcoin, is to have purely voluntary fees, relying on miners to act as the gatekeepers and
set dynamic minimums. This approach has been received very favorably in the Bitcoin
community particularly because it is "market-based", allowing supply and demand
between miners and transaction senders determine the price. The problem with this line of
reasoning is, however, that transaction processing is not a market; although it is intuitively
attractive to construe transaction processing as a service that the miner is offering to the
sender, in reality every transaction that a miner includes will need to be processed by
every node in the network, so the vast majority of the cost of transaction processing is
borne by third parties and not the miner that is making the decision of whether or not to
include it. Hence, tragedy-of-the-commons problems are very likely to occur.
However, as it turns out this flaw in the market-based mechanism, when given a particular
inaccurate simplifying assumption, magically cancels itself out. The argument is as
follows. Suppose that:
1. A transaction leads to k operations, offering the reward kR to any miner that includes
it where R is set by the sender and k and R are (roughly) visible to the miner
beforehand.
2. An operation has a processing cost of C to any node (ie. all nodes have equal
efficiency)
3. There are N mining nodes, each with exactly equal processing power (ie. 1/N of total)
4. No non-mining full nodes exist.
A miner would be willing to process a transaction if the expected reward is greater than
the cost. Thus, the expected reward is kR/N since the miner has a 1/N chance of
processing the next block, and the processing cost for the miner is simply kC . Hence,
miners will include transactions where kR/N > kC , or R > NC . Note that R is the per-
operation fee provided by the sender, and is thus a lower bound on the benefit that the
sender derives from the transaction, and NC is the cost to the entire network together of
processing an operation. Hence, miners have the incentive to include only those