Published by Mario Oettler on

Tapscript introduced new opcodes to the Bitcoin scripting language and changed the functionality of some existing opcodes. The goal was to provide Schnorr signatures, batch validation and signature hash improvements.

Tapscript was introduced in BIP342.

OP_CHEKSIG and OP_CHEKSIGVERIFY were modified to be able to validate Schnorr signatures in addition to ECDSA signatures.

OP_CHEKMULTISIG and OP_CHEKMULTISIGVERIFY have been disabled and replaced by OP_CHECKSIGADD. In addition to the opcode changes, resource limits have also been adjusted. Tapscripts don’t have a size limit of 1000 bytes anymore. Instead, the size of the tapscript is limited by the block weight limit.