(R1)
WHAT: Elliptic Curve Digital Signature Algorithm: a digital signature variant using elliptic curve cryptography (ECC). ECC is a form of public key cryptography that relies on a curved geometric set of points with operations that are mathematically unsolvable. The formula for an elliptic curve:
y² = x³ + ax + b
(R2, R3)
WHY: ECDSA is used by Bitcoin to ensure funds can only be spent by the rightful owner. ECC uses 256 bit private key to generate a geometric point that is the public key. Bitcoin uses the private key to generate digital signatures. (R2)
(R4)
Fundamental concepts:
Private Key: a randomly generated number, known only by the person that generated it (single unsigned 256 bit integer). Someone with a private key that corresponds to Bitcoins on the public ledger can spend those Bitcoins.
Public Key: a number that can be calculated from a private key, but not vice versa. A public key can be used to determine if a signature is genuine.
Signature: a number proving that a signing operation took place. A signature is mathematically generated from a hash of something to be signed, plus a private key. The signature itself is two numbers known as r and s.
REFERENCES:
(R1)https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses#Collisions_.28lack_thereof.29
(R2) https://medium.com/blockthought/how-does-bitcoin-validate-transactions-a-primer-21e007f3a9d3
(R3) https://www.desmos.com/calculator/ialhd71we3
(R4) Secure Implementation of ECDSA Signatures in Bitcoin by Di Wang (Sept 2014)