‹ CHAPITRE 16, TOUTES LES LEÇONS

MAÎTRE · CHAPITRE 16 · LEÇON 1 SUR 5

Script et mises à niveau

Script Bitcoin

Qu'est-ce qui est réellement écrit dans une sortie pour la verrouiller ? 6 min

Chaque sortie contient un petit programme, son script de verrouillage. Pour la dépenser, une entrée fournit une partie de déverrouillage. Les nœuds exécutent les deux ensemble : si le programme se termine par vrai, la dépense est valide.

Une machine à pile

Le script fonctionne sur une pile : les éléments sont empilés, et les opérations retirent des éléments du sommet et empilent des résultats. Le paiement hérité classique se lit : OP_DUP OP_HASH160 <hash de clé publique> OP_EQUALVERIFY OP_CHECKSIG. En mots : copiez la clé publique fournie, hachez-la, vérifiez qu'elle correspond à celle de la sortie, puis vérifiez la signature par rapport à celle-ci.

Limité à dessein

Le script n'a pas de boucles et pas de mémoire à usage général. Chaque programme se termine, rapidement, et chaque nœud peut prédire son coût de vérification. Cela le rend beaucoup moins expressif que les langages de certaines autres blockchains, et beaucoup plus facile à raisonner.

  • Multisig : exiger plusieurs signatures parmi un ensemble de clés.
  • Verrous de hachage : exiger la révélation d'un secret dont le hachage est connu, comme le fait Lightning.
  • Verrous temporels : interdire de dépenser avant une date ou une hauteur de bloc.

Ce qu'il faut retenir

  • Les sorties sont verrouillées par de petits programmes basés sur des piles.
  • Le script n'a pas de boucles : chaque vérification se termine de manière prévisible.
  • Les signatures, les hachages et les conditions temporelles en sont les éléments constitutifs.

Vérifie tes connaissances

Quand une dépense est-elle valide au niveau du Script ?

Pourquoi le Script n'a-t-il pas de boucles ?

Script Bitcoin · Université Bitcoin