Bitcoin Script es una lista de instrucciones leídas de izquierda a derecha. Cada instrucción es un opcode: un solo byte que dice al intérprete qué hacer. Los empujes de datos ponen bytes (como una firma o una clave pública) en una pila; otros opcodes sacan elementos de la pila, trabajan con ellos y empujan un resultado.
Ejemplos
OP_DUPcopia el elemento superior de la pila.OP_HASH160sustituye el elemento superior por su hash SHA-256 y luego RIPEMD-160.OP_EQUALVERIFYhace fallar el script a menos que los dos elementos superiores sean iguales.OP_CHECKSIGcomprueba una firma digital frente a una clave pública.OP_RETURNmarca una salida como demostrablemente no gastable, a menudo usada para incrustar pequeños trozos de datos.
Opcodes deshabilitados y reservados
En 2010 se deshabilitaron varios opcodes, como OP_CAT y OP_MUL, para evitar fallos de denegación de servicio. Opcodes «NOP» no usados se redefinieron después mediante soft fork: OP_NOP2 se convirtió en OP_CHECKLOCKTIMEVERIFY y OP_NOP3 en OP_CHECKSEQUENCEVERIFY. En Tapscript, los opcodes no usados se llaman OP_SUCCESS y simplifican futuras actualizaciones.