Taproot
In plain words
Taproot is a 2021 upgrade that added Schnorr signatures and a way to hide unused spending conditions. Complex wallets, such as multisig, can look like ordinary single-key payments.
Three parts
- BIP 340: Schnorr signatures. Smaller than ECDSA signatures and linear, so several keys can be combined into one (for example with MuSig2).
- BIP 341: Taproot outputs. A coin is locked to one key that may also commit to a tree of alternative scripts; only the branch actually used is revealed.
- BIP 342: Tapscript, the script rules for those branches.
Taproot addresses use bech32m (BIP 350) and start with bc1p.
Activation and side effects
Miners signalled through the “Speedy Trial” mechanism, lock-in came in June 2021, and Taproot activated at block 709,632 on 14 November 2021. It was the first consensus upgrade since SegWit.
Taproot also made it cheaper to put arbitrary data in the witness, which Ordinals inscriptions used from 2023 on. That is one root of the Knots vs Core relay-policy argument.
From the Bitcoin Museum
Taproot activates (block 709,632) (14 Nov 2021): The Taproot soft fork activates, adding Schnorr signatures and more private, efficient scripts.
See also
- SegWit (Segregated Witness)SegWit was a 2017 upgrade that moved signatures into a separate part of the transaction. It fixed a long-standing bug, made room for more transactions and opened the door to the Lightning Network.
- MultisigMultisig means a payment needs several keys out of a set, for example any 2 of 3. Losing one key, or having one stolen, does not lose the coins.
- BIP (Bitcoin Improvement Proposal)A BIP is a public design document that proposes a change or a standard for Bitcoin. Writing a BIP does not change Bitcoin; node operators decide by running software that implements it.
- Bitcoin CoreBitcoin Core is the main software that runs the Bitcoin network, the direct descendant of Satoshi's original program. It is free and open source, maintained by volunteers and grant-funded developers.
- Bitcoin KnotsBitcoin Knots is an alternative node program based on Bitcoin Core and maintained by Luke Dashjr. It follows the same consensus rules but filters more non-payment data by default.
References
- BIP 340 (github.com/bitcoin/bips) github.com
- BIP 341 (github.com/bitcoin/bips) github.com
- BIP 342 (github.com/bitcoin/bips) github.com
- BIP 350 (github.com/bitcoin/bips) github.com
- Block 709,632 on mempool.space mempool.space