TYPE 0x0906 · LEGACY FAMILY

P2TR_LEGACY

Legacy P2TR key-path (Taproot) wrapped as a typed Ladder Script block. Key-path spend — same evaluation as SIG block. Closes key-path data surfaces.

Legacy Non-Invertible
P2TR_LEGACY KEY-PATH VERIFY Delegates to EvalSigBlock (Schnorr default)
FieldData TypeSizeSideDescription
scheme SCHEME 1 B Conditions Signature scheme identifier (optional, Schnorr default)
pubkey PUBKEY 32 B Witness X-only public key (Taproot key-path)
signature SIGNATURE 64-65 B Witness Schnorr signature over the transaction sighash

Public key folded into Merkle leaf via merkle_pub_key (PubkeyCountForBlock = 1). No key field in conditions.

Conditions side (committed in the rung leaf):

0x0906 0 1 SCHEME · 1B ≈ 7 bytes

Witness side (in input witness):

0x0906 0 2 PUBKEY · 33B SIGNATURE · 64B = 105 bytes
Total (conditions + witness) 144 bytes

With rung overhead included. Compressed pubkey (33B) case.

1. Locate the witness PUBKEY and SIGNATURE; either missing → ERROR. Pubkey identity is bound at MLSC-proof level via merkle_pub_key.
2. Read the optional conditions SCHEME (default Schnorr).
3. Dispatch VerifySigWithScheme(pubkey, sig, scheme, ...) through the Ladder LadderSigChecker. The result is the block result.
ConditionResult
Missing PUBKEY or SIGNATUREERROR
Signature size out of range for the resolved schemeERROR
Signature verification failsUNSATISFIED
Signature validSATISFIED
Conditions (committed in the rung leaf)
{
  "type": "P2TR_LEGACY",
  "inverted": false,
  "fields": [
    { "type": "SCHEME", "hex": "01" }
  ]
}
Witness (input)
{
  "type": "P2TR_LEGACY",
  "inverted": false,
  "fields": [
    { "type": "PUBKEY", "hex": "02abc1...33 bytes" },
    { "type": "SIGNATURE", "hex": "e5f6a7...64 bytes" }
  ]
}
  • Key-path only — for script-path see P2TR_SCRIPT_LEGACY (0x0907).
  • Public key is folded into the Merkle leaf via merkle_pub_key. The user supplies PUBKEY and the node incorporates it into the leaf hash automatically.
  • Delegates to EvalSigBlock internally.
  • Closes key-path data surfaces while preserving Taproot's key-path efficiency.
Taproot Key-Path Migration
Wraps taproot key-path spends. For script-path, see P2TR_SCRIPT_LEGACY.
PQ-Ready Key Path
Key-path spend with SCHEME field enabling post-quantum signature migration.