¿Cuáles son las limitaciones de tamaño del script de acuerdo con las reglas de consenso y se aplican en TestNet?

Estoy tratando de descubrir las limitaciones que tienen los scripts con respecto a su tamaño, límites que harían que un script no sea válido ( ignorando el estándar). Según esta pregunta y también estas líneas de código en el código fuente de bitcoin core 1 2 3 , parece que se aplican las siguientes reglas:

Maximum script size = 10,000
Maximum data size to be pushed to the stack = 520

Para probar estas reglas, hice un montón de transacciones en TestNet, todas las cuales rompieron alguna regla y se incluyeron en bloques (todos enviados desde n3eynMTEiGgPTuoKPApnRjE9pAuaAk3gkB)? Ejemplo:
Tx ID: 88bac1e84c235aa0418345bf430fb43b336875974b6e87dc958de196f9222c35
PubkeyScript length=0xfd1527=10,005script= 4d11275b2c...394e75o Push_10001_byte<5b2c...394e> OP_DROP
Como puede ver, la longitud del script ya es 10 005 > 10 000 y la primera inserción de datos es 10 001 > 520. En otras palabras, rompí ambas reglas.
Además, que yo sepa, las reglas de "consenso" son exactamente las mismas en TestNet (con una excepción: ajuste de dificultad), ¿es correcto? Entonces, ¿cómo es válida esta transacción?

Respuestas (1)

Esas reglas de consenso son, de hecho, las mismas para testnet y mainnet.

Sin embargo, solo se aplican cuando se ejecutan los scripts . Entonces, debe crear una entrada tratando de gastarla para probar esto.

Entonces, prácticamente, esto significa que el único límite en PubkeyScript es el tamaño del bloque, ¿verdad?
Ese es efectivamente el único límite de consenso sobre los resultados, creo, de hecho.
Este es mi entendimiento también.