Skip to main content
1 of 4
Murch
  • 77.9k
  • 35
  • 190
  • 641

Pay to Taproot uses x-only pubkeys.

In Bitcoin, a private key d is a scalar, and its corresponding public key Q is the elliptic curve point found by multiplying d with the generator G of secp256k1: Q = d×G

For every x-coordinate on the secp256k1 curve (except the generator), there exist exactly two y-coordinates that are each other’s negations: Q = d×G and -Q = -d×G

The authors of the Taproot proposal noticed that they could save a whole byte by dropping what essentially amounts to sign of the public key at no loss of security by introducing a new serialization format called x-only pubkeys.

Murch
  • 77.9k
  • 35
  • 190
  • 641