I was listening today to their conversation about the transcation fees in Bitcoin and Michael Sailor's understanding stroke me as inaccurate. Is there any direct incentive within the Bitcoin protocol itself to lower the fees? I've found some people on the Web who claim that including a small number of feeless transactions is incentivized, allegedly in order to decrease the difficulty of finding the nonce. I'm not sure about this matter - hence the question.

I'm aware of a range of indirect incentives like the incentive to try to keep Bitcoin users away from using other blockchains. There is also the incentive to collect as much with fees as possible in order to reinvest it in ASIC and the infrastructure. Such indirect incentives are outside of the scope of this question.

From what I read, the inner workings of mining are the following:

  1. New transactions are broadcast to all nodes.
  2. Each node collects new transactions into a block.
  3. Each node works on finding a difficult proof-of-work for its block.
  4. When a node finds a proof-of-work, it broadcasts the block to all nodes.
  5. Nodes accept the block only if all transactions in it are valid and not already spent.
  6. Nodes express their acceptance of the block.

First, a miner takes the transactions and their fees (step 2), and only after this step they compute their POW (step 3). However low the block reward, it is still the fact of solving the puzzle that determines which node is going to confirm their block. I've found nothing in the whitepaper that suggests that there is any relation between the fees of the transactions that were collected and the likelihood of computing the POW.

There seems to be nothing baked into the protocol that can directly stop any miner from producing let's say almost empty blocks or blocks with transaction fees of their preference so long as they are winning POW contest and the transactions are valid. Decades ahead in the world of diminished block rewards any miner's attitude towards the transaction fees does not give them any competitive advantage over another in finding the nonce... is my understanding correct?


There is no advantage or disadvantage for miners to include transactions, except for:

  • If they don't include transactions they don't receive the fees (which are still dwarfed by subsidy for now, but perhaps not forever), though fees can also be paid out of band.
  • It takes some time to build a block candidate with new transactions immediately after learning about another miner having broadcast another block. This time is short, but nonetheless nontrivial and may represent a loss of income (through subsidy) if it is wasted. Some miners therefore start working on an empty block immediately (which is certainly valid), and only in a second step switch to a candidate that includes transactions.

Bitcoin's consensus rules have no hardcoded amounts in them besides the subsidy. This means that miners are free to pick whatever transactions they like (as long as they are valid), regardless of fee. Due to block resource limitations (size pre-segwit, weight post-segwit, sigops, ...), the optimally rational choice tends to be to prefer transactions with high fee per weight. This effectively creates a block space market, where transaction creators bid for the rate-limited space available in blocks.

Some protocol rules on the public P2P network have additional rules for relay. For example, there is a minimum relay feerate (1 sat / vbyte), and replacement transactions have to "pay" some feerate for the bytes of the transactions they replace. Their minimum values are not set by the market, but by policies implemented by the network's node software. They can also be bypassed by submitted directly to miners. During times of contention, these rules are mostly irrelevant, as the markets will force transactions to pay higher feerates anyway.

A long time ago, the default mining software that came with the Bitcoin client included a policy that would reserve a small area per block for "free transactions", which were selected based on "priority" (which was defined in function of age and value of the UTXOs spent rather than fee). I believe this was intended to promote cheap transaction usage. It was purely a client-side choice that was uneconomical for miners.

  • Is the minimum fee of 1 sat/vbyte in Electrum wallet an example of such an additional rule for relay? Is it is implemented by Electrum software rather than Bitcoin Core? – Jerzy Brzóska Dec 22 '20 at 20:42
  • 2
    It is a relay rule implemented in Bitcoin Core. Electrum probably enforces it because of the existence of that relay rule, as its transactions would fail to propagate without it. – Pieter Wuille Dec 22 '20 at 20:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.