Aller au contenu principal
BIP

BIP-342

BIP-342 spécifie Tapscript, l'évolution du langage Script pour Taproot. Introduit OP_CHECKSIGADD, supprime OP_CHECKMULTISIG.

Le BIP qui modernise Script

BIP-342, écrit par Pieter Wuille, Jonas Nick et Anthony Towns, est l'un des trois BIPs qui ensemble forment l'activation Taproot (avec BIP-340 Schnorr et BIP-341 Taproot lui-même). BIP-342 spécifie Tapscript, la nouvelle version du langage Script utilisée à l'intérieur d'un script-path Taproot.

Les changements clés

| Changement | Effet | |------------|-------| | OP_CHECKSIG / OP_CHECKSIGVERIFY | Utilisent les signatures Schnorr (BIP-340) | | OP_CHECKSIGADD (nouveau) | Remplace OP_CHECKMULTISIG, coûte 1 sigops par signature | | OP_CHECKMULTISIG/VERIFY | Supprimés (NOP) | | OP_SUCCESSx | 80 nouveaux opcodes réservés (futurs soft forks) | | Limite de stack | Inchangée à 1 000 éléments | | Limite de script | Plus de 10 000 octets par défaut | | Hash de signature | Format Taproot (BIP-341) |

OP_CHECKSIGADD : le nouveau multisig

L'ancien OP_CHECKMULTISIG était bogué (off-by-one) et coûteux en sigops. Tapscript le remplace par OP_CHECKSIGADD, qui prend une signature et incrémente un compteur si elle est valide. Un multisig 2-of-3 s'écrit désormais :

<sig1> <sig2> <pubkey1> OP_CHECKSIG
<pubkey2> OP_CHECKSIGADD
<pubkey3> OP_CHECKSIGADD
2 OP_EQUAL

Cela permet aussi des k-of-n threshold signatures arbitraires, et combiné à MuSig2, on peut faire passer un multisig pour un singlesig (privacy++).

OP_SUCCESSx : la porte ouverte aux futurs soft forks

Tapscript réserve 80 opcodes comme OP_SUCCESSx. Si un script Tapscript en contient un, il est automatiquement considéré comme valide. Cela permet aux futurs soft forks d'ajouter de la sémantique à ces opcodes (par exemple OP_CTV, OP_CAT) sans soft fork de consensus complet : il suffit de transformer un OP_SUCCESSx en OP_VAULT.

Coûts et limites

La validation de Tapscript a son propre système de poids/sigops : chaque OP_CHECKSIG/OP_CHECKSIGADD coûte un sigop, mais l'enveloppe Taproot est globalement plus économe que P2WSH pour les scripts complexes.

À retenir

BIP-342 est plus que de la syntaxe : c'est la plateforme d'évolution future de Script. Toutes les propositions actuelles (CTV, CAT, APO) s'implémenteraient comme un OP_SUCCESSx promu, ce qui rend l'évolution de Bitcoin progressivement plus modulaire.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.