Secp256k1

Secp256k1 is a specific elliptic curve chosen for Bitcoin’s public key cryptography. Every Bitcoin public key is a point on this curve. To create a public key, you take your private key (a large random number) and multiply it by what’s called the "Generator Point"—a set, well-known point on the secp256k1 curve. This mathematical process is simple in one direction, but almost impossible to reverse because of the Discrete Logarithm Problem. That ensures private keys stay secure even if someone knows your public key.

Elliptic curves are defined using equations of the form y² = x³ + ax + b. For secp256k1, the constants are a = 0 and b = 7, so the equation becomes y² = x³ + 7. The curve’s symmetry along the x-axis means each x-coordinate matches two possible y-values (one even, one odd). This lets Bitcoin store public keys more efficiently, often saving space by only recording the x value and whether the y value is odd or even. This efficiency is important for keeping blockchain data compact.