Unpopular Opinion: Bitcoin Does NOT Eliminate Double Spending … Necessarily
In my last entry, I discussed the Web-based discussion resource known as Reddit. I relatively recently added Reddit to my list of places I regularly go to track discussions on Bitcoin and cryptocurrency, as well as a number of other topics of personal interest. (Because of the many topics of personal interest, and my laziness, I do not have a separate business and personal identity, and attempt to stay as anonymous as possible. Those who know me would easily piece together my identity.)
Reddit is not a good place for XBRL discussion at the present time; there’s just no active community. But I have learned or been reminded of many things about Bitcoin from tracking the discussions there. You may recall I wrote an article for ThinkTWENTY20 some issues back, debunking some fallacies about Bitcoin. So, it is interesting to see many of those play out in the discussions.
Let’s begin with a very important lesson that I’m not sure even most avid Bitcoiners are very aware of – it IS possible to “double-spend” Bitcoin. That was what Bitcoin was supposed to be all about – “prevent[ing] double-spending” with “a solution to the double-spending problem using a peer-to-peer network.” It is about removing the “possibility of reversal,” so that recipients no longer need to “be wary of their customers.”
With paper money, I cannot give the same physical money to two different people (although I can promise it to two different people). With electronic solutions, however, you – as the person I promised money to – can receive copies of electronic files or I can cut the cord or I can dispute the transfer.
So, with Bitcoin, you can watch a transfer go into a queue, and be finalized onto the Bitcoin blockchain as blocks are added every 10 minutes. If you are in a hurry, you may have assumed that the transaction in the queue was no longer under the influence of the sender, even if it had not yet been added to the blockchain; you may therefore have gone ahead with your part of the deal while waiting for the system to catch up.” The whole “peer-to-peer network” thing was supposed to take this out of the sender’s hands.
And then you learn about RBF. RBF in this case stands for “replace by fee.” RBF is not discussed in the Satoshi Nakamoto white paper. And yet RBF permits double spending … if you “enable” RBF on your wallet as a sender for that transaction.
RBF was developed because Bitcoin is not like a credit card. With a credit card, the merchant pays fees. With Bitcoin, the sender pays fees, and the amount is chosen by the user. Pay too little, and the miners who grab transactions and add them to blocks to add to the blockchain may ignore your transaction in favor of other transactions offering higher fees. So if the transaction is sitting around too long, RBF lets you come up with a higher fee to encourage a miner to act more quickly; if they do so, the prior transaction becomes null and void. If I send you Bitcoin, if I act fast enough, I can override the original transaction and send the Bitcoin back to myself instead – potentially destroying trust in unconfirmed transactions.
The anecdote that first made me aware of RBF was that of a technical person (“OP”) who out-scammed a scammer. The scammer wanted the OP to send him Bitcoin. The OP pretended he was a novice, and asked if they could do a smaller sample run. The OP sent $1,000 in Bitcoin, and the scammer sent the $1,000 back. What the scammer didn’t know is that the OP had enabled this “RBF”, and was able to reroute the $1,000 back to himself; as the scammer wasn’t aware of this trick, he was now out $1,000. The scammer could not pull back his own money, and the 10 minute wait made the ruse simple.
So, the scammer was in a hurry, and assumed that the transaction in the queue was no longer under the control of the OP, and therefore sent the Bitcoin back before the original transaction was confirmed on the blockchain. Had he waited the 10+ minutes – or noticed that the RBF was enabled – he would not have acted immediately and would have let the system catch up.
Therefore, if you are receiving Bitcoin and someone seems to be anxious to complete a transaction before the process of sending the Bitcoin is confirmed, you need to know to look for the signs of whether RBF is enabled; this is sometimes indicated by a “Replaceable” or “RBF enabled” flag on the unconfirmed transaction.
Other lessons to come.
Comments
- No comments found
Leave a comment