In five weeks, the Bitcoin Cash (BCH) network will upgrade once again, adding two new features to the blockchain. The first component added will be Schnorr support for OP_Checkmultisig, which will allow more complex mechanics to multi-signature transactions and all signature checking operations will support Schnorr signatures. Lastly, the upgrade will finalize the BIP62 malleability vector by enforcing Minimaldata in script, otherwise known as the “Minimaldata” rule. This enhancement aims to make “most of the transactions on the BCH network (including all P2PKH transactions) be non-malleable.”
Two New Features: Schnorr for OP_Checkmultisig and a Malleability Fix
Every six months, the Bitcoin Cash community and developers prepare to upgrade the network’s protocol. Bitcoin Cash is upgrading on November 15 and the BCH community seems excited about the two new enhancements coming to the BCH chain. The last upgrade saw Segwit recovery and the very basics of Schnorr signatures added to the network.
This time around, the software developers are adding two more features to the protocol: Schnorr signatures for OP_Checkmultisig (Verify) and enforce Minimaldata in script. Last month, the Bitcoin ABC development team published a notice that informs people the “November 15th, 2019 protocol upgrade is now locked-in.” “The features going into every protocol upgrade are planned, specified, and developed far in advance in order to give all Bitcoin Cash ecosystem participants ample time to prepare,” the announcement explains. Bitcoin ABC’s notice further states:
The goal of Bitcoin ABC is to help create sound money that is usable globally in order to drive freedom and prosperity for everyone. Bitcoin ABC continues to be a driving force in executing the roadmap for Bitcoin Cash.
The first feature called Schnorr signatures for OP_Checkmultisig (Verify) compliments the first iteration of Schorr signatures on the BCH chain, which at the time added support for OP_Checksig and OP_Checkdatasig. “This upgrade extends that support to OP_Checkmultisig and after this upgrade, all signature checking operations will support Schnorr signatures,” the Bitcoin ABC announcement states. Software engineer Mark Lundeberg explained on August 9 that developers did a successful preliminary test of bringing Schnorr signatures to OP_Checkdatasig based on these specs. While also showing a meme of Bob Ross painting but with Dorian Nakamoto’s face, Lundeberg detailed how they discovered a “happy accident.”
“To make this work elegantly, we’ve made use of a weird wart of Bitcoin’s Script language, where OP_Checkdatasig pops an additional unused element off the stack,” Lundeberg said. “That dummy element has finally found a use — Without the dummy element, we would have had to make something technically more disruptive and awkward. The multisig dummy element was always understood to be a mistake. But sometimes, that mistake is just a happy accident.”
Building the Infrastructure Needed to Make Bitcoin Cash the Best Money in the World
Additionally, the BCH community is looking forward to the enforced Minimaldata in script application to the BCH chain. “This removes the final BIP 62 malleability vector, and means that most of the transactions on the BCH network (including all P2PKH transactions) will now be non-malleable,” the Bitcoin ABC lock-in announcement reads. This addition has excited a bunch of BCH proponents and Reddit user u/bigblockiftrue remarked on why he was enthusiastic about the Minimaldata rule enforcement. “The completion of the malleability fix unlocks an additional ability for Canonical Transaction Ordering (CTOR): to provide Merkle proofs of transactions being excluded from blocks (in addition to transactions being included),” u/bigblockiftrue stressed. “This enables SPV wallets to always conclusively know whether or not a particular transaction was mined in a particular block. A small but nice step towards further empowering SPV,” he added.
The Bitcoin ABC announcement says that a testnet is available for people to trial and test the new features. “This testnet can be used to ensure compatibility, or to get started building products to make use of the upgrade features,” Bitcoin ABC notes. Moreover, on September 30 a developer meeting was published on Youtube which discussed the November 15 upgrade in great detail. The meeting host David Allen conversed with the software developers Antony Zegers, Mark Lundeberg, Jason Cox, Andrea Suisani, Fernando Pelliccioni, Chris Pacia, Jason Dreyzehner, Tyler Smith, David Klakurka, and Josh Green. The crypto engineers also talked about a Payment Protocol (BIP70) working group as well as Avalanche development and experimentation topics.
As usual, Bitcoin Cash miners, businesses, and node operators will have to be prepared for the changes on November 15. The ABC team’s notice shows the developers are confident with the chosen protocol optimizations and the concepts have been reviewed thoroughly. “By implementing protocol optimizations and upgrades, we can enable peer-to-peer digital cash to scale many orders of magnitude beyond current limits — Bitcoin Cash must continuously improve in order to compete,” the protocol lock-in declaration states. The developers concluded by further clarifying:
We at Bitcoin ABC are happy to work on building the infrastructure needed to enable Bitcoin Cash to be the best money the world has ever seen.