Does it scale?
A story written by reddit user jessquit made me wonder, how crazy is it to think that VISA's world wide usage would be able to move to Bitcoin Cash?
According to Visa, they process about 150M txns per pay (1700 tps). Assuming a typical 250 byte txn, that will produce 37.5GB of blockchain data per day, or 260MB blocks.
Normal users will use SPV (yes, its safe). Companies a bit bigger will run their own full node, but they will run it with pruning and thus there is no need to store all this data. Only companies that offer Bitcoin Cash services, or bigger companies that just want to run it all in house, they will need to run this full node with all this data stored forever.
A simple setup is to store your older blocks on a spinning disk. Say, a 18TB Western Digital Gold for $550. That will do it for a year or two. Now, you need faster storage for your UTXO and your more recent blocks. So buy a couple of SSDs. Each being less than $100.
So, disk space wise you can get a VISA-competitor for $3 per day. There are probably millions of businesses which spend more than that every day on non-dairy creamer and stir-sticks for their in-office coffee service.
As Jessquit also points out:
Additionally, according to techcompetitor.com, 354 million people across 51 countries already have access to gigabit internet, with millions of new customers being added daily. That's far more than enough potential node sites to offer impenetrable decentralization at Visa scale.
I founded the Flowee project and one parts is the Hub. It is typically the most boring one as it has no GUI. It just runs silently on a server. But let's shine a bit of light on it today, if you will.
A cross-team effort called Scalenet has started a couple of months ago where we invented a new Blockchain with almost exactly the same rules as Bitcoin Cash. The change is that we allow up to 256MB blocks on that chain. The Flowee project TxVulcano has been used (among others) to fill up those blocks with test transactions and at last check we have mined 175 million transactions.
TxVulcano tested mempool entry and clocked about 5000 transactions per second on my laptop. Or, simpler, it takes about 45 seconds to fill up a 50MB block.
Sync on Scalenet on an 8GB Raspberry Pi 4 was clocked to sync 11.000 Tx/sec.
Sync on a high-end, 3 years old desktop clocked to sync 40.000 Tx/sec. This means that VISA's full day of transactions get processed in 1 hour on the Hub.
Anyone is welcome to use the available open source software and open network to reproduce these numbers. We have not tested Flowee the Hub together with Scalenet on proper server hardware yet, I welcome anyone contributing the results.
So what about Visa's legendary "26,000 tps" burst capacity?
Going back to Jessquit:
First, please recall that Visa "transaction approval" is NOT equivalent to bitcoin block inclusion. Inclusion in a block represents settlement, which typically takes a matter of days on Visa. Instead, a Visa transaction approval is closer to a "zero-conf" payment on BCH. This just means that your transaction has been seen by some number of nodes.
I believe he is right and this means that this burst capacity has its equivalent in Bitcoin Cash as something called the mempool admission speed.
In the the case of Flowee we tested the direct connection part using txVulcano and the speed today of 5000 Tx/sec is perfectly adequate to move the VISA transactions to the BCH.
The p2p network might be the last bottleneck we need to address to go from our 2MB to 260MB blocks and at VISA scale. Onboarding enough people to scale 2 orders of magnitude (plus change) is going to take some time, I'm sure that in this time we can address the remaining issues. Very innovative work has happened in Flowee to work on better getting the p2p performance good enough.
Block propagation protocol improvements would be beneficial, but not a requirement, it would simply make the system work smoother. There are several projects underway to improve this.
VISA's transaction speeds are totally possible on Bitcoin Cash. We have all the indicators that the technology is moving to support those numbers and more.
Most important, to me, is that there are no consensus changes I've seen in anyone's wishlist that are going to be required to reach VISA level on Bitcoin Cash.