2

Public key tweaks are often talked about in the context of taproot but I cannot find a definition of what precisely "tweaking" means.

Murch
  • 71,155
  • 33
  • 180
  • 600
andozw
  • 25
  • 4

1 Answers1

2

The Bitcoin Optech Taproot workshop defines it as:

Tweaking a public key means to alter it with a value (the tweak) such that it remains spendable with knowledge of the original private key and tweak.

A tweak is positive scalar value t where 0 < t < SECP256K1_ORDER. There is an associated tweak point T such that T = t*G. The private key is tweaked by the tweak scalar: x' = x + t and the public key is tweaked by the tweak point: P' = P + T.

The tweaked private key x' can be used to produce a valid signature for the tweaked pubkey P'.

Michael Folkson
  • 14,337
  • 3
  • 11
  • 45