illustration intro

pull/1010/merge
Andreas M. Antonopoulos 2 years ago
parent 2723981678
commit d0f7c1d988

@ -29,13 +29,17 @@ In Bitcoin, Schnorr signatures are applied to the secp256k1 elliptic curve. This
The BIP-340 document contains more than simply the final implementation of Bitcoin's Schnorr signatures: it describes the various design decisions and the rationale for the choices that were made. While we won't repeat those explanations here, we urge you to read BIP-340 for yourself, so that you may better understand the process and reasoning behind the specification.
Illustration footnote:[The Schnorr signature illustration is sourced from Stepan Snigirev's article "How Schnorr Signatures May Improve Bitcoin" (https://medium.com/cryptoadvance/how-schnorr-signatures-may-improve-bitcoin-91655bcb4744)]
[[schnorr_sigs_illustrated]]
==== Schnorr signatures illustrated
One of the best ways to understand Schnorr signatures, is to visualize the signing and verification steps. In <<schnorr_sigs_illustrated_diag>> below you can see the Schnorr signature algorithm, visualized. The black curved line represents the +secp256k1+ elliptic curve, Bitcoin's default curve for key operations. The curve has a static, pre-defined starting point, called the _generator point_, shown on the curve as point +G+. Public keys are derived by scalar multiplication of a private key and the generator point. For example, the public key of the transaction signer +P+ is computed by the multiplication of their private key +pk+ with the generator point. You can see this operation highlighted as a red arrow "from" point +G+ to point +P+, with the formula +P = pk x G+ above the red arrow.
[[schnorr_sigs_illustrated_diag]]
.Schnorr signatures illustrated
image::images/schnorr_signatures.png["Schnorr signatures illustrated"]
footnote:[The Schnorr signature illustration is sourced from Stepan Snigirev's article "How Schnorr Signatures May Improve Bitcoin" (https://medium.com/cryptoadvance/how-schnorr-signatures-may-improve-bitcoin-91655bcb4744)]
==== Creting a Schnorr signature
The first part of a signature scheme is the formula used to create the digital signature, which is shown in <<schnorr_signing_formula>>:

Loading…
Cancel
Save