- 200k unconfirmed transactions
- The reasons behind ‘stuck’ transactions
- Helping you understand mempool
- Dealing with transactions that remain unconfirmed: our ultimate guide
- Canceling an unconfirmed Bitcoin transaction
- Coinbase exchange embraces CPFP
- Things are getting better for BTC transactions
- The growing support for zero confirmation
- The bottom line
Error message
Warning: Undefined array key 0 in amp_entity_view_alter() (line 156 of modules/contrib/amp/amp.module).amp_entity_view_alter(Array, Object, Object) (Line: 545) Drupal\Core\Extension\ModuleHandler->alter('node_view', Array, Object, Object) (Line: 304) Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 238) Drupal\Core\Entity\EntityViewBuilder->build(Array) call_user_func_array(Array, Array) (Line: 111) Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. See https://www.drupal.org/node/2966725', 'exception', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 788) Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 377) Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 204) Drupal\Core\Render\Renderer->render(Array, ) (Line: 238) Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 583) Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 239) Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 128) Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90) Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object) call_user_func(Array, Object, 'kernel.view', Object) (Line: 111) Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object, 'kernel.view') (Line: 187) Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58) Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191) Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128) Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82) Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 704) Drupal\Core\DrupalKernel->handle(Object) (Line: 18)
Unconfirmed Bitcoin Transactions: Why They Happen, and What You Can Do About Them
200k unconfirmed transactions
The issue of unconfirmed transactions came to a head in December 2017 during the peak of the cryptocurrency craze. Due to the double whammy of overloaded exchanges and constant DDoS attacks, a whopping number of 200,000 Bitcoin transactions remained unconfirmed for over a day.
Notably, the Ethereum network had similar problems after CryptoKitties caused havoc with its Mempool. Although, as it later turned out, this was an extremely frontloaded success, and the killer dApp is yet to appear on the horizon.
A more recent example of a rapid increase in the level of network congestion was related to the Bithumb hack in June. Most probably, the delays and the increased fees were connected to the South Korea-based exchange cleaning out its wallets.
The reasons behind ‘stuck’ transactions
Bitcoin is a cryptocurrency that is based on the Proof-of-Work (PoW) algorithm. All Bitcoin transactions are conducted with the help of cryptocurrency mining.
Once you press that ‘Send’ button in any wallet application, the transaction is going to a memory pool (or simply ‘mempool’ before being recorded on a public ledger — only miners are capable of doing this).
However, for a given payment to be processed successfully, it has to be confirmed by a miner who gets a block reward for each confirmation. One block represents a set of data pertaining to transactions that are cherry-picked by miners (or ‘nodes’). Until confirmed, it remains in the mempool.
Here’s the catch — blocks contain only a limited number of transactions. The transaction throughput of the Bitcoin network remains one of the most controversial issues in the crypto space, and that was one of the main reason why ‘Bitcoin Jesus’ Roger Ver eventually jumped ship and became an ardent proponent of Bitcoin Cash. Earlier, Ver claimed that those who called for an increased blocksize simply didn’t have a say in the Bitcoin community. Ethereum, on the other hand, had this issue resolved by adjusting the blocksize to the network volume. That is why the Ethereum network was able to handle a three-times-bigger transaction volume back in February.
As of now, the blocksize is limited to 1 MB (this limit was introduced by none other than Satoshi Nakamoto).
However, there was also a place for an anomaly in the form of a 2 MB block.
The first 2MB bitcoin blocks were mined this weekend (see block 505253 https://t.co/0Eeh5Jk05E - 2.217 MB). These record block sizes were made possible by transactions with numerous segwit inputs created on BitGo with super low fees. (photo credit https://t.co/XYUnX6w6ix) pic.twitter.com/PvGqTcTPwz
— BitGo (@BitGo) 21 января 2018 г.
Block rewards are the bread and butter of cryptocurrency miners. Hence, if you didn’t want to shell out a transaction fee (or your fee is ridiculously small), do not expect any miner to pick up your transaction in a snap – there is a good chance that it won’t be processed at all.
Helping you understand mempool
As mentioned above, mempool is a shortening which stands for a ‘memory pool’. Long story short, this is the place where all unconfirmed transactions remain in limbo. The pool unites all the computers that are connected to the Bitcoin Network with the help of Bitcoin mining software. All payments that are yet to be confirmed are stored in the RAM of a given device. If the mempool size is inching closer to occupying the whole RAM capacity, the node is able to automatically discard all pending requests with lower fees.
It is worth pointing out that the mempool is not a queue — different nodes have their own set of transactions that to be confirmed, and they are clearly incentivized to pick transactions that have the highest mining fees.
The more popular BTC gets, the bigger is the size of the mempool. Subsequently, it drives the fees through the roof since it’s getting increasingly difficult for miners to handle everything.
Would better hardware make a difference? No. The modus operandi of the Bitcoin network presupposes that each block is mined every ten minutes (or nearly so), and the same timeframe would remain in place even if every miner had a chance to be equipped with super powerful hardware.
In order to get all the insights into the current state of the mempool, one simply has to visit the website of a German software engineer Jochen Hoenicke: it displays all current Bitcoin fees along with the current mempool size.
The most obvious way to get to the top of the mempool and get your money transfer confirmed is to pay a higher fee. During the Bitcoin boom in December, some users would have to pay a jaw-dropping 40 percent fee in order to send a single payment. This sparked a huge debate in the Bitcoin community, with some miners popping bottles of champagne (their revenue skyrocketed along with the fees), but others were deeply concerned that high fees may take a toll on Bitcoin’s acceptance in retail or online stores.
However, how to make sure that your fee is high enough for your transaction to be confirmed? It is not always reasonable to accept any fee that is automatically suggested by your wallet software.
There is a website called bitcoinfees.earn.com that will help you calculate the fees that are measured in satoshis per one byte (satoshis/byte).
As mentioned above, the transactions that are going to pay less in fees are going to be processed first. The dark blue line indicates the number of transfers that went through the mempool — it clearly shows how much money people paid to get their payment completed. All high priority transactions appear in the green area. Those who want to save money can go for a lover fee, and they may get their transaction processed relatively fast if they get lucky and the whole mempool gets cleaned out in a snap.
Is there a way to get out of this predicament for those individuals who are not willing to shell out higher fees? Frankly speaking, you can’t circumvent the rules that are ingrained in the Bitcoin protocol. Still, there are certain workarounds that will help you confirm your transaction faster even with lower fees:
-
Compressing multiple payments in a single transaction (thus reducing their size)
-
Do not send your payments during the time of day when the Bitcoin network usually experiences the highest level of congestion
-
Join the Roger Ver crowd, and switch to any other altcoin. Litecoin, Bitcoin Cash, and other top 10 entire have faster payments and lower fees, but there is a roadblock in the form of poor merchant adoption
On the right, you can see the delay in minutes that shows how long you have to wait to get your transaction processed. Subsequently, if you don’t pay any fees, your payment will take an infinite amount of time in order to be confirmed (well, let’s be honest — it will never be confirmed). If you can see the ‘Confirmed’ label, it clearly means that the transaction was processed successfully (and it becomes irreversible).
How many confirmations do you need?
It actually depends on the size of your payment. Here’s a table which clearly illustrates that:
The size of payment |
The number of confirmations |
<$1,000 |
One single confirmation will seal the deal |
$1,000-$10,000 |
Such a sum of payment usually requires about three confirmations |
$10,000 - $1,000,000 |
A transaction that is this hefty will need to be confirmed at least six times before funds are deposited to the recipient’s wallet. |
> $1,000,000 |
Crypto bulls will have to go through a whopping number of 50-60 confirmations before getting their millions, which is fair enough. |
NB! The particular number of confirmations also depends on the exchange of your choice. For instance, Coinbase, the most popular fiat-to-crypto exchange in the world, requires three confirmations before any payment is completed.
On top of that, there is a direct link between confirmations and the digital asset of your choice. Speaking of Coinbase, all transactions conducted in ETH, ETC, as well as recently added ZRX and USDC, need 50 confirmations.
Dealing with transactions that remain unconfirmed: our ultimate guide
Before taking any further steps, you have to check whether your transaction is confirmed or not. Once your Bitcoins have been successfully sent to a recipient’s wallet, a transaction ID will be generated.
Pick any Blockchain explorer (for instance, Blockchain.info) in order to see all the relevant information pertaining to your transaction.
If your transaction remains in limbo for a prolonged period of time, there are three ways to find a way out of this predicament:
-
Continue waiting for your confirmation (it may up to a week for your transaction to get confirmed).
-
Alternatively, you can simply sit and wait until your transaction expires after being dropped from the mempool.
-
Lastly, one can also replace an already existing transaction through Replace-By-Fee.
Replace-By-Fee (RBF) is the process of creating the same transaction with a higher fee if your previous one didn’t get confirmed. Notably, Satoshi was the one who came up with this idea buy later he decided to shelve the fee replacement feature. Later, it made a comeback with Bitcoin Core 0.12+.
Still, this practice gets constantly slammed by the BTC community due to the fact that allegedly destroys trust in transactions that remain in the mempool. The thing is, one can use this feature voluntarily: the sender can easily disable it, so there is no need to be concerned about trust issues. It’s a convenient way to keep the fees at bay if you are not in a hurry to receive your crypto.
NB! Uninitiated Bitcoin users should refrain from canceling unconfirmed Bitcoin payments in such a way!
Canceling an unconfirmed Bitcoin transaction
One should keep in mind that all BTC transactions are irreversible (that why you should check all transaction information extra carefully). With that being said, it is impossible to cancel your Bitcoin transaction since there is no single centralized authority that presides over them.
Double spending is yet another viable option but keep in mining that the lion’s share of cryptocurrency wallet has an inbuilt mechanism to prevent it. In fact, BTC is supposed to be the very first digital currency that has managed to solve the double-spending problem. Forged money is a huge problem worldwide with $600 bln in U.S. currency being fake! The Bitcoin network prevents this with the help of cryptographic techniques. When it comes to unconfirmed transfers, however, there is a loophole for those who want to double spend. The revelation was made by Reddit user Peter Todd who proved that unconfirmed Bitcoin transactions are not safe due to some differences in mining software.
Coinbase exchange embraces CPFP
Child-Pays-for-Parent (something that reminds of a welfare program) is actually an example of one of the solutions to the great Bitcoin scalability problem.
Even crypto behemoth Coinbase recently made an announcement about using the CPFP protocol to ‘rescue’ transactions that get stuck unconfirmed in the mempool due to fluctuating transaction fees.
CPFP allows a receiver to broadcast the same transaction but with a different fee, thus propelling low-fee transactions to the top of the mempool. At Coinbase, all stuck payments are carried out with the help of the CPFP protocol, effectively tackling one of the most debatable issues on the Bitcoin network.
The difference between RBF and CPFP presupposed that in the latter case miners — as the name of the protocol implies — confirm a parent transaction. Rational-thinking miners have to confirm a cheaper transaction in order to include a hefty one in their block.
The bottom line is that RBF is a viable option for those who want to confirm their transactions faster by increasing the amount of the fee. Meanwhile, CPFP is more suitable for a sender who fails to persuade the miner to pay a transaction fee instead of him.
Things are getting better for BTC transactions
Compared to December 2017, when the number of unconfirmed Bitcoin transactions was blown out of proportion, crypto enthusiasts do not have to deal with tedious delays anymore. While the actual number of Bitcoin keeps increasing, the network itself is less clogged with the relatively low number of unconfirmed transactions. In 2018 the peak on the Bitcoin network was recorded on Dec. 8 with a total of 133k pending payments hovering in the mempool.
Notably, the decrease in strain on the network coincided with the release of Bitcoin Core 0.17.0. However, the update is not related to the issue of unconfirmed BTC transactions despite the actual announcement mentioning certain changes pertaining to transaction handling.
Although the past few months have seen an increased number of unconfirmed transactions. The peak came in June 2019 when Bitcoin showed annual records, then the number reached 55 thousand. Now the situation has largely changed and the average number of transactions does not exceed 5 thousand.
One of the solutions to increasing Bitcoin’s scalability is considered to be the Lightning Network (LN). LN, launched on 26 December 2017, has already gained widespread adoption. The modus operandi of LN consists of transferring Bitcoin off-chain, which is supposed to solve the slowness of the Bitcoin network — the transaction is conducted on a separate channel that is created by two traders.
The launch of LN conveniently coincided with a sharp drop in transaction fees (almost 50 percent), but there is not enough data to determine the exact effect of LN. Most likely, the aforementioned drop in fees was caused by the dramatic crypto rout that started in January. As of Jul. 19, the capacity of LN is worth more than 902 BTC with 9,149 nodes currently running on LN.
SegWit (segregated witness) posed as a solution for unclogging the Bitcoin network. It’s a software fork that catered to the needs of Bitcoin enthusiasts who wanted a bigger blocksize. Together with the block size of SegWit allowed to significantly increase network bandwidth. The technology has been already adopted by major cryptocurrency exchanges such as Coinbase and Bitfinex. Nevertheless, SegWit still accounts for only 0.1 percent of all Bitcoin transactions.
The growing support for zero confirmation
Since Bitcoin evangelists strive to achieve the mainstream adoption of the world’s most popular digital currency, there have been numerous discussions about zero confirmation. Imagine that Bob wants to buy a PS4 in a store with Bitcoin, but at the same time, he doesn’t want to wait up to 40 minutes for his transaction to be confirmed. Hence, it would be logical for retailers to adopt zero-confirmation transactions and off-chain transactions to accelerate the purchasing process despite the risks of double-spending. As mentioned above, the main purpose behind confirmation is to avoid the much-feared double-spending.
Meanwhile, the Bitcoin Cash community is already mulling over accepting zero-confirmation BCH transactions in order to give a competitive advantage to the network. All the payments could be conducted instantaneously, and the fact that BCH has a block size of 8 MB (compared to Bitcoin’s 1 MB) makes it a perfect choice for conducting instantaneous transfers. Back in May, Bitcoin’s offspring successfully completed an upgrade, increasing the size of one block to 32 MB.
The current path that the small blockers are taking has the wrong economic code and will likely end in failure if Bitcoin isn’t allowed to scale soon Roger Ver
Speaking of further innovations, a recent Forbes article suggests that Bitcoin needs a better consensus algorithm that is superior to the current Proof-of-Work (PoW). For example, IOTA, the 12th biggest cryptocurrency by market cap, is using a Markov Chain Monte Carlo (MCMC) technique — every two transactions that have to be verified are confirmed in a random fashion. The system requires a minuscule amount of Proof-of-Work.
The bottom line
The scalability issue continues haunting Bitcoin. While the number of unconfirmed transactions remains fairly modest compared to Bitcoin’s peak, the great block size debate continues. Whether it’s the Lighting Network, SegWit, or CPFP protocol, it’s clear that this issue has to be resolved in order for the king of crypto not to cede ground to altcoins that offer much faster transactions.