Skip to main content

The Problem With Bitcoin Payments

Bitcoin is incredibly good for financial transfers

The world's banks exchange money with each other through various systems. In the United States, big banks use FedWire, a service run by the U.S. government, to exchange large amounts of money, to "settle up" their transactions at the end of the day.

Bitcoin can function well as a medium of exchange in such a system: It can currently handle about 500,000 transactions per day. It's incredibly secure, and is well suited to high-stakes transfers such as those that large corporations, banks, and governments might make.

If an entity is sending a large transfer, say, $1 billion U.S. dollars, it probably doesn't matter if the transfer takes twenty or thirty minutes to complete: It's much more important that the transfer is guaranteed to be successful, is secure in transit, and can't be manipulated by any third party. Bitcoin provides this functionality much better, much more cheaply, and much more reliably than any other system in the history of the world.

The world's central banks (big, state-controlled entities run by each country) could somewhat easily switch to Bitcoin as a medium of exchange.

But...

High frequency payments are difficult on Bitcoin

And by "high frequency" payments, I mean most payments. When you pay for a coffee, you want the merchant to be sure that your transaction has "approved" or "confirmed"... within about one second. If you even have to wait five seconds for confirmation, that's too long. Bitcoin's payment process is way too slow.

Remember, a transaction must actually appear in a block to be considered valid by the network.

Blocks are only "discovered" on average once every ten minutes. Sending a Bitcoin transaction requires you to write your transaction into a block. Therefore, starting from the moment you submit your transaction, you might have to wait up to ten minutes (and sometimes more) before that transaction is included in a block.

Note that there are ways to signal to other participants that your payment is "likely" to be included in a block, so many merchants have implemented systems that allow them to conditionally accept "not-yet-confirmed" transactions, thereby creating a payment experience that can "feel" like it is fast. But this does not solve the underlying problem.

For a payment to be considered definitely confirmed, it is considered prudent to wait at least six (6) blocks. This means a payment might not be considered 100% confirmed for up to a hour. This is way too slow to allow Bitcoin to be used for everyday payments.

Yes: Bitcoin is slow. But that's not the only problem...

Bitcoin payments can require significant fees

Bitcoin works with a complex balance of incentives. One of the primary incentives for miners -- those who "discover" new blocks -- is that they may charge fees in order to include transactions in their blocks.

These fees are set by an automated auction system, run independently by each miner. Depending on the demand for block space, that is, the number and intensity of requests to write to Bitcoin's ledger, these fees can currently range from less than a dollar to upwards of $50 or $60 at times.

Fees can also change dramatically, and without warning, so a transaction that might have cost you $0.35 in the morning might suddenly cost you $30 in the evening.

Note that, for many years, competition for space on Bitcoin's ledger was so limited that fees were very low, just a matter of cents per transaction.

This is no longer the case. And as demand for Bitcoin transactions grow, it is expected that fees might rise significantly in the future: A world where a Bitcoin transaction might cost $100 or even $1,000 is not unimaginable.

Bitcoin developers have known about these limitations from the beginning

A 2010 discussion on Bitoin Talk
A 2010 discussion on Bitoin Talk

The above screenshot shows a 2010 discussion from the bitcointalk.org forum. Almost from the beginning, developers have been working on solutions to scale Bitcoin to a much higher rate of transactions, at lower fees.

Should we give up and only use Bitcoin for big transfers?

The reason we need to use Bitcoin for smaller transactions will become apparent when we start looking at our existing transaction technology: Credit cards.

"Mastering Bitcoin: Programming the Open Blockchain (3rd Edition)" (amazon, github)