Glosario / Minería y consenso
Tamaño máximo de bloque
También se conoce como Límite de tamaño de bloque.
- ¿Qué es el tamaño máximo de bloque?
- El tamaño máximo de bloque es el techo de la cantidad de datos que puede transportar un bloque de bitcoin, y desde SegWit ese techo es un presupuesto de cuatro millones de unidades de peso y no un recuento de bytes.
Se especifica en el BIP-141.
Un bloque no puede crecer para adaptarse a la demanda, y eso es deliberado. Bitcoin Core limita un bloque a 4.000.000 unidades de peso, un presupuesto que aplica un descuento a los datos de testigo y que equivale a cerca de 4 MB en un bloque cargado de datos de testigo y 1 MB con transacciones de estilo antiguo. Esa oferta fija es una de las dos mitades de cada comisión que usted paga por mover monedas.
Cómo funciona
Estado: la regla uniforme de 1.000.000 bytes dejó de ser la restricción determinante el 24 de agosto de 2017, cuando SegWit se activó en el bloque 481.824. Sobrevive por debajo como tope de la parte de un bloque que queda fuera del testigo, pero el límite que decide qué cabe es el presupuesto de 4.000.000 unidades de peso que define el BIP141.
El tamaño máximo de bloque nació como un freno de emergencia y no como una política económica. Satoshi Nakamoto añadió la constante de 1.000.000 bytes en 2010, sin documentación ni debate, para que un minero hostil no pudiera inundar una red joven con un único bloque gigantesco que todos los participantes tendrían que almacenar después para siempre. Nadie dejó por escrito qué debía ocurrir cuando la demanda ordinaria alcanzara ese límite. Ese silencio explica en gran parte por qué la discusión sobre la cifra se volvió después tan amarga.
El BIP141 cambió la contabilidad en lugar de la constante. El peso de bloque cuenta los datos base tres veces, más la serialización completa una vez, lo que equivale a cuatro unidades por cada byte fuera del testigo y una unidad por cada byte de testigo. Si se pone el tope en 4.000.000, surgen a la vez dos techos: los datos base siguen sin poder superar nunca 1.000.000 bytes, y aproximadamente 3 MB de datos de firma pueden viajar encima. El software escrito antes de 2017 solo medía la serialización sin datos de testigo, así que veía un bloque válido y no ponía objeciones, y así fue como la capacidad creció mediante una bifurcación blanda (soft fork) y no mediante una división de la cadena.
El peso de bloque no es el único techo del reglamento. Un bloque tampoco puede gastar más de 80.000 operaciones de firma, un presupuesto aparte que impide que un bloque pequeño tarde un tiempo desproporcionado en verificarse.
Dónde aparece
Los bloques reales quedan muy por debajo del máximo teórico, porque los pagos ordinarios llevan muy pocos datos de testigo. Un bloque concurrido suele ocupar, serializado, más de 1,5 megabytes, y solo las transacciones repletas de datos del tipo de las inscripciones empujan hacia el extremo de 4 MB. Los exploradores de bloques muestran uno al lado del otro el tamaño y el peso de cada bloque, y las dos cifras no coinciden por diseño: al dividir ese peso entre cuatro se obtienen bytes virtuales, la unidad que usa su billetera cuando indica una comisión por vB en sat/vB.
La cifra es también la razón de que existan otras dos monedas. Bitcoin Cash se separó el 1 de agosto de 2017 en el bloque 478.558 con un límite de 8 MB, y la propuesta SegWit2x de duplicar el tope base a 2 MB se canceló el 8 de noviembre de 2017 por falta de apoyo. Ambos episodios forman parte de la guerra del tamaño de bloque, una disputa de tres años sobre si el crecimiento debía absorberlo un bloque más grande o una segunda capa. El bando ganador dejó intacto el límite base y trasladó la presión a Lightning.
Tamaño máximo de bloque frente a peso de bloque
El tamaño máximo de bloque es la pregunta; el peso de bloque es la unidad en la que hoy se da la respuesta. Preguntar cuántos megabytes caben da un rango y no una cifra, porque la respuesta depende de qué parte de los datos va en los testigos. Preguntar cuántas unidades de peso caben da exactamente un número, 4.000.000, para cada bloque desde que se activó SegWit. Por eso la documentación del protocolo dejó de citar tamaño alguno, y por eso cualquier fuente que todavía le diga que el límite es de 1 MB describe bitcoin tal como era antes de 2017.