Descripción General
OP_RETURN es un opcode de Bitcoin Script que marca inmediatamente una salida de transacción como inválida para gastar. Cualquier salida que contenga OP_RETURN es comprobablemente inaprovechable, lo que significa que el bitcoin enviado a ella se elimina permanentemente de la circulación. Sin embargo, la salida puede llevar hasta 80 bytes de datos arbitrarios, que se registran permanentemente en la blockchain.
Cómo Funciona
Salida OP_RETURN estándar:
scriptPubKey: OP_RETURN <datos de hasta 80 bytes>
valor: 0 satoshis (típicamente)
Ejemplos de uso:
OP_RETURN "Hello, Bitcoin!" ← Mensaje de texto
OP_RETURN <hash SHA256 del documento>← Prueba de marca de tiempo
OP_RETURN <datos específicos del protocolo> ← Colored coins, etc.
Cuando un nodo encuentra OP_RETURN durante la ejecución del script, devuelve falso inmediatamente, haciendo la salida inaprovechable. Los nodos de Bitcoin Core reconocen este patrón y no añaden las salidas OP_RETURN al conjunto UTXO, ahorrando memoria.
Casos de Uso
- Marcas de tiempo: Incrustar un hash de un documento prueba que el documento existía en el momento en que se minó la transacción
- Esquemas de compromiso: Anclar el estado de sistemas externos (cadenas laterales, bases de datos) a la línea de tiempo de Bitcoin
- Protocolos de activos: Los primeros protocolos de colored coins y algunos sistemas de tokens usaban OP_RETURN para codificar metadatos
- Prueba de existencia: Servicios como OpenTimestamps usan OP_RETURN para crear marcas de tiempo a prueba de manipulaciones
Por Qué Importa OP_RETURN
Antes de que OP_RETURN fuera estandarizado, los usuarios que querían incrustar datos en Bitcoin creaban salidas gastables falsas (por ejemplo, codificando datos como una dirección). Estas salidas inflaban el conjunto UTXO porque los nodos no podían saber que eran inaprovechables. OP_RETURN proporcionó una forma limpia y explícita de incrustar datos sin contaminar el conjunto UTXO.
Conceptos Erróneos Comunes
OP_RETURN no permite almacenamiento ilimitado de datos en Bitcoin. Las reglas de retransmisión estándar limitan los datos de OP_RETURN a 80 bytes, y solo se retransmite por defecto una salida OP_RETURN por transacción. Si bien los mineros pueden incluir transacciones no estándar, el protocolo no está diseñado como un sistema de almacenamiento de datos de propósito general. Las inscripciones Ordinals utilizan un mecanismo diferente (datos testigo) para incrustación de datos más grandes.