During its early days, one of purported benefits of bitcoins were cheap transactions. Transfers between bitcoin users could be made peer to peer in a trustless system without transaction fees. The design of the bitcoin blockchain rewards miners who update the blockchain by giving them newly created bitcoins at a pre-determined rate. The idea of mining rewards supporting the blockchain assumed the newly minted bitcoins would provide enough incentive to miners who would contribute enough computing power to keep the blockchain live. However, as bitcoin has grown, and the volume of transactions has increased, transaction fees are having an increasing influence on processing bitcoin transactions.
4 days ago, I initiated a transfer of 0.50 bitcoins from one address to another. This used to be a quick and painless transaction. A few years ago, I didn’t even need to attach a fee to my transaction, and it would get processed in a timely manner. But this time, I chose a low fee and my transaction sat in digital purgatory for several days. Not only did the transaction sit on the blockchain unprocessed, but of course, I could call the address on a blockchain explorer and see the transaction sitting there. In many other payment networks, there is a standard lag of time between transaction initiation and final processing, so there is a window of time where a transaction could be initiated and then cancelled. If you write a paper cheque and give it to a service provider, if something goes wrong in the time the cheque is being delivered and processed by the payment network, you can instruct your back to “stop payment”. There is currently no easy to use “stop payment” mechanism with bitcoins. So for 4 days, I watched my transaction sit on the bitcoin blockchain without any confirmations, hoping, wishing, waiting.
The whole experience brings up questions about the changing role of transaction fees to newly minted coins as the miner reward for blockchain updating. How has the role of transaction fees changed over time, and what can we expect to change in the future?
One of the challenges with the way bitcoin was designed is the hard coded cap on block size. Bitcoin actually has a limit of 1MB block size. Miners can mine blocks up to the 1MB fixed limit, but any block larger than 1MB is invalid. This feature of bitcoin has become more important as volume has grown. The transaction processing lineup has got so big, that participants need to assign a large(er) reward to their transaction in order to incentivise miners to process their transaction in a timely manner. The limited bitcoin block size fuels calls for forks such as Bitcoin Unlimited and provides incentives for the creation of competing coins.
We can measure the transaction fee rate, and compare changes over time to understand how transaction fees are changing, how it is impacting volumes, and how this might change in the future. There are online services that provides us with information we can use to set fees.
Here is a page called Estimate Fee that estimates the fee required to process a bitcoin transaction within a number of blocks.
If you are running the bitcoin client, you can see the command used to call this data. According to this page, in order for your transaction to be processed in 25 blocks, you will need to assign a reward (fee) of 0.00198749 bitcoins. At the time of writing, with bitcoins worth $2,500 USD, that fee is worth $4.96. If there are 135 blocks per day being processed at the time of writing, a 25 block transaction can expect to be processed in about 4.5 hours.
I don’t necessarily think that the limited block size will mean the death of bitcoin. Making something expensive to move might mean bitcoin becomes (or has already become) impractical to use as a means of retail payment. But a high transaction fee might have some other benefits. The network and first mover advantages of bitcoins might mean they will increasingly be used as a clearing currency, and since each transaction is just a number (each transaction “number”, whether a large value one or a small value one) it might make sense to only process large value transactions in bitcoins, not retail transactions.
The blockchain is only updated once a transaction moves value from one address to another. If payments are being made within a network, no transaction fee needs to be applied. If you deposit bitcoins on an exchange, you send your bitcoins from their current address, to an address at the exchange. Once on the exchange address, the exchange operator can hold the bitcoins for you, and you can transfer the bitcoins within the exchange without interacting with the blockchain, between other exchange participants, until the money needs to leave the exchange again (in order to process a withdrawal perhaps).
At the outset, many bitcoin enthusiasts thought bitcoin would provide an alternative payment network, and it does, but this doesn’t mean payment networks won’t exist within the bitcoin blockchain. I believe that with the rise of bitcoin transaction fees, there will be a greater incentive for payment processors to emerge within the bitcoin blockchain in order to clear transactions quicker and cheaper without having to interact with the blockchain itself, thereby avoiding the associated fees. Such a system still supports the development of bitcoins, because the bitcoin blockchain will still fulfill a function of money as a unit of account since payment network (unless they are fraudulent themselves) will still need to net off balances.