How to: Forking a Fork
The hard fork, deployed through the software upgrade Bitcoin ABC 0.17.1, is anticipated for May 15, “when the median timestamp of the most recent 11 blocks is equal to, or greater than 1526400000,” according to a Bitcoin ABC announcement. To prepare for the fork, the announcement asks all Bitcoin Cash node operators to upgrade to the new version immediately, and it further asks all community members to contact “exchanges, wallet providers, and other ecosystem participants, [to let] them know they should upgrade their software or run an updated version of Bitcoin ABC or other compatible software.”
For all practical purposes, the update is a hard fork, but given that there’s (generally) unequivocal consensus in the Bitcoin Cash community, it acts as more of a software upgrade. With the snapshot of the forked block, a new chain will be created, but the current supply of Bitcoin Cash will be migrated to it after the fork, rendering the older version obsolete.
32 MB Blocks and Smart Contracts to Come
“The most notable change,” Bitcoin ABC’s announcement reads, “is the increase of the maximum blocksize to 32 MB.”
Noteable indeed, Bitcoin Cash was originally created to expand Bitcoin’s block size. At a time when Bitcoin only supported 1 megabyte blocks, Bitcoin Cash was born and bred for 8 megabyte blocks, and the forked coin was meant to succeed as a proper transactional currency for everyday use where Bitcoin had failed.
In addition to the block size increase, Bitcoin ABC reveals that “[there] are also several Bitcoin script operation codes (op codes) being added or reactivated. These include OP_CAT, OP_AND, OP_OR, OP_XOR, OP_DIV, OP_MOD, OP_SPLIT, OP_NUM2BIN, and OP_BIN2NUM. Finally, the OP_RETURN data carrier size increases to 220 bytes.”
In layman’s terms, OP_Return will allow users to store extra data on the blockchain. This change, along with the extensive list of additional op codes, will lay the groundwork for the addition of smart contracts on Bitcoin Cash’s blockchain.
In a Yours blog post, nChain developer Steve Shadders points out that “Bitcoin was created with a rich scripting language” that included the above op codes in its first iteration. But upon discovering vulnerabilities in these codes, Satoshi Nakamoto disabled them to keep the network secure. Since they were disabled, the developer community has had time to work on these bugs and Shadders argues that “the edge cases around these op codes are much better understood now.”
Even so, the fork will not re-implement the entire library of op codes, as Shadders claims that “[enabling] only a few op codes for the May 15th protocol upgrade not only limits the risk and [sic] enables all involved developers to give each op code more attention.”
The scope of the hard fork is determined and ambitious; it searches for scalability solutions with its block size increase and strives for Ethereum-like functionality with its smart contracts. While Bitcoin ABC advertises the block size update as the main feature, Shadders espouses that restoring the op codes and enriching Bitcoin Cash’s scripting language is motivation to fork enough:
“Restoring bitcoin to it’s originally intended design (with bugs fixed) is a reason [to upgrade the software] in itself.”
This article was originally posted on https://coincentral.com/bitcoin-cash-to-upgrade-to-smart-contracts-bigger-block-size-with-may-15-hard-fork/