Blockchain & Cryptocurrency Glossary

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

  • search-icon Clear Definitions
  • search-icon Practical
  • search-icon Technical
  • search-icon Related Terms

Schnorr Signature

2 min read
Pronunciation
[shnor sig-nuh-cher]
Analogy
Schnorr signatures are like a sophisticated locksmith's certification. Instead of demonstrating you have a key by physically showing it (which risks someone copying it), you prove ownership by performing a special test that only someone with the correct key could pass. This proof is compact, mathematically verifiable, and multiple people can combine their proofs into a single, space-saving certificate.
Definition
A digital signature scheme known for its simplicity, efficiency, and support for native multi-signature aggregation. Schnorr signatures provide a mathematical proof that the signer knows the private key corresponding to a public key, with provable security and minimal size.
Key Points Intro
Schnorr signatures offer elegant simplicity with powerful capabilities for blockchain applications.
Key Points

Provides mathematical provability of security under standard cryptographic assumptions.

Enables native multi-signature aggregation for space and computational efficiency.

Offers linear verification for multiple signatures rather than quadratic complexity.

Supports threshold signatures and complex signing conditions without revealing the policy.

Example
Bitcoin implemented Schnorr signatures through the Taproot upgrade, allowing multiple signatures for complex spending conditions (like multi-signature wallets or Lightning channels) to be combined into a single signature. This improves privacy by making complex transactions indistinguishable from simple ones, while reducing blockchain space and verification time.
Technical Deep Dive
Schnorr signatures operate on cyclic groups where the discrete logarithm problem is hard, typically elliptic curves like secp256k1. The basic protocol involves: (1) The signer generates a private key x and public key P = x·G (where G is the group generator); (2) For signing, they create a random nonce k and commitment R = k·G; (3) They calculate the challenge c = H(R || P || message) where H is a cryptographic hash function; (4) They compute the signature s = k + c·x; (5) The signature is the pair (R, s); (6) Verification checks if s·G = R + c·P. For multi-signatures, multiple signers can combine their individual R values and create a single signature that validates against the sum of their public keys. This linearity property enables key aggregation where multiple public keys combine into a single verification key. Bitcoin's Taproot implementation uses the variant "Schnorr signatures over the secp256k1 curve" with specific optimizations for the blockchain context including batch validation and tagged hashes for domain separation. Schnorr signatures were originally patented, which delayed their adoption in major cryptocurrencies until the patent expired in 2008.
Security Warning
When implementing multi-party Schnorr signing protocols, use a secure approach for generating the combined nonce to prevent rogue-key attacks. Signers should commit to their individual nonces before revealing them, or use deterministic nonce generation that incorporates all signers' public keys.
Caveat
While Schnorr signatures offer significant theoretical advantages, their relatively recent adoption in major blockchains means they have less real-world testing than schemes like ECDSA. Additionally, secure multi-party Schnorr signing requires careful protocol design to prevent various attacks during the interactive signing process.

Schnorr Signature - Related Articles

No related articles for this term.