Bitcoin is made up of blocks. Blocks are a set of transactions, and currently restricted to be less than or equal to 1,000,000 bytes and designed so that on average only 1 block per ~10 minutes can be created. The groups the create blocks are known as bitcoin miners. These miners can pick which ever transactions they want in the block they create.
Bitcoin miners get paid all the transaction fees in the block they mine. So as such, it is in their interests to maximize the amount of money they make when they create a block. So what they do is pick the 1,000,000 bytes of transactions that results them getting paid the most money.
From a bitcoin miner perspective, they don't care of the value of a transaction, but just the size (amount of bytes), because they are only allowed to create blocks of 1,000,000 bytes or less. So miners don't consider the absolute fee a transaction has, but rather, the fee per byte.
Eye-balling it, sometimes it looks like the fee estimates are super high. The reason for that is because they use 95% confidence. If a block was found now maybe you'd only need 20 satoshi/byte, but it might be an hour before the next block and in the subsequent time a large amount of new transactions come in.
Sometimes you don't need such high confidence (e.g. it's not important, or you have a way of fee bumping), so you can get away with much lower fees.
Sometimes fees are high when there is a lot of demand for blockspace. Remember that there can be only so many transactions per block. And there is a sort of auction that occurs to determine who's transactions make it in and who's don't. If there are a lot of people who really need to get into the next block, they will pay for the privilege. Wait for demand to die down and fees will be almost 0.
It's because a high-fee paying transaction depends on it, and reprioritizes it. i.e. the only way for the miner to get the money from the "good" transaction, is include a "bad" one first. It's known as Child-Pays-For-Parent (CPFP), but note that some old versions of bitcoin core, and bitcoin unlimited don't support it (and leave those transactions for smarter miner software).
Nope. But https://bitcoinfees.github.io/ does
The fee estimates are simply generated by calling
estimatesmartfee $n on bitcoin core (0.16.0). The chart is generated by dumping the mempool and doing some smart sorting.
The Bitcoin website lists fast peer-to-peer transactions, worldwide payments, and low processing fees as the most important features of the cryptocurrency. Not surprisingly, Bitcoin has become extremely popular as a way to send money digitally across the globe as it solves critical problems faced by transactions executed in fiat currencies.
In fact, the number of Bitcoin transactions has been consistently rising this year. The third quarter saw 20 million Bitcoin transactions being executed, up from 17.6 million during the second quarter. What’s more, the number of Bitcoin transactions has increased at the rate of at least 5% month-over-month since February 2018.
This growth can be attributed to the drop in the average transaction fees on the Bitcoin network, which was earlier proving to be a hindrance in the way of the adoption of this cryptocurrency.
CNBC reported in December 2017 that users were paying $28 on an average to transact using Bitcoin. There was one Twitter user who claimed that he had to incur $16 worth of fees to send $25 worth of Bitcoin from one address to another, while another journalist had to spend $15 to send $100 worth of Bitcoin from a digital wallet to a hardware wallet. In fact, the average Bitcoin transaction fee had shot up to $55 in the third week of December last year, according to BitInfoCharts
However, the average Bitcoin transaction fee has come down rapidly since then. BitInfoCharts reveals that the average Bitcoin transaction fee had dropped to just $0.50 in the first half of November 2018, which is probably why users are transacting more in Bitcoin to send and receive payments across the globe. But what has caused such a massive drop in the average Bitcoin transaction fees? To find out, we will first have to understand why Bitcoin fees are charged.
A Bitcoin transaction has to be added to the Blockchain in order to be successfully completed. However, for a transaction to be added to the Blockchain, it first needs to be validated by miners who solve a complex mathematical problem to verify the transaction. These miners spend a lot of computing power and energy when verifying a block of transactions from the Bitcoin Mempool (short for memory pool), which contains unconfirmed transactions waiting to be added to a block for confirmation.
Now, miners need to be incentivized for the time, effort, and resources that they are putting in to validate the unconfirmed transactions. As a result, they are given a fee of 12.5 BTC to successfully mine a block, but this is just one of the incentives on offer. Miners also earn a transaction fee that’s selected by the sender in a Bitcoin transaction for their effort as they play a critical role in keeping the network secure.
Each block of transactions on the Blockchain cannot contain more than 1 megabyte of information, so miners can only include a limited number of transactions in each block. This is why miners prioritize those transactions where they have the potential to earn higher transaction fees.
So, if the mempool is full, users looking to get their transactions through will compete on fees. They will push up the fee in a bid to get their transaction included into the next block that’s set to be mined. So, the Mempool bottleneck plays an important role in determining the transaction fee, though this isn’t the only aspect affecting this metric.
The transaction size also has a role to play in the fee determination. As miners can only include select transactions within the 1 megabyte block, they prefer selecting small transaction sizes because they are easier to confirm. Transactions occupying more space, on the other hand, need more work for validation so they need to carry a higher fee in order to be included in the next block.
So, there are two factors determining transaction fees -- network congestion and transaction size -- and they also play a critical role in the time taken for a transaction to be confirmed. For instance, if a user sends a transaction with very low fees attached to it and the Bitcoin Mempool is full, then miners won’t prefer picking that transaction because of the low incentive involved. In such cases, it could take several hours for the transaction to be confirmed.
However, if a user is willing to pay a higher transaction fee, then the first confirmation could arrive in 10 minutes, which is the time taken to mine a block. The Bitcoin community requires six such confirmations for a transaction to be completely validated. This means that if there’s no network congestion and the fee attached is high, then the transaction should be successfully processed in an hour.
Earlier we saw that Bitcoin fees have dropped rapidly over the past year, spurring a growth in the number of transactions. This can be attributed to the smaller Bitcoin Mempool size. However, in case the number of unconfirmed transactions increases at a faster pace than the rate at which new blocks are mined, there will be network congestion. This is when the average Bitcoin transaction fees will go up.
This is the scalability problem faced by Bitcoin thanks to the limited number of nodes. However, the community is coming up with ways to circumnavigate this issue so that numerous transactions are executed quickly with low fees. Earlier this year, a user was able to carry out 42 transactions using the Lightning Network and spent just 4.9 cents in transaction costs.
The Lightning Network is a second-layer payment protocol on top of the Bitcoin blockchain that’s capable of conducting a high volume of transactions at speed by reducing the on-chain load. As such, there’s a good chance that the average Bitcoin transaction fees will remain low going forward thanks to the development of such payment protocols, thereby boosting the adoption of this cryptocurrency as a means of digital payments.