← Back to Glossary

ECDSA

ECDSA, the Elliptic Curve Digital Signature Algorithm, is the cryptographic scheme Bitcoin has used since 2009 to prove ownership of coins. A signer holding a 256-bit private key produces a signature that anyone can verify against the matching public key, without the private key ever being revealed. Bitcoin runs ECDSA on a specific curve called secp256k1.

Why it matters

ECDSA is the lock on every pre-Taproot bitcoin. When a transaction spends coins, it must carry a valid ECDSA signature over the transaction data, and every node independently verifies it. Forging a signature without the private key would require solving the elliptic curve discrete log problem, believed to demand on the order of 2 to the power of 128 operations, far beyond any existing computer.

The scheme has sharp edges. Each signature requires a unique random value called a nonce, and reusing or leaking even a few bits of it can expose the private key, a mistake that famously broke the PlayStation 3's code signing in 2010 and has drained carelessly implemented wallets.

How it works

Signing combines the private key, the transaction hash, and a fresh nonce through elliptic curve arithmetic to produce two numbers, r and s, encoded in DER format. Verification recomputes curve points from the signature and public key and checks that they match. Bitcoin's 2021 Taproot upgrade added Schnorr signatures, which are simpler, slightly smaller, and allow multiple signers to combine into one signature, but ECDSA remains valid and widely used.

Ready to convert your gold to Bitcoin?

Get Your Free Kit →