What is Schnorr and Why it’s Very Important for Bitcoin
Bitcoin's scalability problem is gradually becoming less acute. In August 2017, the activation of the Segregated Witness (SegWit) upgrade began increasing network transaction speeds and lowering transaction fees, while ongoing work on the Lightning Network also promises to make Bitcoin faster by moving certain transactions off-chain.
And now, a new piece of the puzzle is about to fall into place. This is Schnorr, an algorithm that would enable multiple signatures to be securely aggregated into one, thereby increasing the speed and privacy offered by Bitcoin. However, while a technical outline for implementing Schnorr has now been released by developer Pieter Wuille, the need for community consensus and adoption could mean there's still some time to wait before it increases Bitcoin network capacity by as much as 40%.
Schnorr: A Non-Technical Primer
Originally developed by German cryptographer/mathematician Claus-Peter Schnorr, the Schnorr signature algorithm is essentially a way of linking multiple wallet keys to a single signature.
"For applications like Bitcoin, one of the most compelling advantages is compact multi-signatures, allowing what are effectively several signatures to be compressed into the space of one," crypto-analyst Tony Arcieri explains to Cryptonews.com.
"The overwhelming majority of the data in Bitcoin's blockchain consists of signatures, so using Schnorr-based techniques to "compress" signatures allows for a much smaller blockchain to represent the same cryptographically verifiable information."
For the uninitiated, cryptographic signatures are how a blockchain protocol (such as Bitcoin's) verifies that a public wallet key corresponds to a private one. They're needed a) to verify transactions and b) to avoid revealing a private key to unwanted scrutiny. Unfortunately, the need to provide a signature for every single wallet involved in a transaction can weigh the Bitcoin network down.
Enter Schnorr, which is now a viable solution for Bitcoin due to the introduction of SegWit. This is because SegWit moves all signature data to a separate portion of each block, which allows such portions to have their rules altered without the need for a hard fork.
As such, Schnorr can be introduced with only a soft fork, enabling a transaction involving multiple addresses to be reduced to a single signature. While estimates vary depending on who you ask, this simplification will reduce the amount of block storage needed by the Bitcoin network by anything from 25% to 40%.
In other words, more transaction info could be included on a single block, and if we assume a current maximum speed of seven or eight transactions per second for Bitcoin, the addition of Schnorr could bring this up to as much as 9.8 or 10.2. Increased capacity would also help to reduce transaction fees, thereby making it cheaper to buy and sell bitcoin.
This aggregating of multiple addresses in a single signature will also have a positive effect on privacy, since it will incentivise people to use CoinJoin, an anonymization method for bitcoin transactions, or similar protocols. Previously, this anonymization service suffered from the fact that not enough people used it, something which can actually compromise the anonymity of those who do. But combined with the use of Schnorr, transaction fees will be reduced on the whole if people pool their transactions together, in the process giving people a reason to use the program and increase their privacy.
Consensus and Adoption
As promising as Schnorr sounds, there's still the question of when it will actually be deployed, and of whether the Bitcoin community will harmoniously arrive at the consensus necessary for adopting it.
For example, the proposed SegWit upgrade ultimately led to the hard fork that created Bitcoin Cash in August 2017, since some community members felt that it wouldn't do enough to change how BTC is treated more as an asset than a currency.
However, Arcieri for one is sceptical that Schnorr will be controversial enough to cause yet another schism.
"This is sound cryptographic engineering the community should probably adopt from a purely technical perspective," he says. "I can't imagine what kind of narrative people would spin to argue against it, but we've seen that in the past with what should otherwise be uncontroversial cryptographic improvements to Bitcoin like SegWit."
And still, even if there is consensual support for Schnorr, its implementation will still rely on users actually choosing to use it, as is the case with SegWit. And given that SegWit enjoyed only 25% usage six months after its launch, it's clear that Schnorr's effect on BTC transaction speeds and fees won't be instantaneous.