Glosario · en profundidad

Opcode

Una instrucción de un byte en Bitcoin Script, como OP_DUP u OP_CHECKSIG.

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_DUP copia el elemento superior de la pila.
  • OP_HASH160 sustituye el elemento superior por su hash SHA-256 y luego RIPEMD-160.
  • OP_EQUALVERIFY hace fallar el script a menos que los dos elementos superiores sean iguales.
  • OP_CHECKSIG comprueba una firma digital frente a una clave pública.
  • OP_RETURN marca 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.