TeachMeBitcoin

Key Path vs. Script Path

From TeachMeBitcoin, the free encyclopedia Reading time: 2 min

Key Path vs. Script Path

A Taproot output can be spent in two fundamentally different ways. This "Dual Path" architecture is what allows it to be both highly efficient and incredibly flexible.

1. The Key Path (The "Main" Way)

The Key Path allows an address to be spent with a single Schnorr Signature.

2. The Script Path (The "Backup" Way)

The Script Path is used when the "Main" key cannot be used (e.g., one participant is offline or refuses to sign).

  1. The spender reveals the hidden MAST tree.

  2. They prove that a specific script branch exists within that tree.

  3. They fulfill the requirements of that specific script (e.g., providing a signature + waiting for a timelock).

3. The Tweak (The Mathematical Glue)

How can one address have two different paths? It uses a process called Public Key Tweaking. $$P_{output} = P_{internal} + Hash(P_{internal} || MerkleRoot) \times G$$

4. Why this is revolutionary for Multisig

In old multisig, you always revealed the participants. In Taproot multisig (using MuSig2):

5. Economic Incentives

Taproot creates a strong economic incentive for privacy. The Key Path (private) is significantly cheaper than the Script Path (public). This encourages developers to design systems where "cooperation" is the default state.

Path Spend Method On-Chain Appearance Fee Cost
Key Path Schnorr Signature Standard Single-Sig Lowest
Script Path MAST Branch Complex Revealed Script Higher

In the next section, we will analyze Tapscript & BIP342 Updates.

☕ Help support TeachMeBitcoin

TeachMeBitcoin is an ad-free, open-source educational repository curated by a passionate team of Bitcoin researchers and educators for public benefit. If you found our articles helpful, please consider supporting our hosting and ongoing content updates with a clean donation:

Ethereum: 0x578417C51783663D8A6A811B3544E1f779D39A85
Bitcoin: bc1q77k9e95rn669kpzyjr8ke9w95zhk7pa5s63qzz
Solana: 4ycT2ayqeMucixj3wS8Ay8Tq9NRDYRPKYbj3UGESyQ4J
Address copied to clipboard!