The number of
transactions on the Bitcoin network has steadily increased over the years. This
means more blocks are filling up. And as not all transactions can be included
in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of
“transaction queue.”)
Miners
typically pick the transactions that pay the most fees and include these in
their blocks first. Transactions that include lower fees are “outbid” on the so
called “fee market,” and remain in miners’ mempools until a new block is found.
If the transaction is outbid again, it has to wait until the next block.
This
can lead to a suboptimal user experience. Transactions with too low a fee can
take hours or even days to confirm, and sometimes never confirm at all.
But
here is what you can do today to keep your own transaction from getting stuck.
Before
You Send It
For
the first years of Bitcoin’s existence, most wallets added fixed fees to
outgoing transactions: typically, 0.1 mBTC. Since miners had spare space in
their blocks anyways, they normally included these transactions in the first
block they mined. (In fact, transactions with lower fees or even no fee at all were
often included as well.)
With
the increased competition for block space, a fixed 0.1 mBTC fee is often
insufficient to have a transaction included in the next block; it gets outbid
by transactions that include higher fees. While even a low fee transaction will
probably confirm eventually, it can take a while.
Try
increasing the fee
If
you want to have your transaction confirmed faster, the obvious solution is to
include a higher fee.
If
your wallet (by default) includes an insufficient fee, you may be able to
adjust the fee manually, either as part of the wallet settings, or when you
send a transaction. (Or both.)
Websites
like 21.co monitor the network and suggest how much of a fee you should include
per byte, as well as how fast you can expect your transactions to confirm at
different fee levels.
If
you need the payment to go through in the next block or two, you need to pay a
higher fee. For less urgent payments, you can include a lower fee; it will just
take a bit longer to confirm.
Check
if your wallet includes dynamic fees
These
days, most wallets support dynamic fees. Based on data from the Bitcoin
network, these wallets automatically include a fee that is estimated to have a
transaction included in the next block, or maybe in one of the first blocks
after that.
Some
wallets also let you choose the fee priority. Again, higher fees let your
transactions confirm faster, lower fees could make it take a bit longer.
If
transactions from your wallet are often delayed during peak hours, and you have
no option to adjust to higher priority fees, your wallet is most likely
outdated. Check if there is an update available, or switch to a new wallet.
Consider
switching wallets
If
you do switch to a new wallet, you of course need to transfer funds from your
old wallet to your new wallet. If you’re not in a rush and don’t mind paying
the fee, you can just send it from your old wallet to the new wallet through
the Bitcoin network. It will probably arrive eventually — even if the fee is
low.
If
you are in a rush, some wallets allow you to export your private keys or the
private key seed, and then import them into the new wallet. This requires no
transaction on the Bitcoin network. From the new wallet, you can immediately
start transacting.
After
You’ve Sent It
If
you’ve already sent a transaction and it gets stuck, that transaction can, in
some cases, be made to “jump the queue.”
Opt-in
Replace-by-fee
The
easiest way to make your transaction jump the queue is using an option called
Opt-In Replace-by-Fee (Opt-In RBF). This lets you re-send the same transaction,
but with a higher fee.
In
most cases, when the same transaction is re-sent over the network, but with a
higher fee, the new transaction is rejected by the network. Bitcoin nodes
typically consider this new transaction a double spend, and will therefore not
accept or relay it.
But
when sending a transaction using Opt-In RBF, you essentially tell the network
you may re-send that same transaction later on, but with a higher fee. As a
result, most Bitcoin nodes will accept the new transaction in favor of the
older one; allowing the new transaction to jump the queue.
Whether
your new transaction will be included in the very next block doesdepend on
which miner mines that next block: not all miners support Opt-In RBF. However,
enough miners support the option to, in all likelihood, have your transaction
included in one of the next couple blocks.
Opt-In
RBF is currently supported by two wallets: Electrum and GreenAddress. Depending
on the wallet, you may need to enable Opt-In RBF in the settings menu before
you send the (first) transaction.
Child
Pays for Parent
If
your wallet does not support Opt-In RBF, things get a bit more complex.
Child
Pays for Parent (CPFP) may do the trick. Applying CPFP, miners don’t
necessarily pick the transactions that include the most fees, but instead pick
a set of transactions that include most combined fees.
Without
getting into too many technical details, most outgoing transactions do not only
send bitcoins to the receiver, but they also send “change” back to you. You can
spend this change in a next transaction.
Some
wallets let you spend this change even while it is still unconfirmed, so you
can send this change to yourself in a new transaction. This time, make sure to
include a high enough fee to compensate for the original low fee transaction. A
miner should pick up the whole set of transactions and confirm them all at
once.
If
your wallet does not let you select which bitcoins to spend exactly — meaning
you cannot specifically spend the unconfirmed change — you can try spending
allfunds in the wallet to yourself; this should include the change.
Like
Opt-In RBF, not all miners currently support CPFP. But enough of them do to
probably have your transaction confirmed in one of the next blocks.
Or…
If
neither Opt-In RBF nor CPFP are an option, you can technically still try and
transmit the original transaction with a higher fee. This is typically referred
to as “full replace-by-fee,” which some miners accept. However, publicly
available wallets currently do not support this as an option.
Otherwise,
you may just have to wait either until the transaction confirms or until the
bitcoins reappear in your wallet. It’s important to note that until a
transaction confirms, the bitcoins are technically still in your wallet — it’s
just that it often doesn’t appear that way. The bitcoins are not literally
“stuck” on the network and cannot get lost.
As
the Receiver
Of
course, a transaction can also get stuck if you’re on the receiving end of it.
If
your wallet allows spending unconfirmed transactions, this can be solved with
CPFP as well. Much like as mentioned before, you can re-spend the unconfirmed,
incoming bitcoins to yourself, including a fee high enough to compensate for
the initial low fee transaction. If the new fee is sufficient, the transaction
should typically confirm within a couple of blocks.
The
only other option is to ask the sender whether he used Opt-In RBF. If so, he
can re-send the transaction with a higher fee.
Written
by Aaron van Wirdum for The Bitcoin Magazine | Original article:
https://bitcoinmag….
Note:
BTC.COM has a real-time transaction fee tracker too. The BTC.COM wallet will
soon have the RBF option too.
Post a Comment