Cada salida lleva un pequeño programa, su script de bloqueo. Para gastarla, una entrada proporciona una parte de desbloqueo. Los nodos los ejecutan juntos: si el programa termina en verdadero, el gasto es válido.
Una máquina de pila
Script opera sobre una pila: los elementos se empujan, y las operaciones toman elementos de la cima y empujan los resultados. El clásico pago heredado dice: OP_DUP OP_HASH160 <hash de clave pública> OP_EQUALVERIFY OP_CHECKSIG. En palabras: copia la clave pública proporcionada, calcula su hash, comprueba que coincida con el de la salida y luego verifica la firma contra ella.
Limitado a propósito
Script no tiene bucles ni memoria de propósito general. Cada programa termina rápidamente, y cada nodo puede predecir su costo de verificación. Eso lo hace mucho menos expresivo que los lenguajes de otras blockchains y mucho más fácil de analizar.
- Multisig: requiere varias firmas de un conjunto de claves.
- Bloqueos hash: requieren revelar un secreto cuyo hash se conoce, como hace Lightning.
- Bloqueos de tiempo: prohíben gastar antes de una fecha o altura de bloque.