TERM_DEF // UPGRADES_BIPS / SCHNORR_BIP_340
SCHNORR (BIP
340)
340)
Schnorr (BIP 340). The Schnorr signature spec adopted by Taproot.
This page sits in the Upgrades & BIPs section — The proposal process and the major upgrades that shaped Bitcoin. Read on for what it is, why it exists, how it works under the hood, and what to watch out for.
This page sits in the Upgrades & BIPs section — The proposal process and the major upgrades that shaped Bitcoin. Read on for what it is, why it exists, how it works under the hood, and what to watch out for.
WHAT_SCHNORR_BIP_340_IS
Schnorr (BIP 340) — at a glance
UPGRADES
BIP 340 is a proposal in the Signatures family, first published in 2020 with status final (fork/">soft fork). The Schnorr signature spec adopted by Taproot. Its technical mechanism: 64-byte BIP-340 Schnorr signatures over secp256k1 with strict encoding. every Taproot output verifies with BIP-340 Schnorr; enables MuSig2 + Taproot leaves
Why it exists
DESIGN
Schnorr (BIP 340) exists to solve a specific problem: replace ECDSA with a simpler, linearly-aggregatable Schnorr scheme. Without a written, numbered spec, every wallet and node implementer would interpret the requirement differently — and Bitcoin's value depends on every implementation agreeing exactly. BIP-340 is the single source of truth for this concern, so any new client built today can match the behaviour of every client built since 2020.
HOW_IT_WORKS
Mechanism
HOW IT WORKS
Mechanically, BIP-340 64-byte BIP-340 Schnorr signatures over secp256k1 with strict encoding. Because this is a soft fork, old software accepts new behaviour without modification — but new behaviour is rejected if old software produces it. Adoption today: every Taproot output verifies with BIP-340 Schnorr; enables MuSig2 + Taproot leaves.
1. Author drafts BIP-340 against the BIP-2 template — abstract, motivation, specification, rationale.
2. The text + a reference implementation are posted on the bitcoin-dev list and as a PR to bitcoin/bips.
3. Reviewers tear it apart: ambiguities, security concerns, edge cases, interaction with prior BIPs.
4. Once stable, the BIP editor merges it; it gets a number (BIP-340) and the status "draft" or "proposed".
5. Implementations land in Bitcoin Core / wallets / other clients. For consensus changes: activation parameters chosen.
6. After deployment + adoption, BIP-340 is promoted to "final"; deprecated proposals get "replaced" or "withdrawn".
WORKED_EXAMPLE
BIP-340 — quick reference card
EXAMPLE
BIP number : 340
Title : Schnorr (BIP 340)
Area : Signatures
First published: 2020
Status : final
Fork class : soft
Motivation : replace ECDSA with a simpler, linearly-aggregatable Schnorr scheme.
Mechanism : 64-byte BIP-340 Schnorr signatures over secp256k1 with strict encoding.
Where it shows up : every Taproot output verifies with BIP-340 Schnorr; enables MuSig2 + Taproot leaves.
Read the spec : https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
KEY_PROPERTIES
OPT-IN
No authority can force a BIP on anyone. Adoption depends entirely on whether the change is genuinely useful.
NUMBERED
Stable numeric reference — BIP-340 means the same thing across every wallet, miner, and node that has read this spec.
BIP-340 is a soft fork — it changes (or proposes to change) the rules every full node enforces.
DEPLOYED
Implementations of BIP-340 are in production. The behaviour is observable on mainnet today.
COMMON_PITFALLS
Things that catch people out
PITFALLS
- BIP-340 is a soft fork — old clients accept new behaviour but don't enforce it. Validate against an upgraded node to be sure the rule is being checked.
- Don't confuse "draft" / "proposed" / "final" status — read the BIP header before relying on it in production.
- The BIP number is just an editorial counter — it doesn't imply correctness or stability. Always cross-reference with the latest bitcoin/bips repo.
RELATED_CONCEPTS
Other terms from Upgrades & BIPs — click any to read its page:
TERMINOLOGY_INDEX
TERMINOLOGY
Schnorr (BIP 340)
The Schnorr signature spec adopted by Taproot.
Segregated Witness (SegWit, BIP 141)
The 2017 upgrade separating witness-data/">witness data, fixing tx malleability, and introducing weight units.
Taproot (BIP 341)
The 2021 upgrade introducing key-aggregable Schnorr signatures and Merkleized script trees.
Tapscript (BIP 342)
Script-language updates accompanying Taproot — new opcodes, removed limits.
BIP Process
The community workflow for proposing, discussing, and tracking changes to Bitcoin.
Soft Fork Activation
MASF (Miner-Activated Soft Fork)
Activation triggered by miner signaling in block versions.
UASF (User-Activated Soft Fork)
Activation enforced by economic nodes regardless of miner signaling.