Wednesday, December 2, 2015

A Case for Replace by Fee : How Bitcoin Businesses can Benefit from RBF

"Replace by Fee" or RBF has recently received a lot of talk with the merge of “Opt in RBF” by the Bitcoin Core devs. Although there has been a lot of FUD and drama being spread on social media channels regarding the change, several noted figures in the Bitcoin community , such as Erik Voorhees from Shapeshift, and Chris Pacia from OpenBazaaar, have made valid and well written statements against RBF . Their main argument is that RBF makes it easier to double spend and will reduce the capabilities of Bitcoin businesses to compete since they can no longer rely on zero confirm transactions. I think this is a valid and pragmatic point, but here I would like to make the counter argument that Bitcoin businesses stand to gain a lot from the adoption of RBF, and give coherent examples of how Bitcoin businesses can utilize RBF to provide a better customer experience, and be more cost efficient.

Point 1: Bitcoin businesses will save money on transaction fees:

The businesses that stand to gain a lot from RBF are operations that must handle large volumes of outbound Bitcoin transactions, and must pay a large amount of aggregate transaction fees. This means exchanges, brokers (like Shapeshift), and payment processors stand to gain a lot from RBF. Operations like these want to pay the lowest transaction fee possible, but at the same time it must meet customer expectation of timeliness. They don't want to underpay the transaction fee because the transaction will take a long time to confirm, and they don't want to overpay the transaction fee because it impacts their bottom line negatively. This is a difficult problem to solve, due to the fact that transaction fees are not static, and will be increasingly more volatile as the Bitcoin mining subsidy is decreased and miners must rely more on transaction fees for revenue. We have already seen instances of high transaction fee volatility, due to the spam attacks on the network. According to BlockCypher, during the spam attack on 2015, July 8th , the average transaction fee went up 3 times, while the minimum transaction fee went up 25 times.

Transaction fees are dependent on many factors such as available network bandwidth, available size of the mempool, the miners that are active at that particular moment, and the cost of operation for those miners. So spam attacks are not the only source of volatility for transaction fees. You could see unpredictable transaction fee increases when there is a large network outage that knocks out a bunch of full nodes, or when there is an increase in the spot price of coal in China that affects operation costs for Chinese Bitcoin miners. It is important to note that the volatility of transaction fee can not solved by increasing the block size. It may have an impact of lowering the transaction fee, but it will not make transaction fees static, due to the large number of variables that affects transaction fees as mentioned above.

With RBF, Bitcoin businesses now have the capability to adjust their transaction fee on their outbound transactions in real time. This makes it far less likely for a business to overpay or underpay the transaction fee. This is easy to see if you look at RBF as a bartering process between the transaction creator and the miner. The transaction creator can start with a low offer, and progressively increase his offer until the miner accepts. This is much better alternative to the current “First Seen Safe” process where the transaction creator is stuck with the first offer he makes with no ability to make a better offer. The first offer could be flat out wrong due to the transaction creator's inability to estimate the required transaction fee, or some unpredictable event could occur immediately after the time that the transaction was created that impacts the required transaction fee.

Point 2: Double spends are not necessarily malicious

When we think of double spends, we think of people defrauding other users, but this does not always have to be the case. For example, people mistakenly send Bitcoins to the wrong address all the time with fortunes being lost in this way. I'm sure that many Bitcoin businesses past and present have also mistakenly created transactions that they'd like to take back. RBF gives you a time window where you can reverse this mistake (with some probability of success).

Many honest mistakes are made all the time in mainstream financial markets, such as the six billion dollar “fat finger” screw up at Deutsche Bank, so institutions have rules in place to deal with the fact that human beings are prone to type in an extra zero or two. Bitcoin having a feature where transactions are reversible up to a certain time period is not necessarily a bad thing. It can protect Bitcoin businesses and their customers from their own mistakes.

Additional Readings on RBF: