Raspberry Pis may well be burning, but the nodes still keep on running as Bitcoin Cash mines the biggest block yet, by any public blockchain, at 23,158,974 bytes or 23MB.
Block 546,423 processed 97,318 transactions and 17,798 BCH, worth about $10 million, for a total fee of just $160 and a total miner’s reward of about $8,000.
Who the miner was for this block is unclear, but it topped a few days of stress testing in BCH where transaction numbers reached 2.2 million within 24 hours, the highest level by any decentralized public blockchain.
Some nodes were unable to keep up, especially if they were running the BitcoinABC client. Node numbers fell for it by around 200, making it a 10% fall of total node numbers to just above 2,000.
“It was definitely too much for my VPS; the server on the VPS was lagging behind, only saw 19 MB of the 23 MB transactions and needed two minutes more than my dedicated node to accept the new block,” an apparent node operator says.
Sufficient transactions were made during the stress test for a 32MB block to be mined, but such block was not mined.
The reason remains unclear as miners have not yet provided a postmortem on how the stress test went from their point of view, but it does appear that 10MB blocks can fairly easily be handled, while 20+ MB blocks put some pressure on nodes.
That means there are plenty of optimizations that need to be done, with one of them being canonical ordering.
That’s a fairly technical proposal that at a high level only sends instructions on how to build a block from the data the node already mostly has, rather than sending all the data.
The proposal has however suddenly turned controversial, even though all seemed to be supporting it when it was put forward, including Craig Wright’s nChain.
Yet Craig Wright took issue with their claim that canonical ordering would make not fully confirmed transactions safer, so publicly arguing against it and threatening a chain-split.
That has now seemingly led to a situation where Jihan Wu of Bitmain says “SBI threaten to attack BCH with their hashing power, to help CSW control BCH.” That’s after David Jerry from SBI says “There can be NO SPLIT of BCH — Or the network dies!”
It appears there has been some sort of confusion whereby some argue hashpower alone decides even if the majority of the hashpower is controlled by only one person.
The idea, at a high level, is of course based on the premise that hashpower is decentralized, therefore when something is up for debate the “vote” of many miners is in effect a somewhat objective proxy for general views on direction, akin to a token holders’ vote.
If, however, that majority hashrate is under the control of one person, then it is a 51% attack if such hashpower is abused. In such situations, the attacker is limited to only being able to double spend his own coins, not any one else’s.
They could also in effect not mine transactions in an attempt to hold the network hostage, but where there are two different node clients with different rules, thus two chains, such attacker would need to have 51% both on the chain he is attacking and on the chain he is promoting.
Ultimately, the endeavor is futile because the attacker can be neutralized with a simple Proof of Work change as when all is said and done hashpower has no say over the rules nodes run.
That simple statement has plenty of complexities within it, but in the more comfortable objective grounds of analyzing technical constraints, the end results from this stress test do seem to show that BCH in its current form doesn’t really have much more capacity than current eth.
It is slightly more, at 2.2 million transactions, and perhaps you can argue maybe five million or let’s say ten million transactions a day. Which in many ways is plenty, and in many ways is nothing.
If public blockchains are to accommodate global demand and the many use cases, some 100 million transactions or even a billion transactions a day are needed and are needed now rather than growing in line with Moore’s Law.
That means parallelization, or sharding, of the blockchain itself is required whereby rather than all nodes handling all transactions, 100 nodes handle 10,000, another 100 handle another 10,000 and so on, with it all then combining.
Achieving that is very hard because it is very much cutting edge frontiers, but that has been the suggested focus for bitcoin since 2012 by Gavin Andresen and that’s Vitalik Buterin’s current focus in eth.
The results of the stress test and the lack of Lightning Network adoption in bitcoin indicates that is very much the appropriate focus, yet whether eth devs or others will be able to deliver, remains to be seen.