126 / 736WU

Block Weight

Peso del bloque

Por qué no caben todos los pagos pendientes en un bloque y por qué dos bloques llenos pueden ocupar distintos bytes. El peso limita los datos que la red acepta en un mismo bloque.

Block Weight es la forma en que Bitcoin mide la capacidad utilizada por un bloque, el conjunto de transacciones que se añade al historial compartido. Sus distintas partes no cuentan por igual. El peso tiene un máximo fijo; no establece cuántos pagos caben ni cuánto bitcoin se transfiere.

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 envía Bitcoin, pero el siguiente bloque no incluye su pago. Eso, por sí solo, no significa que haya perdido el dinero. Una transacción sin confirmar puede esperar en el Mempool, la cola local de un nodo. Un nodo es un programa que verifica transacciones y bloques y se comunica con otros participantes de la red. El minero elige transacciones para un bloque de capacidad limitada y también puede crear uno más pequeño. Las comisiones son un incentivo, no una orden de incluir un pago concreto. Block Weight explica una restricción de esa selección, no todas las causas de una demora. [1] [7]

El máximo es 4 000 000 WU, incluido ese valor exacto. WU significa unidad de peso. Un Full Node, que comprueba las reglas de Bitcoin de forma independiente, rechaza un bloque que lo supere. Ni las comisiones altas ni un Proof of Work válido, la prueba de trabajo computacional necesaria para minar, lo salvan. Encontrar esa prueba y construir un bloque válido son requisitos simultáneos. La capacidad no depende únicamente de la voluntad del minero. [1] [3] [4]

El byte es una unidad habitual para medir datos. SegWit separó parte de los datos que demuestran el permiso para gastar, entre ellos las firmas. Esos datos se llaman witness. Un byte de datos básicos aporta 4 WU; un byte adicional de la representación completa con witness aporta 1 WU. Esta última categoría también incluye los campos marker y flag. Así se conserva la estructura básica de la transacción y se da espacio a los datos de verificación sin contar todos los bytes por igual. [1] [2]

Una firma demuestra el derecho del remitente a gastar determinadas monedas. Un pequeño programa, el script, establece las condiciones para hacerlo. Que witness aporte menos peso no permite al nodo ignorar las firmas ni las condiciones aplicables. Los datos siguen presentes en la representación completa. Es una regla para contabilizar capacidad, no una afirmación de que el trabajo del procesador, el tráfico o el almacenamiento disminuyan en la misma proporción. [1] [4]

Serializar un bloque consiste en escribirlo como la secuencia exacta de bytes que intercambian los ordenadores. Llamemos B al tamaño sin witness y T al tamaño completo. BIP 141 utiliza W = 3 × B + T. Los datos básicos ya forman parte de T, por lo que se cuentan cuatro veces en total. Los datos añadidos por la representación witness cuentan una vez. La fórmula se aplica al bloque entero, no solo a sus pagos ordinarios. [1] [8]

Imaginemos B = 500000 y T = 2500000 bytes. El resultado es W = 4000000 WU. Otra composición puede tener B = 750000 y T = 1750000 bytes y dar también W = 4000000 WU. Son cálculos ilustrativos, no bloques medidos. Ambos consumen el mismo peso, pero el segundo transmite menos bytes. Por eso es incorrecto afirmar que un bloque lleno siempre ocupa 4 MB. Tampoco contiene un número fijo de transacciones. [1]

Un bloque no es simplemente una colección de pagos. Tiene una cabecera de 80 bytes que incluye una referencia al bloque anterior y un resumen de sus transacciones. Después aparece el número de transacciones, codificado mediante CompactSize, una representación de enteros de longitud variable. La primera es la Coinbase Transaction, la transacción especial de recompensa al minero; aquí el nombre no alude a una plataforma de intercambio. Todo ello cuenta: sumar el peso de las demás transacciones no da aún el peso del bloque completo. [5] [7] [8]

Una cartera es una aplicación o un dispositivo para recibir y enviar bitcoin. Suele utilizar el tamaño virtual de la transacción, expresado en unidades vByte. Se obtiene dividiendo el peso de la transacción completa entre 4 y redondeando hacia arriba. Sirve para comparar comisiones por capacidad utilizada. Sumar esos tamaños redondeados no da el peso exacto del bloque: cambia la unidad, hay redondeos individuales y falta la estructura propia del bloque. Transferir mucho dinero no implica necesariamente transmitir muchos datos. [1] [8]

El peso no describe todo el trabajo del nodo. También existe un límite de 80 000 unidades ponderadas de coste de operaciones de verificación de firmas según las reglas aplicables. No es un simple recuento de todas las firmas del bloque. Tapscript, el lenguaje de scripts introducido con Taproot, tiene un presupuesto independiente por entrada, la parte de la transacción que gasta monedas recibidas anteriormente; sus operaciones de firma no cuentan para ese límite anterior del bloque. BIP 342 explica esa restricción distinta. Cumplir el límite de peso no autoriza una verificación arbitrariamente costosa. [1] [3] [9]

Un explorador de bloques es una aplicación para consultar transacciones y bloques de una red concreta. En Bitcoin Core v29.0, getblock devuelve, entre otros campos, size, strippedsize y weight: tamaño completo en bytes, tamaño sin witness y peso. También puede aparecer chainwork. Describe el trabajo computacional acumulado de la cadena, no su peso en datos. Para quien hace un pago, conviene distinguir capacidad y precio: Block Weight limita el espacio del bloque; la comisión real depende del tamaño de la transacción y de la tarifa elegida. Ninguna de esas cifras garantiza por sí sola cuándo se confirmará. [6]

Para obtener la imagen más completa, lee esta entrada junto con vByte, Witness Data, SegWit, Guerra del tamaño de bloque, Bitcoin, Full Node. También enlazan con esta entrada Signet, vByte, Witness Data, Ordinals Inscriptions.

DOC · 001BIP 141 — Segregated WitnessEspecificación DOC · 002BIP 144 — SegWit peer servicesEspecificación DOC · 003Bitcoin Core v29.0 — consensus limitsDocumentación DOC · 004Bitcoin Core v29.0 — validationDocumentación DOC · 005Bitcoin Developer Reference — Block chainDocumentación DOC · 006Bitcoin Core — getblock RPCDocumentación DOC · 007Bitcoin Core v29.0 — Block assemblyDocumentación DOC · 008Bitcoin Core v29.0 — Block and transaction weightDocumentación DOC · 009BIP 342 — Validation of Taproot ScriptsEspecificación
Revisado: Fuentes primero · No es asesoramiento financiero