On November 15th, just after 12 p.m., Bitcoin Cash (BCH) will upgrade the network's consensus rules. After the upgrade has been locked, the next block forces minimal push data in the script and the opcodes OP_Checkmultisig and OP_Checkmultisigverify are updated to accept Schnorr signatures.
Code supplied
Next Friday, Bitcoin Cash proponents will watch the BCH chain update the current consensus rule set to add two new features. Developers have been discussing the upgrade for months and have explained in detail at developer meetings how the changes will affect the BCH roadmap. As of August 1, 2017, BCH developers have created a significant number of protocol developments that only apply to BCH. For example, BCH engineers increased the block size to 32MB, which allows for much higher throughput than a 1MB block.
In September 2018, BCH surpassed BTC's daily transaction count by processing millions of transactions in a single day. Bitcoin Cash programmers have re-enabled the old Satoshi opcodes, which enable a wide variety of decision-based transactions, compilers, and other functions. The added opcodes enable the implementation of OP_Checkdatasig, with which the hash can be calculated within a transaction in order to automatically validate signatures. The developers of Bitcoin Cash have also increased the standard size of the network's disk to 220 bytes.
The two new upgrades for Bitcoin Cash on November 15, 2019. If you're a miner or running a full node, you'll need to upgrade your Bitcoin ABC, Bitcoin Unlimited, BCHD, Flowee, or Bitcoin Verde client before Friday.
The BCH engineers didn't stop there and at block 582680 the blockchain was updated by adding the basic fundamentals of the Schnorr signature protocol. Canonical Transaction Ordering (CTOR) was implemented in the upgrade before the Schnorr function. With CTOR, the BCH chain can essentially work with blocks as a set, as opposed to list order, as the process is carried out in a canonical way. According to Coin Dance statistics, BCH developers have added 20 different components to the protocol, another 20 are under development, 15 features are being discussed and two new features are pending. The two added components that are implemented in the BCH blockchain consist of a finalized malleability vector (forcing minimal push data in the script) and Schnorr signature support for OP_Checkmultisig and OP_Checkmultisigverify.
Two new rule set changes
The first change reduces the malleability vectors in the network by applying the minimum data rule. "This will remove the final BIP 62 malleability vector, and most transactions on the Bitcoin Cash network (including all P2PKH transactions) will no longer be malleable," the November 15th upgrade documentation explains. While Bitcoin transactions are signed, signatures do not include all data hashes, and it is possible for nodes to corrupt the transaction by invalidating the hash.
Read here about the minimum data rule.
There are several forms of malleability vectors in scriptSig and signatures. In 2014, BIP62 was introduced to solve the problems. Many types of solutions have been attempted in recent years to confront third-party malleability vectors. After the network upgrade next Friday, the majority of Bitcoin cash transactions are no longer malleable by third-party providers, and the enforced minimum data rule should also strengthen SPV (Simplified Payment Verification) customers.
The second additional function in the BCH chain is the support of OP_Checkmultisig (Verify) in order to supplement the first iteration of Schnorr signatures. "This upgrade extends this support to OP_Checkmultisig. After this upgrade, all signature checking processes support Schnorr signatures," says the upgrade documentation.
Read here about Schnorr support for OP_Checkmultisig (Verify).
The new function enables more complex mechanisms for transactions with multiple signatures that benefit from the Schnorr mechanism. "Schnorr-aggregated signatures (with OP_Checksig) are a way of creating multiple signatures, but have different technical properties than the well-known Bitcoin Multisig and are therefore not a substitute for it," says the specification from November 15th. The summary adds:
In addition, it is also desirable that every existing coin can be issued with Schnorr signatures, and there are numerous wallets and coins based on OP_Checkmultisig that we would like to use in order to be able to use Schnorr signatures.
Update node and observation site
Bitcoin Cash fans are looking forward to the next upgrade and the network participants have been constantly preparing for the changes. Ordinary users do not need to do anything for the network changes to take effect. However, miners and node operators are encouraged to download and run the latest version of a BCH client that supports the November 15 rule set changes.
Watch the countdown to the Bitcoin Cash network upgrade here.
Currently, Bitcoin ABC, Bitcoin Unlimited, BCHD, Flowee, and Bitcoin Verde are ready to accept the new rules. At the time of going to press, 68% of all publicly accessible BCH nodes offer upgrade support. Every day, enthusiasts and advocates who are not dismantling or operating a node can simply view the upgrade online through a data site such as Coin Dance or Fork Monitor. On November 15th, both sites will let people know exactly when the consensus changes will take place.
For more information on the November 15 Bitcoin Cash upgrade, check out the tech specs on Github.
What do you think of the upcoming Bitcoin Cash upgrade slated for November 15th? Let us know what you think on this matter in the comments section below.
Photo credit: Shutterstock, Twitter, Github, Coin Dance, Wiki Commons, and Pixabay.