Saltar al contenido
buybitcoinsmart

Glosario / Transacciones y comisiones

Transacción de datos nulos

También se conoce como Transacción OP_RETURN o Transacciones OP_RETURN.

¿Qué es una transacción de datos nulos?
Una transacción de datos nulos lleva una salida que guarda un mensaje corto en lugar de dinero, marcada como demostrablemente imposible de gastar para que los nodos puedan descartarla del conjunto de monedas gastables.

La gente quería escribir cosas en la blockchain mucho antes de que existiera una forma segura de hacerlo. La forma segura es una salida que empieza por el opcode (código de operación) OP_RETURN y que falla de inmediato si alguien intenta gastarla, así que los nodos completos pueden eliminarla de la memoria en lugar de seguirle la pista para siempre. Casi todas estas salidas contienen cero satoshis, y el remitente solo paga por los bytes.

Cómo funciona

Una salida de datos nulos es un script de bloqueo que nunca se puede satisfacer, y eso es precisamente lo que se busca.

El script empieza por el opcode OP_RETURN y a continuación apila unos datos. Como el opcode aborta el script en el momento en que se llega a él, ninguna combinación de firmas puede desbloquear la salida, y los nodos pueden dejarla fuera del conjunto de UTXO que mantienen en memoria. Mantener ese conjunto es lo que le sale caro a un nodo completo, y dejar la basura fuera de él es toda la justificación de esta funcionalidad.

Bitcoin Core hizo estándar una sola salida de este tipo en la versión 0.9.0, publicada en marzo de 2014, con una carga útil limitada a 40 bytes. El límite subió durante 2015 a 80 bytes de datos, que el nodo cuenta como 83 bytes de script una vez incluidos el opcode y el prefijo de inserción de datos. La versión 30.0, publicada en octubre de 2025, eliminó el límite predeterminado y la restricción de una salida por transacción, tras una discusión larga y agria sobre si la política de retransmisión debía siquiera intentar desalentar el almacenamiento de datos. Bitcoin Knots mantuvo los valores predeterminados más estrictos, así que las dos implementaciones de nodo más usadas discrepan ahora a propósito, y un operador de nodo elige bando al elegir el software.

El cambio es de política, no de consenso. Los datos de una salida OP_RETURN siempre han sido válidos; la discusión nunca trató de otra cosa que de si los nodos corrientes debían retransmitirlos.

Dónde aparece

Mire cualquier bloque en un explorador de bloques y encontrará salidas de datos nulos listadas con un valor de cero y un script que se muestra como OP_RETURN seguido de caracteres hexadecimales.

El usuario intensivo más antiguo es Omni Layer, el protocolo que emitió la primera versión de Tether en bitcoin y que codificaba así sus instrucciones. Los servicios de sellado de tiempo como OpenTimestamps hacen que una salida fije el hash de un documento, de modo que más adelante se puede demostrar que el documento existía antes de ese bloque. Runes, el protocolo de tokens que se lanzó en el bloque del halving el 20 de abril de 2024, pone todo su conjunto de instrucciones en una sola salida de datos nulos, y por eso ese bloque y los siguientes estaban llenos de ellas.

Para quien compra bitcoin, el efecto práctico es indirecto pero real. Las salidas portadoras de datos compiten por el mismo espacio de bloque que su pago, y una ráfaga de ellas eleva la comisión por vB que usted tiene que pagar para conseguir la confirmación. Ese es el mecanismo detrás de la mayoría de los picos de comisiones de los últimos años.

Transacción de datos nulos frente a OP_RETURN

OP_RETURN es un opcode; una transacción de datos nulos es una transacción completa que resulta contener una salida que lo usa. La distinción importa al leer la configuración de un nodo, porque las opciones de Bitcoin Core llevan el nombre de la categoría de transacción y no del opcode: la opción -datacarrier decide si estas transacciones se retransmiten o no, y la opción -datacarriersize establece el tamaño que puede tener la carga útil. Una búsqueda de OP_RETURN en la documentación no encontrará esas opciones.

Transacción de datos nulos frente a inscripción

Las inscripciones ponen sus datos en un lugar completamente distinto. Una inscripción ordinal esconde su carga útil dentro de un script de testigo de Taproot, que recibe el descuento de peso de SegWit y puede llegar a ocupar megabytes, mientras que una salida de datos nulos se cobra por su peso completo y estuvo limitada históricamente a 80 bytes. Esa diferencia de precio y tamaño explica por qué las imágenes y los coleccionables llegaron como inscripciones y no como datos OP_RETURN, y por qué las dos provocan discusiones muy distintas sobre el inflado de la blockchain.

No confundir con

Preguntas frecuentes

¿Puedo perder dinero si envío bitcoin a una salida OP_RETURN?

Sí, y no se puede recuperar. Cualquier valor que se ponga en una salida de datos nulos se destruye, porque nadie puede satisfacer nunca el script. Las billeteras normalmente ponen el monto en cero, así que esto solo ocurre cuando alguien construye una transacción a mano.

¿Cuántos datos puede guardar de esta forma una transacción de bitcoin?

Depende de los nodos en los que usted se apoye. Bitcoin Core limitó la carga útil a 80 bytes desde 2015 hasta la versión 30.0, de octubre de 2025, que eliminó el límite predeterminado. Bitcoin Knots mantiene el límite anterior, así que la retransmisión ya no es uniforme en toda la red.

Para seguir leyendo

Términos relacionados

Más en la sección Transacciones y comisiones

Leer esta página en inglés