Matthew Hrones, August 30, 2017
Fees have been extraordinarily high this past week, and this article aims to clear up misconceptions…
Fees have been extraordinarily high this past week, and this article aims to clear up misconceptions and help users make smarter decisions in setting the right fees for their transactions.
$3 fee for a $5 transaction?
With the recent Bitcoin rally up into the mid $4,000’s there has been a huge influx of users that really don’t understand how Bitcoin works under the hood. And that’s okay, most people are here just for the investment. But more and more users are getting fed up with the fact that Bitcoin’s network fees have been so high, even for very simple low-cost transactions.
Unlike traditional financial institutions that charge fees for transactions, Bitcoins fees are NOT dependent on how much money you’re sending. The fees for sending $5 worth of Bitcoin can be the same as sending $5,000. Fees are not measured in dollar amounts, or even Bitcoin amounts. They’re measured by “satoshis per byte of data” or sat/byte.
One satoshi is the smallest denomination of a Bitcoin: 100,000,000 satoshis make up one Bitcoin.
Instead of paying for every Bitcoin you send, you pay for the amount of data in a block your transaction is taking up. The average transaction is roughly 226 bytes, so the time it takes to confirm your transaction depends on the fee the transaction is sent with.
But I was promised low fees after Segwit?
Unfortunately the effects of Segwit on transaction capacity won’t be seen for weeks or even months. The only transactions that help increase capacity are transactions from a “Segwit address.” A Segwit address is simply an address that comes from a wallet that supports Segwit. Currently, there are almost no wallets that are Segwit ready, so very few Segwit addresses are getting created.
To really see the effects, a large majority of transactions that are transacted regularly will need to be moved to Segwit addresses, which will take some time. When most those coins are moved, more transactions will be able to be included per block, lowering fees.
Another huge problem right now for wallet developers is creating a proper fee estimation algorithm. Many wallets work by using data from popular mempool visualization websites. Many of these sites, however, do not adapt well to huge swings in fee prices.
Even at times when a transaction with a fee of 40 sat/b gets confirmed in ten minutes, some sites will still recommend fees that are close to 10x that. Better software will lead to average people setting very competitive fees, leading to a more accurate fee market.
How is Bitcoin Cash’s EDA Affecting Bitcoin?
Many of you know about the fork that happened at the beginning of August, creating a new coin known as Bitcoin Cash. A big concern for the developers of Bitcoin Cash was the lack of hashpower that would switch to the other chain. If a very small percentage switched, then the network would be halted, very few blocks would be created.
Their solution to this problem was to add an Emergency Difficulty Adjustment mechanism, or EDA. This works in a way that if the average number of blocks in a period is too low, it will immediately adjust to a lower difficulty. This is a problem for one huge reason. The miners want to mine the most profitable chain.
So if they go and mine Bitcoin for a while, allow for the EDA to lower the difficulty to next to nothing, then can simply switch the chain and mine blocks at an average of two or three ever ten minutes. Once the difficulty goes back up to pre-EDA levels, then swap back to Bitcoin and let the process repeat itself.
These difficulty oscillations are making block creation times very slow on the Bitcoin Cash network and are also resulting in a growing backlog of transactions in Bitcon as well. This means less transactions per second and a higher cost to have your transaction included in the next block.
How do I find the right fee to use?
There are many fee estimation sites out there that are publicly available. The most popular is bitcoinfees.21.co. However this site’s estimation algorithm is way off, sometimes suggesting 5x the actual recommended fee. The best thing to do is actually look at the lowest fees that were included in the last block.
For example, you can go to blockchain.info and click on the most recent block. Scroll all the way to the bottom and look at some of the transactions that are there. The transactions with the lowest fees usually will be at the bottom. Take those fees and set yours a little higher. Boom, your transaction should be included in the next block.
Many wallets nowadays do not have the ability to set custom fees and in result cost users loads of money. I highly suggest waiting for a time where there aren’t many transactions in the mempool, such as the weekend, and then move your coins to an address with custom fees ability. You can google what wallets support custom fees on your devices, for desktop Electrum and Bitcoin Core are both reputable wallets that support custom fees.