Después de la activación de Segwit, ¿cuál es el tamaño de bloque más grande posible?

El código dice MAX_BLOCK_SERIALIZED_SIZE = 4000000, pero en realidad no es una regla de consenso como se indica aquí:

https://github.com/bitcoin/bitcoin/issues/10289

La regla de consenso real se basa en MAX_BLOCK_WEIGHT, que también es 4000000. No me queda claro cuál es el peso mínimo que puede tener una transacción p2wpk o p2wsh. Específicamente, ¿cuál es la mejor relación tamaño/peso serializado por testigo que una transacción puede tener después de la activación de segwit?

Eso debería responder a la pregunta de cuál es el tamaño de bloque más grande posible después de la activación de segwit.

Respuestas (1)

El tamaño máximo de bloque es de 4 000 000 bytes (4 MB). Esto se debe a que el cálculo del peso del bloque es base size (in MB) * 3 + total size (in MB) = block weight( ver BIP 141 ). Dado que las únicas unidades son MB, las únicas unidades del peso del bloque también son MB, por lo que el tamaño máximo del bloque es el mismo que el peso del bloque.

La mejor relación posible entre tamaño y peso que se me ocurre es una transacción que también gasta una salida P2WSH que tiene un código de redención ridículo. Y luego también está la transacción de coinbase y el encabezado del bloque. El testigo sería 4000000 - 240 * 3 - 240 = 3999040. Entonces hay 3999040 bytes en el testigo. El tamaño total del bloque es entonces 3999040 + 240 = 3999280 bytes.

Las transacciones de Coinbase no pueden gastar nada.
Todas. Pensé que había una base de monedas en el pasado que gastaba monedas. Supongo que estoy equivocado.
¿Se incluye el encabezado del bloque de 80 bytes en el cálculo?
Estoy bastante seguro de que lo es.
¿Tamaño total y Tamaño base incluyen datos de no testigos? Entonces, ¿algunos bytes se cuentan dos veces? Eso significa que un bloque de 4 MB sería imposible
@PieterWuille ¿es correcta la respuesta de 4 MB? ¿No sería más pequeño porque AMBOS "tamaño total" y "tamaño base" incluyen los mismos datos que no son de testigos? Al calcular el peso de un bloque (con Max 400000), algunos bytes se cuentan dos veces, un bloque de 4 MB es imposible.
En teoría, puede acercarse bastante a 4M, al tener transacciones que consisten casi en su totalidad en datos de testigos. En la práctica, eso no sucederá con las transacciones financieras normales, más cercanas a 2M.
@PieterWuille, ¿es un error medir el peso en bytes? (O MB)