Tapscript
Tapscript is the scripting language used for taproot script-path spends.
It shares most operations with legacy and segwit Bitcoin Script but has a few differences:
-
OP_CHECKMULTISIG
andOP_CHECKMULTISIGVERIFY
are replaced by aOP_CHECKSIGADD
opcode. -
Many opcodes are redefined to be
OP_SUCCESS
opcodes that unconditionally render the entire script valid to simplify soft fork upgrades. -
Signature hashes are calculated differently than in legacy script or BIP143 v0 segwit.
Primary code and documentation
Optech newsletter and website mentions
2020
- 2020 year in review: Taproot, tapscript, and schnorr signatures
- Bitcoin Core #19953 merged with consensus implementation of BIP342
- Bitcoin Core #16902 fixes an inefficiency in OP_IF related opcodes
- btcdeb adds
tap
command for experimenting with taproot and tapscript
2019
- 2019 year-in-review: taproot and tapscript
- Discussion about position commitments using signature-checking opcodes
- Bitcoin Optech schnorr/taproot workshop
- Announcement of structured taproot review (including tapscript)
- Update on changes to schnorr, taproot, and tapscript
- Tapscript resource limits
- BIP322 signmessage forward compatibility
- Executive briefing: Taproot and Tapscript
- Overview of Taproot and Tapscript
- Extended summary of bip-taproot and bip-tapscript
See also
Previous Topic:
Taproot
Next Topic:
Trampoline payments