1/ SIMD-0186: La especificación del tamaño de los datos de transacción cargados estandariza cómo Solana calcula el total de datos de cuenta que una transacción carga. Define un método seguro para el consenso, de modo que cada cliente calcule el mismo tamaño y haga que el tamaño de la transacción sea predecible. Aquí está lo que soluciona y cómo funciona 🧵
2/ Las implementaciones anteriores para el tamaño de los datos de transacción eran poco intuitivas y excesivamente complejas. La carga de cuentas de programa, especialmente con el Cargador Actualizable BPF, tenía casos extremos complicados que dificultaban las implementaciones independientes.
3/ SIMD-0186 hace que las reglas sean simples y explícitas: cada cuenta cargada se cuenta exactamente una vez. Los programas que utilizan el Cargador Actualizable BPF incluyen sus datos de programa, añaden 64 bytes por cuenta para metadatos y ALTs añaden un total de 8,248 bytes cada uno.
4/ Por qué es importante para los desarrolladores: los datos de cuenta cargados son limitados por transacción y el nuevo cálculo podría ser significativamente más alto o más bajo para ciertas transacciones. Las transacciones que establecen su límite de tamaño de datos de cuenta cargados pueden necesitar ajustarse en consecuencia. Las transacciones cerca de su límite máximo de 64MB pueden fallar ahora.
5/ El límite predeterminado de tx-wide es de 64 MB (16k CUs). Puedes reducirlo con la instrucción de presupuesto de cómputo SetLoadedAccountsDataSizeLimit. Reducir ese límite puede mejorar la programación debido a un menor costo por tarifas pagadas.
6/ ¿Por qué tener un límite de tamaño de datos cargados? Similar al límite de CU por transacción, los validadores obtienen una contabilidad predecible para los datos de cuenta cargados de una transacción. SIMD-0186 asegura que los clientes de los validadores logren resultados idénticos en el tamaño de los datos de la transacción, eliminando el riesgo de consenso y simplificando el desarrollo del cliente.
8,16K