Bitcoin and more recently ethereum especially find themselves with a nice problem to have. There is too much demand for their blockchain and unfortunately not quite enough supply.
Bitcoin was planning to address this through the Lightning Network (LN) which launched in March. But only 40 bitcoins ($270,000) can currently transact in the entire lightning network. LN, moreover, works on top of bitcoin so it isn’t really a full scalability solution.
Ethereum is working towards such full solution through sharding, casper, Plasma, and many other things, but the main one, sharding, probably won’t be out for another two years.
Litecoin tried to act as bitcoin’s substitution during the congestion in December, but LTC also has a 4MB limit per ten minutes, effectively as much as bitcoin.
Ripple does have capacity, but that’s not really a public blockchain. It has a unique node list, making it more like a permissioned blockchain, although MIT is apparently running a Ripple node.
Then there is ETC which has no plans to move to Proof of Stake (PoS). That means they won’t be able to copy paste ethereum’s sharding, so ETC is limited to 1.4 million transactions a day.
Bitcoin Cash, on the other hand, has a blocksize limit of 32MB. 1MB can handle about 300,000 transactions in bitcoin, so BCH can handle 10 million transactions a day right now.
What happens when that is reached, is unclear. The highest number of transactions processed by any public blockchain is 1.4 million a day in ethereum. The eth network was still running at 1MB per 10 minutes, but due to a different design BCH would be running at close to 4MB while processing 1.4 million transactions.
The network can probably handle fine 4MB, but at 32MB it might struggle. If thus remittance and so on moved to BCH and it was running at 10 million transactions a day, that would translate to about 4GB of new data a day.
That translates to two terabyte a year, which isn’t that bad but communicating new blocks to nodes might take a minute or more. That could considerably increase orphan rates, which wouldn’t be that good.
The bigger problem, however, is what happens after the limit is reached. Devs there intend to increase it in line with demand, but it isn’t devs that increase the limit, it is miners.
Public pressure in a united community might perhaps kind of force miners to increase the limit, but they might say orphan rates are two high, as they did in ethereum, making that public pressure a bit less united.
Even if things do go fine, it is that sort of uncertainty that a new business has to consider when they decide what chain to go with. Of course for things like remittance, arguably they need not care what coin they use as long as there is a fiat point at the other end, but if they are building a token or a BCH based dapp, they’d sort of be dependent on that specific chain.
Thus while BCH can reasonably currently claim to have plenty of capacity, the long term view for say 100 million or a billion transactions a day is not very clear because the incentives for miners and those of users do not align.
As we have seen in both bitcoin and ethereum, miners would rather limit capacity and benefit from higher fees, especially once a user base has been established.
There is little reason to think in BCH it would be different. Especially when we consider that to handle 100 million transactions they need 320 MB blocksizes. For a billion, it needs to be 3GB.
The latter of course can’t possibly work even if you have 20 huge nodes, but even with 320MB it can’t work as our 2MB per second internet would probably take the whole ten minutes to propagate the block.
The idea is of course that demand would be slow and gradual, that it would take years or decades for demand to rise to 100 million transactions and thus for blocksizes to reach 320 MB, with tech advances so accommodating the demand.
Yet growth could also be exponential. Cryptokitties alone, for example, might have reached 10 million transactions a day, at least initially when it first went viral. If there are many other use cases in finance, industry, art, entertainment and so on, then 10 million in a way appears tiny.
That’s when considering that it requires 32MB blocksizes, because with such transactions to data ratio you’d be running out of capacity pretty quickly.
There are of course second layer solutions, but we’re not aware of Bitcoin Cash working on any such second layers at this stage.
They could of course develop them, but then they do take time, with second layers moreover really for kind of niche use cases where you often transact with another party.
Sharding is a full solution and with super quadratic sharding in ethereum they’ll be able to handle one billion transactions a day while the network runs at 1MB per ten minutes.
That is very wowy and to increase capacity to 2 billion transactions a day would be as easy as raising it to 2MB per ten minutes.
The maths is somewhat simple at a high level conceptual view. Ethereum currently has 16,000 nodes and all of them are currently processing the same transactions at a maximum capacity of 1.4 million transactions per day for the entire network.
As casper means anyone who wants to stake has to run a node, and as sharding might mean running a node would become very important so people would be told to do so, let’s simplify for our example and say there are 160,000 nodes.
With sharding, you split those 160,000 nodes into 160 node groups of 1,000 nodes each. Ethereum’s current capacity is around one million transactions, so in this sharded chain its capacity would be one million x 160.
Now that we have this sharded chain and all is working fine, you can then split those 1,000 nodes in 10 groups of 100 nodes each. So now we have one million x 1,600. Which means you’d be getting to more than a billion transactions a day in what the staking eth network might look like. While with the current node numbers the target is 100 million transactions prior to super quadratic sharding.
That would be very impressive, but of course to develop it would take some time, with suggestions initial implementation would be hopefully by 2020, while super quadratic sharding might be out by 2025.
It will thus be gradual, with second layers pretty much the only option until then. The idea, at least while the blocksize arguments went on, was for bitcoin to have some brief respite while devs work on sharding and second layers.
On BCH, however, they’re not really working on either as far as we are aware. Nor do we know whether they have the skills to do so. For LN, probably, but sharding is a very different beast, with very high maths that’s kind of at the cutting edge of knowledge.
So you can’t go to a class and learn that sort of thing, with bitcoin devs themselves not even bothering to try implementing sharding.
The idea is sound however and sharding is used in databases, so we know it works, but until it launches something like BCH can potentially act as a temporary substitute for simple transactions like remittance.
The network there does have significant capacity at 10 million, so while later on it might struggle if demand rises quickly, for now it can provide a brief respite as the full solution is developed.
While for dapps or more recurring payment activities, payment channels and their equivalent of state channels as well as second layers can be used as a temporary solution and in many cases even as a permanent solution.