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.