By now I believe that you know about Bitcoin transaction fees and Bitcoin Block fees that miners get as a reward for mining correct Bitcoin blocks.
If you don’t know about it, I highly recommend you read my Bitcoin Mining article to understand how miners operate and what’s their motivation.
But for starters, miners mine Bitcoin because they get block reward (12.5 BTC currently) plus the block mining fee for successfully mining a Bitcoin block.
And out of these two rewards, the block reward (12.5 BTC) is fixed, but the block mining fee varies depending upon what kind of transactions they are trying to include in their perspective block.
As a rule of thumb, miners always first try to include those transactions in a block that has higher transaction fees attached to it, and that’s why many times you must have noticed that you need to wait for hours or even days to get your transaction through.
This happens often due to very less transaction fee attached to a transaction.
This is not an ideal condition to be in, especially when you are paying to someone and he/she has to wait for so long.
On the flip side, you are also stuck because now you cannot use the same unconfirmed coins to re-pay the recipient waiting on the other side.
- So what’s the way to unstuck your stuck unconfirmed transaction?
- Is there any way to replace the old transaction?
Well, it turns out that there is a way out and the solution is called Replace-By-Fees.
Let’s dive in and see what it is?
What is RBF(replace-by-fee) In Bitcoin?
Replacing one version of an unconfirmed transaction with a different version of the transaction that pays a higher transaction fee is known as RBF (Replace-By-Fees).
This is done to primarily, replace an old unconfirmed transaction that is lying in the Bitcoin mempool for some time and isn’t getting picked by miners due to low transaction fees attached to it.
Consider this example:
Alice sends 1 BTC to Bob with 0.0001 BTC as fees because it wasn’t a priority for Alice and neither Bob was in a hurry to receive his payment.
But hours passed by and later Bob started demanding his BTC as he wanted to use it further to run his operations and complete transactions that he was liable to do.
Seeing the delay and understanding the workings of the Bitcoin transaction, Alice decided to issue a new transaction with the same output to the same address but with a higher transaction fee. (i.e. through Replace By Fees)
The transaction then gets noticed by miners and is picked-up in a block because the transaction fee makes sense to them according to the market standards. (Read more here about how to pick appropriate Bitcoin transaction fees for your transaction?)
However, a thing to understand with RBF is that it can lead to double spending problems if not used properly and that’s why the receiver of the bitcoins needs to make sure if a transaction in question is already generated with ‘replacement’ feature ON. (will talk about this feature further in the article).
But a thing to understand here is that if you notice this feature is ON then you need to wait untill the transaction gets six confirmations before being able to judge it as a successful transaction.
On the other hand, by noticing this feature you can always request the sender to make use of RBF on the old transaction if it is taking too long for the transaction to get confirmed due to attached lower fees.
But you need to be careful in choosing which type of RBF you want to use?
Yes, because there are variants of that too and that’s what we are going to talk about in the next section, so let’s get the ball rolling:
Variants Of Bitcoin RBF
- Full RBF: So-called “full RBF” unconditionally allows a transaction to replace older ones so long as it pays a sufficient fee.
- Opt-in RBF: The “opt-in” variant only allows the replacement when the transactions being replaced have explicitly signaled they allow replacement. This signaling is done via the “sequence” field and defined by BIP 125. One downside of this variant is that users must know in advance when they may wish to replace a transaction. As a result, opt-in RBF is often used as a default even when it might otherwise not be needed.
- First-seen-safe RBF: The “first-seen-safe” variant only allows the replacement if an additional criterion is met: the replacement transaction must pay all the same outputs as the transactions being replaced.
- Delayed RBF: Delayed RBF is a variant that allows transactions to be replaced unconditionally, but only after a given number of blocks have been mined since the replaced transactions were first seen by the node.
My advice after seeing the 2017’s great Bitcoin rush and congestion of Bitcoin’s mempool is always to use such Bitcoin wallets that have by default ‘RBF’ enabled or else you can also use wallets that allow you to use the opt-in RBF feature present in Electrum wallet.
Trezor wallet also allows you to have the Replace-By-Fee feature which is needed because mempool can get congested quickly. After all, you don’t want to take chances when you are making payments in business, and you always want the option of reusing your bitcoins in a case they are stuck due to low transaction fees
Lastly, very few cryptocurrencies support this feature of RBF but if you see it a simple feature to implement on the node side. But still, cryptocurrency like Bitcoin Cash does not support replace-by-fee functionality yet !!
So that’s all from us today in our Bitcoin series article, and we hope we have helped you make a better sense of Bitcoin RBF functionality.
Next, we shall be back, with a new article on RBF showing, how you can use the RBF feature in real-time using an Electrum like wallet !! Until then keep reading The Money Mongers.