Two years ago, average bitcoin transaction fees were less than a penny. Today, they have surged to nearly $6 on average.
In short, the reason behind this rise lies in bitcoin's limited transaction space. As demand has grown over the years, that space has started to fill up, so miners, in an effort to make the most money per block, are prioritizing transactions with larger fees.
But, it's difficult to choose the right fee.
Sometimes users pay too little and their transactions get stuck, while others overpay based on lousy fee estimates. In a worst-case example, Coinbase lost thousands of dollars earlier this year when paying fees roughly 100 times what they needed to pay.
While many wallets didn't originally let users choose fees, believing transactions would always be available at no or low cost (indeed this remains a contention driving the scaling debate), wallet providers have come a long way, allowing users more flexibility in choosing their fees.
Today, most wallets allow users to not only select their own fees, but add a dynamic fee estimation that helps them decide what fee to add to get their transaction through the fastest. As shown by rising transaction fees, there's a growing need for them to consider such solutions.
Bitcoin Core contributor and Chaincode co-founder Alex Morcos, for one, has spent the past three years improving the estimation tools in Bitcoin Core, the network's default software.
In Bitcoin Core's upcoming software release, version 0.15.0, his upgraded algorithm is being made available for use. The advanced tool is the latest to demonstrates how wallets are giving users more control over their fees.
Fee estimation algorithms need to take many factors into consideration.
For one, there are transaction "cycles" – the transaction load is heavier during the weekday, and lighter at night and on the weekends, not to mention, there are more random, unpredictable fluctuations in transaction load.
While there's always been an option for the algorithm to look only at the most recent fees to determine what fee a user should add, the problem is that these cycles can change quickly and drastically.
Say it's a weeknight, and the algorithm notices that transactions with lower fees are going through quickly, but, suddenly a bunch of transactions are broadcast at the same time, clogging up the network. If a user had taken the algorithm's advice and added only a small transaction fee, they might now have their transaction bypassed for a while.
The possibility of a random change in conditions is specifically what Morcos has been tackling.
Users might have different preferences for the best way to deal with this. Some might want to risk their transaction getting stuck. Others might not.
With Morcos's addition, the Bitcoin Core wallet tries to address this by offering two fee modes, "conservative" and "economical."
The conservative option looks at transaction fees on a longer time scale, which is "less susceptible to rapid changes in fee conditions," as the release notes explain. The advantage is that the fee might be more likely to go through, but on the other side, the fee might be a bit higher than it needs to be based on market conditions.
Meanwhile, the economical mode looks only at the most recent blocks. This might lead to lower fees, but the downside is, if those conditions don't persist, the transaction might get stuck or take a longer time to confirm.
Users might enjoy this improvement to Bitcoin Core, which some argue is the most secure and trustless way of making transactions with bitcoin. But using Bitcoin Core comes with a very big downside: as it's well-over 100 GB, it takes up to weeks to download, something that only die-hard bitcoin supporters are likely to do.
In that way, it might come as a relief that other wallets are coming up with their own fee estimation tools.
One of the most popular wallets, Blockchain.info, offers a dynamic fee suggestion algorithm that suggests a fee. If users decide to choose their own custom fee, a warning pops up to tell users if they may be selecting a fee that the wallet believes is too high or too low.
In another example, hardware wallet Ledger now offers three tiers of fees, which depends on the number of blocks the user wants their transaction to go through in. "High fees" aim for transaction confirmation in the next block, "standard fees" aims for three blocks, and "low fees" aims for six blocks.
So, what to make of all these different fee algorithm choices?
"It's hard to say which is the 'best' from a scientific standpoint without doing extensive backtesting," BitGo engineer Jameson Lopp argued, adding that based on transaction fee graphs from bitcoin data site p2sh.info, Mycelium and BitPay still use "pretty bad" estimations, and Blockchain.info's was bad up until just a month ago.
In Morcos's opinion, it's good that each wallet is coming up with its own mechanism for choosing their own fees based on their own business goals.
He argued Bitcoin Core's need to appeal to almost every type of bitcoin user could make its estimation data less attractive for specific cases.
"We don't know whether they are more price conscious and would rather pay half as much and take a small chance of a long delay or are more time conscious," he said.
Beyond fee estimation
There's still room for improvement, though. While Morcos has been tinkering away, creating a better fee estimation tool, he believes no one algorithm will ever be able to take all the factors involved in deciding fee prices, especially since fees depend on how many transactions there will be in the immediate future, something that's obviously impossible to predict.
"Fee estimation will always be an inexact science," he said.
And this is why Morcos thinks the "best approach" is to rely on tools that go beyond estimation, such as replace-by-fee (RBF) or child-pays-for-parent. Embedded in Bitcoin Core, RBF transactions are a certain type of transaction that can be replaced with a higher fee when they get stuck.
In that way, users don't have to "get the fee perfect on the first pass," Morcos said.
With these options now available, fee tools, it seems, are evolving rapidly in an attempt to give users more control.
Disclosure: CoinDesk is a subsidiary of Digital Currency Group, which has an ownership stake in Coinbase.
Rubik's cube image via Shutterstock