125 / 736vB

vByte

Byte virtual · vB

Qué significa sat/vB en tu cartera y por qué una transferencia pequeña puede costar tanto como una grande. El tamaño virtual mide los datos ponderados de la transacción, no el valor de los bitcoins enviados.

vByte, abreviado vB, es una unidad de tamaño virtual de las transacciones de Bitcoin. Sus distintas partes no cuentan por igual. La cartera utiliza este tamaño para calcular la comisión: una transacción mayor o una tarifa más alta implica una comisión total mayor.

Transaction Fees: tamaño y comisiónEstima el tamaño virtual de una transacción, la comisión según tu tarifa y su valor aproximado en la moneda elegida.

Ana quiere enviar Bitcoin y su cartera propone una tarifa de 2 sat/vB. Sat significa satoshi, la unidad más pequeña del bitcoin; vB indica el tamaño virtual de la transacción. Si la transacción terminada ocupa 127 vB, la comisión será de 254 sat. La tarifa, también llamada Fee Rate, no es el coste total del envío. Este ejemplo explica el cálculo, no recomienda una tarifa para la red de hoy. Pagar una comisión tampoco garantiza un plazo concreto de confirmación. [3] [5] [7]

Una cartera no gasta su saldo como una única cifra. Utiliza salidas recibidas anteriormente y todavía sin gastar, llamadas UTXO. Cada salida utilizada añade una entrada; a menudo se crea también una salida que devuelve el cambio a tu cartera. Reunir muchos ingresos pequeños puede requerir más datos que gastar una cantidad mayor procedente de un único ingreso. La comisión es la suma del valor de las entradas menos la de las salidas. La firma digital acredita la autorización para gastar los fondos seleccionados. Antes de crearla, la cartera estima el tamaño; la comisión real y el tamaño final determinan la tarifa efectiva. [6] [7]

El byte es una unidad habitual para medir datos. Sin embargo, para calcular la comisión de una transacción de Bitcoin no basta con contar todos los bytes por igual. SegWit separa parte de los datos que demuestran el permiso para gastar, entre ellos las firmas. Esa parte se llama witness. Un byte de datos básicos aporta 4 WU al peso de la transacción; un byte añadido por el formato que incluye witness aporta 1 WU. WU significa unidad de peso. Los campos auxiliares marker y flag reciben el mismo descuento. Las firmas siguen verificándose: un peso menor no permite omitir las comprobaciones. [1] [2]

Serializar consiste en escribir una transacción como una secuencia exacta de bytes que los ordenadores pueden transmitir y leer. Llamemos B a su tamaño sin witness y T al tamaño completo. BIP 141 define el peso como W = 3 × B + T. Los datos básicos ya están incluidos en T; por eso la fórmula los cuenta cuatro veces y los datos witness añadidos, una. No mide el valor monetario del pago ni el tiempo de procesamiento. [1]

El tamaño virtual es el peso dividido entre 4, redondeado hacia arriba a un entero: vsize = ceil(W / 4). ceil indica ese redondeo. Una transacción de 401 WU ocupa, por tanto, 101 vB. Se redondea el resultado de la transacción completa. Redondear cada entrada por separado y sumar después puede dar un tamaño diferente. [1]

Tomemos los tamaños ilustrativos B = 100 y T = 208 bytes. La fórmula produce W = 508 WU y vsize = 127 vB, el tamaño del ejemplo inicial de comisión. Pero la transacción completa no se ha encogido por arte de magia: su representación íntegra sigue transmitiendo 208 bytes. El tamaño virtual es una medida ponderada para trabajar con capacidad y comisiones, no un sistema de compresión de archivos. [1] [5]

Un explorador de bloques es una aplicación para consultar transacciones y bloques de una red concreta. Si una transacción no contiene datos witness, B = T y, por tanto, W = 4 × T. Su tamaño virtual básico coincide entonces con su tamaño completo en bytes. Por eso un explorador puede mostrar cifras iguales en ambos campos, o distintas según la transacción. Con SegWit no basta con dividir todos los bytes transmitidos entre cuatro: la ponderación diferente corresponde a partes concretas de los datos. [1] [2]

Un nodo es un programa que verifica transacciones y bloques y se comunica con otros participantes de la red. Bitcoin Core v29.0 utiliza el tamaño ajustado ceil(max(W, sigop_cost × bytes_per_sigop) / 4) en algunas políticas de funcionamiento. sigop_cost es el coste ponderado de las operaciones de firma; bytes_per_sigop es un parámetro de dichas políticas. max elige el valor mayor. Una verificación especialmente exigente puede aumentar el tamaño utilizado para estas reglas. No cambia el peso de BIP 141 ni las reglas de validez de los bloques. Es un detalle de la versión indicada, no otro cálculo necesario para realizar un pago habitual. [1] [4]

Un pago puede gastar una salida de otra transacción aún no confirmada. Para evaluar ese paquete, pueden dividirse las comisiones totales pertinentes entre la suma de los tamaños virtuales correspondientes. La media simple de las tarifas ignoraría los distintos tamaños. Bitcoin Core v29.0 también tiene en cuenta los ajustes locales de prioridad y no vuelve a contar las transacciones que ya están en su cola de espera. Una tarifa conjunta elevada no anula las demás reglas ni garantiza la aceptación o la confirmación. [4] [8]

Antes de enviar, compara la tarifa con la comisión total y el tamaño estimado. Una vez creada la transacción, decoderawtransaction permite consultar los campos reales size, vsize y weight: bytes, tamaño virtual y peso. No necesitas calcular las fórmulas a mano para pagar. Conviene distinguir otro nombre parecido: CompactSize es una codificación de enteros de longitud variable. No es otro nombre de vByte ni una forma de reducir la transacción. [5] [6]

Para obtener la imagen más completa, lee esta entrada junto con Block Weight, Compact Blocks, Block Propagation, Initial Block Download, Bitcoin, SegWit. También enlazan con esta entrada Compact Blocks, Pruned Node, Block Weight, Package Relay.

DOC · 001BIP 141 — Segregated WitnessEspecificación DOC · 002BIP 144 — SegWit peer servicesEspecificación DOC · 003Bitcoin Core — policy feesDocumentación DOC · 004Bitcoin Core — transaction policyDocumentación DOC · 005Bitcoin Core — decoderawtransaction RPCDocumentación DOC · 006Bitcoin Developer Reference — TransactionsDocumentación DOC · 007Bitcoin Core v29.0 — Wallet transaction size and feesDocumentación DOC · 008Bitcoin Core v29.0 — Package mempool acceptanceDocumentación
Revisado: Fuentes primero · No es asesoramiento financiero