Starting January 23rd, Bitcoin has been experiencing a delay in confirming transactions. Many users claim to have been waiting over 10 hours for their Bitcoin transaction to confirm, this article will try to explain how this happens and what you can do to either fixe an unconfirmed transaction or avoid the delay in the first place.
What is going on?
The main issue the Bitcoin network is experiencing right now is a backlog to it’s Mempool (memory pool). The Mempool is a set amount of storage space that each Bitcoin node has that serves as a holding cell for pending transactions. The nodes receive transactions from the network constantly, and after a brief verification that the hashes match up and the transaction is valid they hold it in memory before a miner picks it up. As soon as the miner finds and a block, each node compares the transactions in the block vs the ones in it’s Mempool, it then removes the confirmed txs from it’s memory.
The Mempool is constantly changing as transactions are appended and removed from it. In the case of an overflow, too many transactions flow in the mempool causing a backlog. Since different nodes have a different size allocated to the mempool, they each set their own threshold for the minimum transaction fee. Since the real backlog is memory and not amount of transactions, the fee is set per byte, not per transaction. Any transactions not containing a high enough fee / byte, will be automatically dropped from memory, effectively going to limbo. The good news is since the transaction never confirms, the protocol doesn’t see that you sent bitcoins to a certain address, so you are still in possession of your coins. Recovering them is a different story and depends on your wallet solution. Tradeblock provides a great visual representation of the size of Bitcoin’s mempool:
Most speculate that due to Bitcoin’s recent difficulty jump it is much harder to mine blocks, as they are coming at a much slower rate. It seems that transactions are coming in at a steady rate and it doesn’t seem like someone is intentionally spamming the network. Furthermore, the fact that Bitcoin’s blocksize is still 1MB after blocks have already been full months and months doesn’t help the situation at all. Solutions like SegWit and the Lightning Network sure seem nice right about now.
Lets try a thought experiment, if someone was intentionally spamming the network, the attacker would have to pay on average 1 BTC in fees every 10 minutes in order to keep the mempool full and backlogged. In other words, for $25,000 the attacker would “inconvenience” the network for 5 hours. Definitely not an attractive endeavor to say the least. The only way an attacker can come remotely close to breaking ROI on spamming the network is if he tried shorting Bitcoin.
Let us assume the attacker had $500,000 ready to short, he would need roughly a 5% return on that to make back the $25,000. Meaning he would need a $45 difference in Bitcoin price to be able to execute this move. So far Bitcoin’s price dropped from $920 to a low of $880 since the beginning of the “attack”, a $40 difference. Meaning, the attacker would need much more than $500,000 to make any reasonable gains. While it’s unlikely that an attacker executed such a sophisticated attack, Bitcoin’s 24 hour volume is at a whopping $14 million, it’s not impossible that this was in fact a carefully executed plan.
What you can do?
Currently the average satoshi / byte fee for the network is 100 satoshis, or 0.000001 BTC. On average your transaction size is around 500 bytes, meaning that currently, the average transaction fee is 0.0005 BTC, which is around 50 cents at today’s prices. If your bitcoin transaction isn’t confirming you may want to see if you’ve added a high enough fee. Blockchain.info will provide you with the relevant information if you have your txid. If you used too low of a fee and did not opt in for your transaction to use RBF (Replace By Fee), then you are out of luck. You simply have to wait for either the transaction to confirm or for the network to drop it, which will allow you to rebroadcast the transaction with the appropriate fee.
A good tool to make sure you are always sending the right fee is 21’s bitcoin fee calculator.
Take the lowest green back, in this case 100 satoshis per byte, and double that. So, if you pay a 200 satoshi per byte fee currently your transaction will be confirmed in the next block. In other words, on average you would currently need to pay at least $1 per transaction in order to not experience any delays.
If you are an Electrum user you can avoid all future issues with low fees / pending transactions if you use the newly implemented Replace By Fee function. Beginning from Electrum 2.7.1, RBF transactions are officially supported in the Electrum client. Go to Tools > Preferences > Fees > Enable Replace-by-Fee, which will make the transactions “Replaceable”. Any transaction you send that way will have an option to replace it with a higher fee. This way, if you accidentally used too low of a fee you always have the option to fix the mistake.
Another way is to use the newly implemented child pays for parent (CPFP) features. What this allows you to do, is to spend the unconfirmed transaction to another address but this time using a higher fee. The way to do it is to first find the transaction id of the unconfirmed transaction, then manually create a new transaction with a much higher fee spending the pending one. Coinb.in offers an interface for manually creating transactions which may be of great help to you. After successfully creating the transaction, you have to broadcast to the appropriate pool. Use this link to push a transaction to Eligius, which is a great choice as not all mining pools support CPFP.
It is always a good habit to check 21’s mining fee estimator before sending a transaction, another way to avoid such inconveniences is to permanently enable RBF in your Electrum client, and always opting in for a replaceable transaction. If you are stuck with a transaction that is not confirming do not panic, the coins will return to your wallet or confirm to the sender sooner or later. Because of the beauty of the protocol, in the last 8 years Bitcoin has been in existence no coins have ever mysteriously disappeared.
If you liked this article, follow us on Twitter @themerklenews and make sure to subscribe to our newsletter to receive the latest bitcoin, cryptocurrency, and technology news.