11. Schnorr Signatureback to table of contentsSchnorr signature is a signature scheme: a set of mathematical rules that connect private key, public key and signature.
Claus-Peter Schnorr invented this digital signature scheme, but it was not originally intended for crypto technology.
Schnorr is an alternative algorithm as a
digital signature with several advantages.
Currently, Bitcoin uses the
ECDSA (Elliptic Curve Digital Signature Algorithm) algorithm to generate cryptographic signatures to send/deliver
secp256k1 messages and keypair.
The main reason that Bitcoin did not initially use the Schnorr signature is that Schnorr is not standardized, and is not available on crypto libraries in general.
Many cryptographers consider
Schnorr signatures to be the best in their field because schnorr offers a right level of accuracy, is relatively fast in terms of verification, and
most importantly, schnorr supports multi-signature. In essence, several signatures can be combined into one new signature.
Previously, schnorr was not possible to use in the bitcoin protocol. Other signature schemes, ECDSA was included in the Bitcoin protocol, so to change it requires a hard fork.
But with SegWit (Segregated Witness), all-digital signature data is moved into a separate part of the transaction: Witness is not integrated into the old Bitcoin protocol. Almost all of the rules applied to Witness can be changed through soft forks, including the scheme used in signatures.
CapacityThe most beneficial part of schnorr is the aggregation of multi signatures.
Many Bitcoin transactions include multiple inputs. All of these inputs require separate signatures, which means that all of these signatures must be entered into the transaction, all must be sent over the network, and all must include in the block.
But with Schnorr, all inputs require only one combined signature that represents all these different signatures.
Schnorr can provide the option to transact with a simple multi-user scheme.
It is one of the advantages offered by Schnorr. Because only one signature must be entered into a transaction, only one must be sent over the network, and only one must be entered in the block. It means there is more room for transactions.
The exact amount of additional space depends on the type of transaction included in the block. But rough estimates by
Eric Lombrozo (Bitcoin Core Developer) show that the Schnorr signature can eventually increase the total capacity by 40 percent or more and that is an additional 60 to 100 percent previously offered by Segregated Witness.
MultisigCapacity building, as described above, applies to regular transactions, because many transactions include more than one input. But the benefits can be more significant in terms of multisig transactions-transactions where a single data itself requires multiple signatures (usually from different people).
Size of the Bitcoin blockchain with and without multi-signatures.
Source: https://eprint.iacr.org/2018/068.pdfPrivacyAs mentioned earlier, one transaction can include many inputs. In general, this input refers to addresses that are all controlled by the same person.
But the privacy-enhancing trick discovered by Gregory Maxwell (developer of Bitcoin Core), CoinJoin, allows different users to combine all of their transactions into one transaction. That one transaction will include several inputs from various payers, which send money to several outputs, belonging to different payees.
Note: discussion about Coinjoin can be seen in the topic Bitcoin Privacy and Anonymity, point 6. CoinJoin.If done correctly, CoinJoin is a great way to increase privacy in the Bitcoin protocol, because it is not clear which inputs are paid, which outputs are correct.
CoinJoin is not a new concept. But until now CoinJoin is usually a bit of a hassle. Because of this, most people don't care.
But the Schnorr signature can add new advantages to CoinJoin. It allows all participants in CoinJoin transactions to not only combine their transactions but also to combine their signatures. And doing so means that the actual transaction size will be smaller than all the individual transactions combined. Which, in turn, means the
miner will usually charge a lower fee for processing the transaction.
Using the Schnorr signature scheme on CoinJoin will not only increase privacy but also - importantly - can reduce costs for everyone involved in the transaction.
Reference:
- Gregory Maxwell, Andrew Poelstra, Yannick Seurin, & Pieter Wuille, Simple Schnorr Multi-Signatureswith Applications to Bitcoin, https://eprint.iacr.org/2018/068.pdf
- Schnorr, https://en.bitcoin.it/wiki/Schnorr
- Schnorr signature, https://en.wikipedia.org/wiki/Schnorr_signature
- Aaron van Wirdum, The Power of Schnorr: The Signature Algorithm to Increase Bitcoin’s Scale and Privacy,
https://bitcoinmagazine.com/articles/the-power-of-schnorr-the-signature-algorithm-to-increase-bitcoin-s-scale-and-privacy-1460642496
- Alyssa Hertig, Schnorr Is Looking Poised to Become Bitcoin’s Biggest Change Since SegWit,
https://www.coindesk.com/schnorr-is-looking-poised-to-become-bitcoins-biggest-change-since-segwit
- René Pickhardt, Introduction to Schnorr Signatures for Bitcoin & Lightning Network. Schnorr Signature Tutorial Part1,
https://www.youtube.com/watch?v=n5aompcR9W0
- René Pickhardt, MuSig - Multisignature Addresses in Bitcoin. Schnorr Signature Tutorial Part 2,
https://www.youtube.com/watch?v=4v4G8Vtr3Bk
- René Pickhardt, Introduction to Adaptor Signatures via Schnorr Signatures - Schnorr Signature Tutorial Part 3,
https://www.youtube.com/watch?v=a8Pdpz_Jzok
- Yodik Prastya, Bitcoin Cash Upgrade Fitur Pemulihan Dan Keamanan, https://www.seputarforex.com/berita/bitcoin-cash-upgrade-fitur-pemulihan-dan-keamanan-288550-15
- Privacy, https://en.bitcoin.it/wiki/Privacy
- Other references look at post #1