The next couple of articles will look in some more detail at some of the flaws in Bitcoin mentioned previously. In this article we’ll look at speed.
As previously discussed, Bitcoin is deliberately slowed down by mining to ensure that it works properly.
Bitcoin’s current throughput is about 3-4 payments per second. In contrast, as is often quoted, Visa credit cards can handle about 56,000 transactions per second, and actually do handle about 2,000 transactions per second. Of course Visa is just one payment processor for regular money, the Bitcoin ledger is the only payment processor for Bitcoin.
Time to Process an Individual Payment
As we’ve seen on average it takes ten minutes to mine a block in the blockchain. This means that on average it will take this time before a payment even appears in the ledger.
As we’ve also seen just because a payment appears in the ledger on one computer that doesn’t mean it’s confirmed. We need to wait about another six blocks, or one hour, to be reasonably sure it’s there permanently.
In fairness I’ve already mentioned that Bitcoin doesn’t need to be as slow as it is. There are some optimizations that could significantly speed it up. Another cryptocurrency called Ethereum has implemented some of these optimizations and gets throughput of about 20 transactions per second. That’s still a long way from Visa speeds though.
Also network latency on the internet may drop in coming years, which as we’ve seen would permit larger block sizes without the system falling apart.
However, in spite of some arguments to the contrary, there’s no realistic way that Bitcoin in its current form is even getting to current Visa speed without breaking, for reasons that I have described. Maybe it doesn’t need to to be useful, but claims that it will replace the US dollar seem unlikely to be true unless this problem can be solved.
The Block Size Debate
One possible optimization that would improve Bitcoin’s throughput would be to increase the number of payments that can be processed in ten minutes by simply increasing the blocksize from one megabyte. I’ve already mentioned that it doesn’t need to be as small as it is. Of course, it can’t be made too big or we get the problems already discussed associated with copying blocks around versus the time to generate them. However it could be significantly larger and Bitcoin would still work.
In fact there have been attempts by Bitcoin developers to update the block size limit. Unfortunately these have not succeeded, or at least have only succeeded in creating a Bitcoin spinoff called ‘Bitcoin Cash’ that has larger block sizes.
Changing Bitcoin Code is Difficult
The reason for this is that for the change to be made the Bitcoin software used by miners and clients needs to be updated. This is known as a ‘hard fork’. This can only happen if everyone agrees, and it proved impossible to get this level of consensus for the change.
Do We Need To Mine? Proof of Stake
Of course the slowness in Bitcoin comes from this wild thing called mining. We allow anyone to process payments onto the ledger, and then just choose the version of the ledger that’s got the most payments when everything settles down. However we can’t allow processing to be too quick or everything gets out of control.
Some clever people are trying to make some other approaches to payment processing work. We ideally want something that works like Bitcoin, with no central computers or trusted people, but that doesn’t deliberately slow processing down by tying up computers solving problems.
One approach that has been tried is ‘proof of stake’. Broadly the idea is that you randomize who can create the next block of payments to be added to the blockchain, but base your randomization on how much of the money each payment processor already has. You don’t slow down block creation: the person chosen to add the block can create one immediately. You then get the other payment processors, or a selection of them, to vote on whether the block is OK. If that sounds difficult then it is, and no-one has managed to make this work without basing it at least partially on Bitcoin-style mining, or without it having some known flaws.
There are some other approaches, but most of these are even less promising than proof of stake.