OP_CHECKSIGADD
OP_CHECKSIGADD est introduit par Tapscript en remplacement de OP_CHECKMULTISIG. Il permet des multisigs plus efficaces et batchables. Active la composition de signatures arbitraires. Évite les bugs de l'opcode historique.
Variante introduite par Taproot
OP_CHECKSIGADD est un opcode introduit par Taproot pour remplacer OP_CHECKMULTISIG. Il vérifie une signature contre une clé publique et incrémente un compteur sur la pile si la signature est valide.
Construction des multisigs Tapscript
En enchaînant plusieurs OP_CHECKSIGADD et en comparant le compteur final à un seuil M, on construit des multisigs M-de-N élégants et performants au sein de Tapscript.
Avantage en taille
Contrairement à OP_CHECKMULTISIG, OP_CHECKSIGADD ne souffre pas du bug historique et permet d'omettre les signatures absentes, ce qui économise de l'espace dans le witness.
Compatibilité
OP_CHECKSIGADD n'est utilisable que dans Tapscript, c'est-à-dire dans les chemins de dépense par script d'une sortie Taproot. Les scripts pré-Taproot continuent d'utiliser OP_CHECKMULTISIG.
Termes lies
- TapscriptTapscript est le langage de script de Taproot, mis à jour pour Schnorr et plus extensible. Permet d'inscrire plusieurs scripts dans un MAST avec révélation sélective. Active OP_CHECKSIGADD, supprime OP_CHECKMULTISIG. Base technique des contrats Bitcoin modernes.
- OP_CHECKMULTISIGOP_CHECKMULTISIG vérifie M signatures parmi N clés publiques. Utilisé par les multisigs legacy (P2SH/P2WSH). Présente un bug historique (NULLDUMMY) qui force un élément vide en pile. Remplacé en Taproot par OP_CHECKSIGADD.
- TaprootTaproot est le soft fork activé en novembre 2021 (BIP-340/341/342). Il introduit signatures Schnorr, Tapscript et MAST. Il rend une dépense par clé indistinguable d'une dépense par script complexe. Plus efficace, plus privé, plus extensible.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.