Bitcoin Cash is to upgrade its network in just five hours to adjust its difficulty algorithm so that it can retain transaction confirmations within a predictable time of 10 minutes, allowing for instant transactions.
The hardfork upgrade does not appear to be controversial as it fixes a significant problem whereby hashrate oscillates considerably, with the network sometimes processing 100 blocks an hour, while sometimes it processes none for hours.
The new algorithm will adjust every block based on the previous 144 blocks (24 hours). A hashrate increase, or decrease, will therefore be accounted far more quickly, returning normal confirmation times of every ten minutes on average.
That will allow for as good as instant transactions through a process Nakamoto publicly described back in 2010. He says:
“I believe it’ll be possible for a payment processing company to provide as a service the rapid distribution of transactions with good-enough checking in something like 10 seconds or less.
The network nodes only accept the first version of a transaction they receive to incorporate into the block they’re trying to generate. When you broadcast a transaction, if someone else broadcasts a double-spend at the same time, it’s a race to propagate to the most nodes first. If one has a slight head start, it’ll geometrically spread through the network faster and get most of the nodes.
A rough back-of-the-envelope example:
1 0
4 1
16 4
64 16
80% 20%
So if a double-spend has to wait even a second, it has a huge disadvantage.
The payment processor has connections with many nodes. When it gets a transaction, it blasts it out, and at the same time monitors the network for double-spends. If it receives a double-spend on any of its many listening nodes, then it alerts that the transaction is bad. A double-spent transaction wouldn’t get very far without one of the listeners hearing it. The double-spender would have to wait until the listening phase is over, but by then, the payment processor’s broadcast has reached most nodes, or is so far ahead in propagating that the double-spender has no hope of grabbing a significant percentage of the remaining nodes.”
Merchants, therefore, can accept zero confirmed transactions with fair confidence it will be confirmed by applying the above process. Something Coinbase and BitPay used for years, but can not any longer in bitcoin.
That’s because for instant transactions to work, the network must not be congested. That is, as good as all transactions need to be confirmed in the next block.
That’s the case with Bitcoin Cash, or it likely will be once the new difficulty kicks in now in a matter of hours. Then, BCH will be usable as a currency, with as good as no fees, and as good as instant transactions, making it an excellent means of exchange.
Afterwhich, it will be for merchants to start accepting it as the long market vote, in the now very interesting crypto space, continues.