Can I track a bitcoin transaction?

El Tamaño de una Transacción de Bitcoin Explicado

21/11/2022

Valoración: 4.21 (10941 votos)

Cuando pensamos en una transacción de Bitcoin, solemos imaginar simplemente el envío de valor de una persona a otra. Sin embargo, detrás de esa simple idea se esconde un proceso técnico complejo. Cada transacción es, en esencia, un paquete de datos que debe ser validado, transmitido por la red y almacenado permanentemente en la blockchain. El "tamaño" de este paquete de datos es un factor crucial que influye directamente en la rapidez con la que se confirma y, sobre todo, en la comisión que debemos pagar. Pero medir este tamaño no es tan sencillo como parece; existen tres métricas principales que todo entusiasta de Bitcoin debería conocer: Bytes (b), Unidades de Peso (Weight Units - wu) y Bytes Virtuales (vBytes - vB). Comprender la diferencia entre ellas es fundamental para entender cómo funciona realmente la red de Bitcoin y cómo gestionar nuestras transacciones de manera eficiente.

How many BTC are in a block today?
BLOCK to BTC over time BLOCK Today 24H 󰌾 35.32% 1 BLOCK 0.00000014 BTC 0.00000009 BTC 5 BLOCK 0.00000070 BTC 0.00000045 BTC 10 BLOCK 0.00000140 BTC 0.00000091 BTC 50 BLOCK 0.00000700 BTC 0.00000453 BTC
Índice de contenido

La Medida Original: Bytes (b)

La forma más intuitiva y directa de medir cualquier dato en un ordenador es en bytes. Un byte es la unidad básica de información digital. En los primeros días de Bitcoin, el tamaño de una transacción se medía exclusivamente en bytes, que representaban su tamaño real en disco o al ser transmitida a través de la red.

Durante años, el debate sobre la escalabilidad de Bitcoin giró en torno al "límite del tamaño del bloque", que estaba fijado en 1.000.000 de bytes (o 1 megabyte). Esto significaba que los mineros no podían incluir más de 1 MB de datos de transacciones en un nuevo bloque. Por lo tanto, el tamaño en bytes de una transacción era el único factor que determinaba cuántas transacciones podían caber en un bloque.

El tamaño en bytes de una transacción depende principalmente del número de entradas (inputs) y salidas (outputs) que contenga. Cada entrada hace referencia a una transacción anterior de la que se está gastando el saldo, y cada salida especifica las nuevas direcciones que recibirán los fondos. Cuantas más entradas y salidas, más datos se necesitan y, por tanto, mayor es el tamaño en bytes.

Tamaños Típicos de Transacciones en Bytes

A continuación, se muestran algunos tamaños promedio para transacciones comunes (utilizando scripts de bloqueo P2PKH estándar):

  • 1 entrada, 1 salida: Aproximadamente 191-192 bytes.
  • 1 entrada, 2 salidas: Aproximadamente 225-226 bytes (una de las configuraciones más comunes, por ejemplo, al pagar a alguien y recibir el cambio en una dirección propia).
  • 2 entradas, 1 salida: Aproximadamente 338-339 bytes.
  • 2 entradas, 2 salidas: Aproximadamente 373-374 bytes.

Aunque esta métrica es fácil de entender, el sistema evolucionó con la introducción de Segregated Witness (SegWit), que dio paso a nuevas formas de medir el tamaño de las transacciones para optimizar el espacio del bloque.

La Revolución de SegWit: Unidades de Peso (Weight Units - wu)

En 2017, la red de Bitcoin implementó una de sus actualizaciones más importantes: SegWit (Testigo Segregado), formalizada en el BIP 141. SegWit reorganizó la estructura de las transacciones separando los datos de la firma digital (el "testigo" o "witness") de los datos principales de la transacción (quién envía y quién recibe). Esta separación resolvió problemas técnicos como la maleabilidad de las transacciones y, lo más importante, cambió la forma en que se mide el límite del bloque.

En lugar de un límite de 1.000.000 de bytes, SegWit introdujo un nuevo concepto: el "peso del bloque" (block weight), con un límite de 4.000.000 de unidades de peso (wu). Con este nuevo sistema, no todos los bytes de una transacción "pesan" lo mismo. Se aplica una ponderación diferente a las distintas partes de la transacción:

  • Datos base (no-testigo): Versión, entradas, salidas, locktime. Cada byte de esta sección se multiplica por 4.
  • Datos del testigo (witness): Las firmas y otros datos necesarios para desbloquear los fondos. Cada byte de esta sección se multiplica por 1.

La fórmula es: Peso de la transacción = (Tamaño en bytes de datos base * 4) + (Tamaño en bytes de datos testigo * 1)

¿Por Qué Darle un "Descuento" a los Datos Testigo?

Esta ponderación fue una decisión de diseño ingeniosa. Históricamente, los datos de la firma (el testigo) ocupaban una parte desproporcionadamente grande de una transacción en comparación con los datos que definen las salidas. Al hacer que los datos del testigo "pesen" menos, SegWit incentiva el uso de tipos de transacciones más eficientes. Esto equilibra el coste de crear una salida (UTXO) con el coste de gastarla, optimizando el uso del espacio en el bloque y permitiendo que, en la práctica, quepan más transacciones en cada bloque sin aumentar el límite de 1MB de datos base.

