While Blockstream’s researcher Andrew Poelstra will speak of Schnorr Signatures this May at the nicely named Magical Crypto Conference, part of Consensus Blockchain week, Bitcoin Cash (BCH) will be celebrating an upgrade that includes Schnorr Signatures.
“May 15th 2019 protocol upgrade is now locked in,” says the “official” website of BCH’s main client, Bitcoin ABC. “The protocol upgrade, once activated, will enable the following features: Schnorr signatures for enhanced privacy and performance, for both single and multiple-signature transactions.”
Amaury Séchet, lead dev at ABC, has been working on implementing Schnorr signatures for now more than a year.
He wrote a “for dummies” explainer all the way back in 2017, with it seemingly attracting his interest because Schnorr can facilitate ring signatures, described as:
“A cryptographic tool which allow for any actor in a group to sign, without revealing which actor did. The idea was introduced as a tool for whistleblower but is now most importantly used for anonymous cryptocurrencies such as Monero for the anonymity it provides.”
He doesn’t provide just as a succinct summary for Schnorr, but this is basically a method to compress signatures, to increase privacy and to add efficiency. Lucas Nuzzi, Director of Technology Research at Digital Asset Research, says:
“While the ability to fuse keys may sound trivial, the benefits of key aggregation should not be underestimated. Since multisigs are not natively supported by ECDSA, they had to be implemented in Bitcoin via a standardized smart contract (yes, Bitcoin has smart contracts too) called Pay-to-ScriptHash (P2SH). This enables users to add spend conditions called encumbrances to specify how funds can be spent e.g. ‘only unlock balance if both Alice and Bob sign this message.’
The first problem with P2SH is that it requires knowledge of the public keys of all signers participating in the multisig, which is not an efficient system. Aggregating these keys would allow for more efficient validation as only one key needs to be verified by the network, rather than n keys. That also means less footprint on the blockchain, lower transaction costs, and improved bandwidth.”
The context there is Bitcoin Core, but the same applies for BCH as the two are very much identical at a technical level with some small differences.
For the Bitcoin Core client, however, Schnorr signatures are at the design stage as far as we are aware. There has been a Bitcoin Improvement Proposal (BIP) since last year. Blockstream has also launched some code, but its actual live activation might perhaps come out later this year.
Bitcoin Core might be offended by the idea that BCH will beat them to it, so perhaps they’ll rush out this proposal which was first suggested all the way back in 2014.
That’s unlikely, however. There needs to be testnets, the network needs to get ready for what in BTC would be a softfork, with it all requiring quite a bit more time than two months.
Making it an interesting turn of events as BCH devs now show some skill and speed with a clear roadmap and reasonable progress towards implementing it.