Spending with Raw Public Key

Published by Mario Oettler on

In this topic, we look at a simple spend with a raw public key. There are two options:

  • single signature
  • multi signatures

Single Signature

This means, the sender has to provide a single signature that matches the public key of the P2TR-UTXO. A Taproot output has the following form:

OP_1 pushes “1” to the stack and indicates that the output follows the SegWit-Version 1. Q is the output key or witness program.

When looking at the spend with a raw public key, Q is only the internal public key P. It is obtained by the Schnorr Signature scheme.

The signature required to spend this output is provided in the witness section of the so-called control block of the input script.

Multi Signature

Taproot, along with Schnorr signatures, also allows to combine multiple private keys into a single private key and create a single signature from multiple private keys. This feature is called MuSig2. It takes up less space than the older version of multi-signature, which required a complete signature of each key involved.

Each participant’s public keys are aggregated into a single public key P. And when signing, each participant’s signatures are aggregated into a single signature.

If a person wants to spend the output, they must provide a valid signature. Such a signature can consist of several individual signatures. From outside, an aggregated signature is indistinguishable from a signature generated by a single private key.