How do Bitcoin transaction fees actually work (long read)

  • Updated


In this article we’ll be taking a look at Bitcoin’s fee structure, and discover why Bitcoin fees are sometimes cheap, and very costly at other times. Satoshi put a lot of thought into Bitcoin’s design, and transaction fees were created very purposefully.




Bitcoin’s transaction fees are incentives to a miner to validate your transaction

When Bitcoin’s price momentum swings bullish or bearish, more people naturally begin to use Bitcoin. Traders buy or sell, weak hands panic, hodlers try to accumulate, and shoppers and merchants take advantage of increased/decreased purchasing power.


Whether they are using Bitcoin to make purchases and taking advantage of BTC’s increasing price, trading to make a speculatory wager on futures, or simply trying to accumulate more BTC for the Hodl stash, the increased network activity often creates a noticeable increase in transaction fees.


Bitcoin prioritizes security over efficiency, and because of this trade-off in priorities, can only process around 4-7 onchain transactions per second. This extremely limited throughput, makes scaling the Bitcoin network for mass-adoption, one of the biggest challenges facing this new financial technology.


Since Bitcoin miners can choose which transactions to include in the blocks they mine, and transactions are selected by miners according to a free market system of network fees, miners are incentivized to include the transactions that paid the highest fees, which earn them a higher income.


Because of this, sometimes, transactions with lower fees get caught in the limbo of the mempool during times of increased usage of the Bitcoin network. The mempool is where unconfirmed transactions wait to be validated by a miner.


Once a miner validates the transaction, it gets its first confirmation, leaves the mempool and is included in a block. As the new block gets added the ledger of additional nodes, and more new blocks are added in sequence, more confirmations ossify the transaction in the blockchain.


Miners often simply skip over the transactions with lower fees and opt to include transactions who elected to pay more in fees, into the next block, during times of high network congestion and transaction backlog in the mempool.


Let me explain it like this, if I want to send a BTC payment to you, and the average network fees are 1 Satoshi per byte, if I pay 2 Satoshis per byte, my transaction will be included in a block before the transactions with the lower fee of 1 Sat per byte, as the miner who includes it will receive double the payment in fees, compared to the average fee at the time.


Miners are kept honest by greed, they make money from fees and block rewards, and are incentivized to behave in their own best interests. This is part of the game theory elements which Satoshi designed into the Bitcoin network, to safeguard it from attackers.


Bitcoin’s growing pains were felt in the form of transaction fees during the last bull run


When circumstances create increased levels of network usage, fees rise in tandem as users compete for blockspace. Transactions without a high enough fee, simply won’t be confirmed until average network fees drop low enough for a miner to be incentivized to include the transaction in their next block.


This can be very frustrating, and also costly. In December 2017, when Bitcoin reached its all time high, fees became too expensive to justify making small purchases, as the fees were more costly than the items being purchased.


Many Bitcoin services and businesses did not initially take the possibility of rising fees into account for their business models, and became unprofitable or unusable, and paralyzed by the rise in fees.


Several improvements have been added to Bitcoin since then which help reduce fees during times of congestions and high demand for blockspace, although none of them are a perfect solution.


Most notable has been Segregated Witness (segwit), which fixed a transaction malleability bug which was necessary in order to make Lightning Network feasible as a functioning layer 2 on top of Bitcoin.


Segwit paved the way for Lightning Network, Bitcoin’s nearly instant, cheap decentralized payment system, which makes micropayments possible and eases Bitcoin’s network congestion by pushing much of the economic activity off-chain.


Lightning Network is the primary scaling solution for Bitcoin, currently, but it is still in an early stage, with developers still working to improve UX and make it accessible and practical for everyday users.


Some major headway has been made in this regard, and many Bitcoin users are now routinely using LN and it's common for businesses to accept LN payments. As more people onboard to LN, user experience will also improve as more payment channels increase the overall usability and capacity of the network.


With LN, users still pay transaction fees, although they are minimal compared to Bitcoin’s onchain network fees. Aside from LN there are other scaling solutions in the works, like Statechains, Sidechains, Drivechains, Chaumian e-cash servers, and other proposals which are being explored.


Each of these solutions will have different fees, trade offs, benefits, and limitations. As Bitcoin adoption grows, scaling solutions which allow users to choose how they want to send their BTC, what trade offs are acceptable, and what kind of fees they want to pay will become more commonplace.



Thanks for using Bitrefill!