What is ECDSA?
- Author
- CRYPTO PORT Editorial
- Published
- Updated
- Reading time
- 6 min
In short
ECDSA is the elliptic-curve signature scheme used by both Bitcoin and Ethereum. It delivers strong security with short keys, but it has one sharp edge: if the random value used for a signature is predictable or reused, the private key can be recovered. Historic failures came from implementations, not from the scheme itself.
Key points
- The signature scheme behind Bitcoin and Ethereum
- Uses the secp256k1 curve with 256-bit keys
- Reusing the per-signature nonce leaks the private key
- Bitcoin also supports Schnorr signatures since Taproot
Definition
The Elliptic Curve Digital Signature Algorithm, a signature scheme whose security rests on the difficulty of the elliptic-curve discrete logarithm problem.
Bitcoin and Ethereum both use the secp256k1 curve. The private key is a 256-bit integer; the public key is the curve point you reach by adding the generator point to itself that many times. Going forward is cheap, going backwards is infeasible — and that asymmetry is the whole security argument.
ECDSA needs a fresh random nonce for every signature. Sign two different messages with the same nonce and the two signatures form a solvable system that yields the private key. The PlayStation 3 break in 2010 and the 2013 Android wallet thefts both came from exactly this. Modern implementations follow RFC 6979 and derive the nonce deterministically from the key and message.
Bitcoin's 2021 Taproot upgrade added Schnorr signatures (BIP340). Schnorr lets several signers combine into a single signature, so a multisig spend looks like an ordinary one on-chain and costs less in fees. ECDSA was not removed; the two coexist.
Watch out for
- · Home-grown signing code or unvetted libraries can leak keys through weak nonce generation
- · Using one key across several wallet implementations spreads any single implementation flaw
- · No signature scheme compensates for careless key storage