<p>No, Schnorr signatures are only used in taproot spends (v1 segwit with 32 byte witness program) as specified in <a href="https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki#specification" rel="nofollow noreferrer">BIP-342</a>. This cannot be P2SH wrapped, and are encoded only with Bech32m.</p>
<p>Script path spending of Taproot modifies OP_CHECKSIG(VERIFY) to use Schnorr signatures instead of ECDSA. A new opcode is also made available for batch verification, OP_CHECKSIGADD. This means it is no longer possible to use ECDSA in taproot scripts.</p>

CC BY-SA 4.0
2021-12-17T13:50:12.000Z
2021-12-17T13:50:12.000Z
meshcollider
<p>No, it is not possible to use Schnorr signatures with old output types.</p>
<p>Current node software evaluating transactions expects an ECDSA signature for an input spending a P2PKH output. Putting a Schnorr signature there would be invalid per the accepted rules. Even if the rules were updated to allow using Schnorr signatures, old node software would always reject a transaction that uses the updated understanding, and this would therefore classify as a hardfork.</p>

CC BY-SA 4.0
2021-12-17T14:45:20.957Z
2021-12-17T14:45:20.957Z
Murch
<p>I know that Bitcoin has many different transaction output types (P2SH, P2WPKH, P2WSH, P2TR, etc).</p>
<p>And I know that P2PKH is an old transaction output type that has existed since before Segwit and before Taproot.</p>
<p>Is it still possible to create a P2PKH output that works with Schnorr signatures?</p>

<schnorr-signatures><p2pkh>
Is it possible to use a P2PKH output with a schnorr signature?
yzernik
# Is it possible to use a P2PKH output with a schnorr signature?

(Asked by: username_0 on 2021-12-17)

I know that Bitcoin has many different transaction output types (P2SH, P2WPKH, P2WSH, P2TR, etc).

And I know that P2PKH is an old transaction output type that has existed since before Segwit and before Taproot.

Is it still possible to create a P2PKH output that works with Schnorr signatures?

**Tags:** schnorr-signatures, p2pkh


---

## 2 answers

### Answer by username_2 on 2021-12-17. Score: 4 | Accepted answer

No, it is not possible to use Schnorr signatures with old output types.

Current node software evaluating transactions expects an ECDSA signature for an input spending a P2PKH output. Putting a Schnorr signature there would be invalid per the accepted rules. Even if the rules were updated to allow using Schnorr signatures, old node software would always reject a transaction that uses the updated understanding, and this would therefore classify as a hardfork.


---

### Answer by username_1 on 2021-12-17. Score: 2

No, Schnorr signatures are only used in taproot spends (v1 segwit with 32 byte witness program) as specified in [BIP-342](https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki#specification). This cannot be P2SH wrapped, and are encoded only with Bech32m.

Script path spending of Taproot modifies OP\_CHECKSIG(VERIFY) to use Schnorr signatures instead of ECDSA. A new opcode is also made available for batch verification, OP\_CHECKSIGADD. This means it is no longer possible to use ECDSA in taproot scripts.


---

