Skip to content
Kriptofoni
Crypto GlossarySecurity & Wallets

What Is ECDSA (Elliptic Curve Digital Signature Algorithm)?

Also known as: Elliptic Curve Digital Signature Algorithm

In short

ECDSA (Elliptic Curve Digital Signature Algorithm) is an elliptic-curve-based signature algorithm that lets messages be signed with a private key and the signature be verified with the corresponding public key; Bitcoin and Ethereum transactions are signed with ECDSA on the secp256k1 curve.

When a user sends cryptocurrency, their wallet processes the hash of the transaction data with the private key and a random number (nonce) regenerated for each signature, producing a signature made up of r and s values. Nodes in the network can verify that the signature was produced with the key belonging to the sending address without ever seeing the private key. In Ethereum, the v value added to the signature allows the public key to be recovered from the signature; for this reason, Ethereum transactions do not carry the public key separately.

ECDSA's security rests on the difficulty of the elliptic curve discrete logarithm problem. The most sensitive point of the algorithm is the nonce: using the same nonce in two different signatures, or having it be predictable, makes it possible to compute the private key. In 2013, a bug in the random number generator of some Android wallets led to Bitcoin thefts for this reason.

With the Taproot upgrade in 2021, Bitcoin began supporting, in addition to ECDSA, Schnorr signatures, which are simpler and suited to signature aggregation. That quantum computers that reach sufficient power could break ECDSA in the future is discussed as a theoretical risk.

Last updated: · This content is for information purposes only and is not investment advice.

Related terms