Opcodes
Les opcodes sont les opérations du langage Bitcoin Script (OP_CHECKSIG, OP_DUP, OP_HASH160...). Chaque transaction est une succession d'opcodes interprétés sur une pile. Certains sont désactivés pour des raisons de sécurité. La liste évolue lentement par soft fork.
Les instructions du Script Bitcoin
Les opcodes sont les instructions atomiques du langage Script utilisé par Bitcoin. Chacun manipule la pile : empile une valeur, en consomme, effectue une opération arithmétique, vérifie une signature ou compare deux valeurs.
Opcodes clés
OP_CHECKSIG vérifie une signature, OP_HASH160 calcule une empreinte, OP_DUP duplique le sommet de la pile, OP_EQUAL compare deux éléments. La combinaison de ces briques construit les scripts standards.
Opcodes désactivés
Bitcoin a désactivé plusieurs opcodes considérés dangereux ou inutiles : OP_CAT, OP_MUL, OP_DIV. Certains font l'objet de discussions pour une réintroduction sécurisée afin d'enrichir l'expressivité.
Évolution du langage
Taproot a introduit Tapscript, une version épurée du Script avec des opcodes additionnels comme OP_CHECKSIGADD. L'écosystème explore des extensions futures qui élargiraient le champ des contrats possibles.
Termes lies
- Script (Bitcoin Script)Bitcoin Script est le langage de programmation des conditions de dépense. C'est un langage de pile, intentionnellement non-Turing-complet pour la sécurité. Il permet multisig, timelocks, contrats. Tapscript étend ses possibilités avec Taproot.
- Pile (stack)La pile est la structure LIFO sur laquelle Bitcoin Script opère. Les données et résultats y sont empilés/dépilés par les opcodes. Une exécution réussie laisse « true » au sommet. Architecture proche du Forth.
- 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.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.