The new Bitcoin development proposal states that network nodes should by default accept commission exchange or Fee exchange (RBF), a function primarily used to stimulate rapid confirmation of transactions by miners.
Replacement Fee (RBF), as its name suggests, allows that if a user submits a Bitcoin transaction, and it has not yet been confirmed, The aforementioned transaction can be exchanged for another that pays a higher commissionto encourage miners to confirm this more quickly.
RBF is especially useful during periods of high transaction congestion on the network. If at some point the average commission per transaction is 30 satoshis per byte (Sats/BB), for example, and the user sends a transaction with 10 satoshis/BB commission, then that user is the same She will have the opportunity to increase the commission Enough for miners to take into account in the short term.
RBF is not a quality that is included in all Bitcoin wallet apps by default. Some give the user the option to enable it, but in the end, at this time, when the transaction is likely to recognize the RBF, You must indicate it with a piece of information within that transaction.
also, RBF is facing some resistance among companies and traders that accept bitcoin. To receive a Bitcoin payment without confirmations from miners (0-assiut), many companies require that the payment transactions they receive not be activated, due to the risk that the customer purchases the product and then forwards the transaction to his own wallet with RBF.
This is a kind of fraud for which there are not enough incentives, so it is not frequent but It is possible through this function.
Why does RBF default to a Bitcoin contract?
Proponents of a bitcoin contract that accepts any RBF transaction by default argue other goals.
The default RBF proposal was submitted to the Bitcoin Core code repository by developer Luke Dashjr on June 14, 2022. Dashjr notes that this capability has been included in the Bitcoin Knots client since 2016.
It has also been commented on by other developers of this Bitcoin client, both in that repository and on the Linux Foundation developer mailing list.
The essence of the argument Possibility of a DoS (Denial of Service) attack on transactions with one or more participantsSuch as coinjoins, discrete registration contracts (DLC), or opening and closing Lightning Network channels.
In theory, a group of attackers could use the RBF feature to send transactions that preempt the other transactions mentioned above, impeding the various operations they seek to perform.
“There is an easily executable DoS attack vector against the funds of such transactions.” [DLC, coinjoins, canales de Lightning, etc.] Because there is no topology to fully accept RBF transactions in a P2P network. While this does not result in a direct loss of funds, if implemented well, it can be annoying enough to inflict a significant loss of time or commission on future providers. [de servicios] Or users who transact by pooling their money with each other […]».
Antoine Reard, developer of Bitcoin Core.
For his part, John Carvalho, who is also the developer of Bitcoin Core and CEO of Synonym, opposed the proposal, citing the risks involved in using Bitcoin.
“I don’t acknowledge this suggestion. This takes the ability to do an RBF by default too far, and ultimately preempt the normal and original use of Bitcoin, and creates uncertainty and choice for merchants about accepting 0 confirmation payments on their own risk tolerance. I appreciate that RBF is disabled by default, But RBF is generally not a widely used capability (although some applications are turned on by default) and it’s not worth your constant push toward making it a cultural standard.”
John Carvalho, CEO of Synonym.
Earlier this year, other Bitcoin developers considered enabling RBF by default, also without a final, unanimously agreed change.
To this day, Bitcoin developers are still commenting on and discussing this proposal, with what appears to be a positive reception from the majority. However, it has not yet been established when it will start to be a part of the Bitcoin Core code.