Saltar al contenido
buybitcoinsmart

Glosario / Transacciones y comisiones

Salida de transacción

También se conoce como Salida o TxOut.

¿Qué es una salida de transacción?
Una salida de transacción es un monto de bitcoin más el bloqueo que decide quién puede gastarlo a continuación, y es el único lugar donde bitcoin existe realmente.

Dos campos forman una salida: un monto de ocho bytes en satoshis y un script que establece la condición para gastarlo. La dirección que usted pega en un formulario de retiro no es más que ese script en una codificación legible por humanos, y por eso elegir bech32 en lugar de un formato más antiguo es en realidad elegir el bloqueo tras el que quedarán sus monedas. Las salidas son baratas de crear y caras de desbloquear más adelante.

Cómo funciona

Una salida es un pequeño registro en el que no figura el nombre de ningún dueño.

El campo valor ocupa 8 bytes y contiene un número entero de satoshis. Sesenta y cuatro bits dan un margen generoso para una moneda con un tope cercano a 2.100.000.000.000.000 satoshis, y usar enteros en lugar de decimales es la razón por la que la contabilidad de bitcoin no tiene errores de redondeo. Después vienen un prefijo de longitud y el script de bloqueo, llamado scriptPubKey en el código fuente, que es un programa corto que tendrá que satisfacer quien gaste la salida en el futuro.

Scripts distintos producen tamaños distintos y costos distintos. Un bloqueo pay-to-public-key-hash ocupa 25 bytes de script, con lo que la salida completa ocupa 34 bytes. Un bloqueo SegWit nativo ocupa 22 bytes, con lo que la salida ocupa 31 bytes. Un bloqueo Taproot ocupa 34 bytes de script y 43 bytes en total. Las codificaciones de dirección que usted reconoce corresponden directamente a estos bloqueos: las direcciones que empiezan por 1, por bc1q y por bc1p.

La palabra "bloqueo" es más exacta que "dueño". El script no registra a una persona. Registra una comprobación, y cualquiera que pueda superarla puede gastar la moneda, lo que es precisamente la razón por la que una clave privada tiene que protegerse como algo más que un simple inicio de sesión.

Hay dos propiedades más que importan. Las salidas se numeran por posición, empezando por cero, así que la segunda salida de una transacción es el índice 1. Y una salida por debajo del límite de polvo, aproximadamente 546 satoshis para un bloqueo heredado (legacy) y 294 para uno SegWit nativo, no se retransmite por defecto, porque gastarla costaría más de lo que contiene.

Dónde aparece

Las salidas son la columna de la derecha de cualquier página de un explorador de bloques, y en un gasto casi siempre hay dos.

Una es el pago y la otra es el cambio, y nada en la transacción dice cuál es cuál. Esa conjetura es la materia prima del análisis de blockchain, y por eso una billetera que reutiliza su dirección de cambio es más fácil de seguir que una que no lo hace.

Las salidas son también la memoria de la red. Todo nodo completo mantiene una base de datos de todos los UTXO, porque ese conjunto es exactamente aquello con lo que hay que contrastar cada transacción nueva. Una salida que usted crea permanece en esa base de datos, en decenas de miles de máquinas, hasta que alguien la gasta. Crear muchas salidas diminutas es, por tanto, ligeramente antisocial además de caro, y consolidarlas es tanto una cortesía como un ahorro.

La única excepción es deliberadamente imposible de gastar. Una salida OP_RETURN lleva datos y nunca puede canjearse, así que los nodos la eliminan del conjunto de UTXO de inmediato en lugar de guardarla para siempre.

Para quien compra bitcoin, la versión práctica es breve. Retire a una dirección cuyo formato usted agradecerá en el futuro, prefiera pocos retiros grandes a muchos pequeños, y recuerde que el saldo que muestra su billetera es solo la suma de las salidas que en este momento están bloqueadas en claves que ella controla.

Salida de transacción frente a UTXO

Una salida es un registro; un UTXO es un estado que ese registro tiene solo mientras nadie lo haya gastado. Toda salida que se haya creado queda escrita para siempre en un bloque y puede leerse allí años después, pero en el momento en que una transacción posterior hace referencia a ella, queda gastada y sale del conjunto que siguen los nodos. Así que todo UTXO es una salida, mientras que la mayoría de las salidas ya no son UTXO. La distinción tiene una vertiente práctica: el saldo de su billetera es la suma de sus UTXO, no la suma de todo lo que se ha pagado alguna vez a sus direcciones, y un explorador de bloques que muestra un gran total recibido en una dirección describe historia, no dinero que usted todavía tiene.

No confundir con

Preguntas frecuentes

¿Por qué una transacción que envié tiene una salida que vuelve a mí?

Es el cambio. Las monedas se gastan enteras, así que, si la moneda que gastó era mayor que el pago más la comisión, la billetera crea una segunda salida bloqueada en una dirección que ella controla y le devuelve a usted la diferencia.

¿Una salida es lo mismo que una dirección?

No. Una dirección es una codificación en texto del script de bloqueo que lleva una salida. Muchas salidas pueden compartir una misma dirección, y una salida contiene además un monto y una posición, y una dirección no contiene ninguno de los dos.

Para seguir leyendo

Términos relacionados

Más en la sección Transacciones y comisiones

Leer esta página en inglés