Los mineros ahora utilizan las unidades de peso para determinar cuántas transacciones pueden incluir en el bloque que están minando, asegurándose de no superar el límite total de 4.000.000 wu.

La Métrica para las Comisiones: Bytes Virtuales (vBytes - vB)

Si bien las unidades de peso son la métrica fundamental utilizada por el protocolo de Bitcoin para el consenso, no son muy intuitivas para el usuario final. Para facilitar las cosas, se creó una unidad derivada: el Byte Virtual (vByte).

Un vByte es simplemente el peso total de la transacción dividido por 4. La fórmula es: Tamaño virtual (vB) = Peso Total (wu) / 4

Esto nos devuelve a una escala más familiar, similar a la de los bytes originales. El límite del bloque de 4.000.000 wu equivale a un límite de 1.000.000 de vBytes. La principal utilidad de los vBytes es estandarizar el cálculo de las comisiones (fees). Hoy en día, las comisiones de Bitcoin se expresan comúnmente en satoshis por byte virtual (sats/vB). Esta métrica permite a los usuarios y a las carteras comparar de forma justa las comisiones de transacciones SegWit y las transacciones heredadas (legacy).

Para una transacción heredada (que no utiliza SegWit), no hay datos de testigo que separar. Por lo tanto, su tamaño en bytes es igual a su tamaño en vBytes. Para una transacción SegWit, el tamaño en vBytes siempre será menor que su tamaño total en bytes, gracias al "descuento" aplicado a los datos del testigo.

Tabla Comparativa: Bytes vs. Weight vs. vBytes

Para aclarar las diferencias, aquí tienes una tabla que resume las tres métricas:

Característica Bytes (b) Unidades de Peso (wu) Bytes Virtuales (vB)
Definición Tamaño físico real de los datos. Medida ponderada para el consenso del límite del bloque. Tamaño "económico" normalizado para calcular comisiones.
Introducido en Origen de Bitcoin. SegWit (BIP 141). SegWit (BIP 141).
Límite de Bloque 1,000,000 (Obsoleto como límite principal). 4,000,000 wu 1,000,000 vB
Trato a Datos Testigo Sin distinción, cuenta como cualquier otro dato. Cada byte cuenta como 1 unidad (75% de descuento). Cada byte cuenta como 0.25 vBytes.
Uso Principal Almacenamiento en disco, transmisión por la red. Reglas de consenso para que los mineros llenen los bloques. Wallets y usuarios para calcular comisiones (sats/vB).

Preguntas Frecuentes (FAQ)

¿Cómo afecta el tamaño de mi transacción a la comisión que pago?

La comisión total de una transacción se calcula multiplicando su tamaño en Bytes Virtuales (vB) por la tasa de comisión que elijas (en sats/vB). Por ejemplo, si tu transacción tiene un tamaño de 140 vB y la tasa de mercado es de 50 sats/vB, la comisión total será de 140 * 50 = 7,000 satoshis. Por lo tanto, para una misma tasa, una transacción más grande en vBytes siempre pagará una comisión total más alta.

¿Qué es SegWit y por qué es importante para el tamaño?

SegWit es una actualización del protocolo de Bitcoin que separa los datos de la firma (testigo) de los datos principales de la transacción. Es importante porque aplica un "descuento" de peso a estos datos de firma, lo que reduce el tamaño virtual (vB) de la transacción. Esto permite que más transacciones quepan en un bloque y hace que las comisiones sean, en general, más bajas para quienes usan direcciones SegWit.

¿Mi monedero utiliza bytes, weight o vBytes?

La gran mayoría de los monederos modernos utilizan Bytes Virtuales (vB) para mostrarte las tasas de comisión y calcular el coste final de tu transacción. Cuando configuras una comisión en "sats/vB" o "satoshis por byte virtual", estás trabajando con esta métrica. Las unidades de peso (wu) son utilizadas internamente por el software de los nodos y mineros, pero no suelen ser visibles para el usuario final.

¿Una transacción puede ser demasiado grande?

Sí. Ninguna transacción puede superar el límite de peso del bloque, que es de 4,000,000 de unidades de peso (o 1,000,000 de vBytes). En la práctica, es muy raro que una transacción de un usuario normal se acerque a este límite. Este límite suele ser relevante para empresas o servicios que realizan transacciones muy complejas con cientos de entradas o salidas.

Conclusión

La evolución de cómo se mide el tamaño de una transacción de Bitcoin, desde los simples bytes hasta el sistema ponderado de unidades de peso y bytes virtuales, es un reflejo del desarrollo técnico de la red para mejorar su eficiencia y capacidad. Para el usuario, la conclusión más importante es que el tamaño virtual (vB) es la métrica clave que determina el coste de una transacción. Utilizar carteras y direcciones compatibles con SegWit reduce el tamaño virtual de tus transacciones, lo que se traduce en un ahorro en comisiones y contribuye a la salud y descongestión de la red. Entender estos conceptos te permite tomar decisiones más informadas, optimizar tus costes y apreciar la sofisticación que se esconde detrás de cada transacción en la blockchain de Bitcoin.

Si quieres conocer otros artículos parecidos a El Tamaño de una Transacción de Bitcoin Explicado puedes visitar la categoría Bitcoin.

Subir