Off-Chain Multisignature
TL;DR
The off-chain multi-signature collection has reduced the transaction costs and made the number of validators scalable.
Definition
Digital Signature (DS) is a function implementing an asymmetric cryptography algorithm that securely links a signer's secret key (SK) with the message. The authenticity of a signature can be verified using the public key (PK).
Why is it secure?
By contrast with symmetric cryptography, where the same key is employed for encryption and decryption, asymmetric cryptography utilizes two keys: public (PK) and private (SK). While in symmetric cryptography, there's a fundamental problem of secure transportation of the secret key in asymmetric cryptography, the issue is solved. The PK is cryptographically derivable from the private key (SK), but the secret key cannot be back-engineered from the public key. It allows to freely distribute the PK and use it to verify the authenticity of the message signed with the secret key without exposing the SK to the public.
Schnorr Signature
Claus-Peter Schnorr (born 1943-08-4), a German mathematician & cryptographer, suggested in 1989, filed in 1990, and finally patented in 1991 1 a digital signature algorithm using elliptic curve cryptography but enjoying several advantages over ECDSA in terms of computational efficiency and thus speed, privacy, and storage requirements. The patent expired in 2008 and was soon noticed and utilized by the evolving blockchain industry.
What makes Schnorr efficient?
The most significant advantage of Schnorr is key aggregation. By contrast with the regular multisig address where
:
- - multisignature of size
- - The first public key
- - The last public key out of required for success
- - the signed message
- - The first signature
- - The last signature out of required for success
the Schnorr scheme allows to aggregate the heavy arrays of and to single objects, thus saving on storage and computation. Hence, Schnorr multi-signature has an times more efficient form: . Verification complexity is reduced from to .
Mathematical Representation of Schnorr Signature
The Schnorr Digital Signature (DS) scheme can be represented as a 3 component tuple of algorithms, where
or key generation can be represented as , where public key is generated from the secret key
generates a signature on message
outputs 1 in case the signature is valid for the message and 0 otherwise.
Algorithm Parameters
Parameter | Description | Secrecy |
---|---|---|
A prime number | Public | |
factor of | Public | |
Public | ||
The message, where | Public | |
Public Key | ||
A random number | Secret | |
Secret |
Step 1. Signing a message
- Choose a random , where
- Compute
- Concatenate
- Compute
Step 2. Sending the message
Message:
Signature
Step 3. Receiving the signed message
- Received:
- Public:
Step 4. Reading the message
The receiver has to compute:
The math behind it:
Outcome:
Step 5. Signature Verification:
If computed above matches with the one received, the signature was valid.