Taproot
Taproot is a proposed soft fork change to Bitcoin that will allow payments to schnorr public keys that may optionally commit to a script that can be revealed at spend time.
Coins protected by taproot may be spent either by satisfying one of the committed scripts or by simply providing a signature that verifies against the public key (allowing the script to be kept private). Taproot is intended for use with schnorr signatures that simplify multiparty construction (e.g. using MuSig) and with MAST to allow committing to more than one script, any one of which may be used at spend time.
Primary code and documentation
Optech newsletter and website mentions
2024
- Core Lightning #7800 sets P2TR as the default script for anchor output spends and unilateral closes
- Rust Bitcoin #2652 begins returning the internal taproot key when signing for a taproot input
- Taproot massively reduces worst case bandwidth for malleablity protection in contract protocols
2023
- LND v0.17.0-beta ships with experimental support for taproot and MuSig2 LN channels
- Taproot and MuSig2 LN channels
2022
- Why P2TR outputs should use the noscript commitments when only keypath spending is desired
- LND #6450 adds support for signing PSBTs that spend taproot outputs
- Bitcoin Core #23536 begins enforcing taproot on all blocks (except one) with segwit active
- Question: is it possible to convert a taproot address into a v0 native segwit address?
2021
- 2021 year-in-review: taproot
- Taproot activated at block height 709,632
- BIPs #1225 updates BIP341 with extended taproot test vectors
- Expanded test vectors for taproot published
- Taproot trivia: origins, naming, and related prior work
- Preparing for taproot: is cooperation always an option?
- Specter v1.6.0 adds support for single-key taproot
- Fully Noded v0.2.26 adds support for P2TR receiving and spending
- BTCPay server #2830 adds support for P2TR receiving and spending
- Updating LN for taproot: P2TR channels
- Sparrow wallet adds support for P2TR keypath spends on regtest and signet
- BIPs #1137 adds BIP86 with a key derivation scheme for single key P2TR outputs
- Proposed BIP to standardize a wallet path for single-sig P2TR addresses
- Bitcoin Core #21365 allows the wallet to create signatures for P2TR spends
- Taproot locked in; activation to occur at block 709,632
- Bitcoin Core #22051 adds support for importing descriptors for taproot outputs
- Rust Bitcoin #589 starts implementing support for taproot and schnorr signatures
- Miners encouraged to start signaling readiness for taproot
- Bitcoin Core 0.21.1 released ready to activate taproot
- BIPs #1104 adds activation parameters to the BIP341 taproot specification
- Bitcoin Core #21377 and #21686 add taproot activation mechanism and params
- Compromise proposed to use MTP to activate taproot with speedy trial
- Regular meetings scheduled to help activate taproot
- Discussion of quantum computer attacks on taproot
- Documenting the intention to use and build upon taproot
- Alternative methods of activating taproot discussed
- Summary of taproot activation discussion regarding BIP8
LOT
parameter - Summary of taproot activation discussion & additional meeting scheduled
- Meeting to discuss taproot activation mechanisms
2020
- 2020 year in review: Taproot, tapscript, and schnorr signatures
- Website tracking miner support for taproot before signaling begins
- Summary of results from surveying developers about taproot activation
- Bitcoin Core #19953 merged with consensus implementation of BIP341
- Discussion about taproot activation parameters
- Discussion of various topics, including taproot activation
- Upgrading LN commitment formats, including for taproot
- Question about the different features in taproot for upgrading
- Question about leaf versions in taproot
- Discussion about backporting wtxid relay for taproot activation
- New chatroom for discussing taproot activation
- Coinpool: using taproot to help create payment pools
- Taproot eliminates vulnerability related to segwit fee overpayment attack
- BIP341 transaction digest amended with extra commitment to scriptPubKeys
- Example sizes of multisig taproot transactions
- Request for comments on amending BIP341 taproot transaction digest
- Request for additional signature commitment to previous scriptPubKeys
- Security analysis: taproot in the generic group model
- Taproot security from quantum computing threats
- Discussion about taproot versus alternatives
- btcdeb adds
tap
command for experimenting with taproot and tapscript - Final organized review, presentation slides, and LN integration ideas
2019
- 2019 year-in-review: taproot
- Impact of bech32 length-change mutablity on v1 segwit script length
- Blog post about x-only schnorr pubkeys
- Bitcoin Optech schnorr/taproot workshop
- Announcement of structured taproot review
- Update on changes to schnorr, taproot, and tapscript
- Suggested removal of P2SH address wrapper from taproot proposal
- Executive briefing: the next soft fork
- Reducing taproot commitment size
- Overview of Taproot and Tapscript
- Extended summary of bip-taproot and bip-tapscript
2018
See also
Previous Topic:
Submarine swaps
Next Topic:
Tapscript