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?
Jessquit writes:
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.
Flowee the Hub on Scalenet
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.
Simple numbers:
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.
VISA
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.
so we all agreed that having a 260mb blocks still not enough to handle a burst capacity of visa...
what about mastercard, paypal, zelle, all the unbanked in the world?? what about the burst capacity of all the world together?
Is not bitcoin cash for handle all this? or is just to handle normal days visa capacity?
Do you understand that we are going to have fee marked every time a spike in transactions surpass the 260mb limit?
what about the almost free transaction everybody speak about??
and what will happens if we rise the block forever to have this almost free transactions?? what about the security? who is going to pay the miners in 10 years if only free transactions happens on the bitcoin cash network?
We are also agreed that only BIG companies are going to be able to have full nodes. Is this not a baking system? what happens if this BIG companies get together and change the blockchain? nobody else will will be able stop this, because everybody else will have pruned nodes or no nodes at all, what is the point of having a "distributed" database if only few can have full nodes?
I have more questions now that what i had before of reading this article...
very vague solutions are being presented here.