TL;DR VISA is 400x slower than Bitcoin (and 1000x slower than PayPal)
Tags: bitcoin, web3, blockchain, performance
Published: 2023-02-08 19:41:49

A criticism of Bitcoin that unites both the pro- and anti-crypto crowd is that Bitcoin is _slow_.  The comparison is usually made against Visa and sometimes PayPal, with Visa's transaction speed of 24,000 transactions per second (tps) and PayPal's 193 tps compared favourably against Bitcoin's paltry 7 (yes, seven) tps.  The crypto-bros then argue that Bitcoin really has to beat Visa's tps if it wants to be taken seriously, while the crypto-nos use this as evidence that Bitcoin can _never_ be taken seriously.

| Payment System | Speed  |
|----------------|--------|
| Visa           | 24,000 |
| PayPal         | 193    |
| Bitcoin        | 7      |

There has been some technological advancement since the original comparisons were made, significantly increasing Bitcoin's tps (so I guess the crypto-bros are winning?), but what strikes me most about this argument is that it's an argument about the _wrong things_.

Let me explain...

## The numbers are wrong(ish)
I'm not accusing anyone of fabricating facts or acting in bad faith, but I do want to question which number we are using, and if they are the correct numbers to use.

For example, the claim of 7 (yes, seven) tps for Bitcoin is not borne out in reality.  The "normal" rate is actually [3-4](https://www.researchgate.net/figure/BITCOIN-AND-ETHEREUM-VS-VISA-AND-PAYPAL-TRANSACTIONS-PER-SECOND_tbl2_330585021) (yes, three to four) tps, or about half of what the usual claim is.  For Bitcoin, things start looking twice as bad immediately.

When it comes to Visa, the claimed speed of 24,000 tps is a measure of the maximum capacity of the Visa network.  In fact, Visa claims a max capacity of _over 65,000 tps_, so the figure everyone is working from is less than double the _actual_ max capacity.  However, the average, measured transaction throughput is 1,667 tps.  This number, though still impressive, is never-the-less around 7% of the 24,000 number, and a little over 2.5% of the 65,000 number.  Basically, we are over-estimating Visa by ~14x-40x when we use these larger numbers as comparisons.

For PayPal, the 193 number seems correct, although in the first quarter of 2022, PayPal processed [664 tps](https://www.globaldata.com/data-insights/financial-services/number-of-payments-transactions-made-using-paypal-global/), so there may be some flexibility in the actual capacity of the PayPal network.

For my money, I'm more interested in the "normal", "average" use-case, not the maximum theoretical capacity.

## TPS is not a measurement of _speed_
You'll notice in the last section, I smoothly transitioned from using the word "speed" to using the word "capacity", because _transactions per second_ isn't actually a measure of speed, but a measure of capacity.

Imagine you have to cross a toll bridge.  You arrive at a payment plaza, stop at the barrier, roll down your window, and throw your change at someone shivering in a plastic box.  You nearly fall out of your car trying to get the ticket/receipt, and the barrier is lifted, allowing you to traverse the bridge.

In this analogy, _transactions per second_ is how many toll booths there are.  For Bitcoin, the plaza is 3-4 lanes wide, with 3-4 toll booths.  For PayPal, there are 193 lanes/booths, and for Visa 1,667.

_This doesn't tell you anything about how fast you can go over the bridge_.

For networks like Visa and PayPal that are apparently massively under capacity, the existence of 65,000 toll booths means nothing to the 1667 transactions.  Go ahead, knock yourself out and add 65,000 more, it won't increase the speed because capacity is nowhere near its limit.

I appreciate that the difference between _capacity_ and _speed_ is subtle, and that there is a relationship between the two, especially if we start to talk about _reducing_ capacity.  However, the toll booth is just one part of the transaction, and it's not clear that the entrance to the bridge is where the traffic jam is.  Adding more toll booths won't make it take less time for me to drive to the bridge, across the bridge, or to my destination.  Spending an extra ten minutes at the toll plaza doesn't matter if I have to spend three days driving to my destination.

## A transaction isn't what you think it is
When talking about transactions, we often think about it from the point of view of the consumer.  _I pay my money; I get my prize; transaction over._  However, when a customer has paid and the Visa card reader goes "beep" is _not_ the end of the transaction - it's the _start_.

Consider this from the point of view of the merchant selling you your cool can of Coca Cola. For them, the transaction is complete when and only when they receive their money.  _That is the end of the transaction_.

[_Merchants don't get paid when your card payment is authorised.  They get paid when the payment has been processed._](https://www.retailmerchantservices.co.uk/about-us/news/how-long-does-a-card-payment-take/)

In the best case, authorised payments will be collected by the payment processor and sent to Visa for clearing at the end of the day.  In the worse case, it can take a whole week, depending on the payment processor and time of purchase.  After payments are sent to Visa, processing can take anywhere from 24hrs to 3 days.  Adding it all up, a Visa transaction can actually take as long as 10 days for an individual recipient, or as "little" as 24hrs for payments made just before collection time.  The average for most merchants is 3 days.

In the case of Bitcoin, a new block is added to the blockchain about every ten minutes.  Sometimes blocks are added faster than this, but generally the average time is ten minutes.  You might think this means that the worse case transaction speed is ten minutes, but there is actually no guarantee that a given transaction will make it into the next generated block.  Or even the block after that.  Or any block at all.  It will _eventually_ make it into the blockchain, providing the user hasn't cancelled it first.  The average confirmation time varies, but is around [10-15 minutes](https://www.statista.com/statistics/793539/bitcoin-transaction-confirmation-time/) (with 90 minutes being the "peak" average for transactions in February 2017 for some reason...)

For [PayPal](https://www.paypal.com/us/brc/article/how-paypal-works-for-sellers), it's a bit more complicated.  The transaction times depend on whether or not the person paying has a PayPal account or not, and if you want the money transferred to your bank or just kept in your PayPal merchant account.  For the sake of comparability and fairness, let's look at the example where a PayPal user purchases using money in their PayPal account, and where the merchant uses a PayPal account as their business account.

Unsurprisingly, this is the fastest transaction, taking what PayPal likes to call "a few minutes".  I can't find an exact number of what "a few minutes" is, but it _sounds_ like it's between two minutes and five minutes.  Let's land on three minutes to be generous to PayPal's slow competitors.

## The _real_ transaction Speed
Looking back at the table at the top of this article, and applying what we've discussed, we get a very different picture.

| Payment System | Min Tx Time | Max Tx Time | Avg Tx Time |
|----------------|-------------|-------------|-------------|
| Visa           |1440 | 14400 | 4320 |
| PayPal         | 2 | 4 | 3 |
| Bitcoin        | 1 | 90 | 10 |

Visa is actually the slowest payment system, since payment collection and processing takes _days_ to complete.  Bitcoin is 400 times faster, taking a reasonable 10-15 minutes due to the time it takes for blocks to be confirmed by multiple nodes on the network before a transaction can count as verified.  Unsurprisingly, PayPal, the centralised company that carries out transactions by subtracting a number from one row in a database table and adding it to another row is the fastest, taking just "a few minutes", or about 1000 times less than Visa.

This isn't going to be the end of the comparisons.  Visa is now offering "fast payments", which can see you getting your money in a best-case four hours, worst-case two days (a whole day earlier than otherwise!), and I'm sure they won't stop there.  Bitcoin now offers Bitcoin Lightning, with a theoretical capacity of 1,000,000 tps, and (as of yet) no figures on what this will mean for _real_ transaction speed.

Visa taking three days on average also isn't a reason to throw out your POS terminal and start accepting Bitcoin.  There are other factors at play, and they offer different advantages and disadvantages beyond _when money?_

If I were a Bitcoin developer and wanted to dominate payments, I wouldn't spend my time in a tps race with Visa and PayPal.  I would focus more on things that would make people want to use Bitcoin for payments, like widening acceptability; increasing security and trust; and price stability.

_But please don't look at price stability until I'm a millionaire, thank you._