Actualización de Ethrex 🚀
# Layer 2
Estamos trabajando en la integración del modo de agregación Aligned Layer de ethrex L2, el soporte TEE (hemos terminado nuestra exploración, redactamos algunos documentos y ahora estamos adaptando el PoC para que se incluya en el pipeline actual) e incluyendo la prueba de retiro al pipeline de prueba actual (actualmente solo la ejecución de bloques).
Todavía estamos trabajando en una prueba de concepto para la integración del modo de agregación Aligned Layer y estamos comenzando a integrar nuestro Intel TDX PoC al L2 como otro probador. También tenemos la prueba de retiros en revisión y estamos comenzando con la prueba de depósitos.
También tenemos un PR en revisión para hacer que los contratos L2 sean actualizables bajo el patrón de proxy UUPS y uno que agrega soporte de firma remota con Web3Signer. Finalmente, el PR que elimina la configuración toml y mueve todo a variables de entorno o flags de la CLI se ha fusionado.
# LEVM
Aterrizamos dos optimizaciones de rendimiento para LEVM:
- Rediseñamos la forma en que se rastrean las modificaciones de almacenamiento para administrar las reversiones; anteriormente, se clonaban todas las modificaciones de almacenamiento acumuladas, mientras que ahora solo rastreamos slots específicos que se modifican (#2699).
- Se eliminó una copia doble innecesaria de una slice en el opcode PUSH. Esto representó una mejora de alrededor del 5,00% en nuestros benchmarks (#2702).
También estamos trabajando en otra mejora de rendimiento para evitar la clonación del bytecode de las cuentas al hacer llamadas. En los flamegraphs realizados al sincronizar Holesky, en ciertos bloques esto representó alrededor del 80,00% de la ejecución total, por lo que esperamos una buena aceleración al sincronizar desde esto.
# Layer 1
Actualizamos las pruebas de especificación de ejecución de 4.0.0 a 4.3.0 y corregimos algunas de las nuevas pruebas. También hicimos algunas mejoras en la capa P2P.
# Perf
Cosas en las que hemos estado trabajando esta semana:
- Cambiamos nuestra implementación de trie para usar referencias a otros nodos o hashes, evitando el hashing adicional, pero también configurando la ruta para mantener la caché entre bloques.
- Una implementación básica de snapshot está en su lugar, y se están mostrando buenos resultados en las pruebas de carga iniciales. Ahora estamos trabajando en fusionar snapshots antiguos en la capa de disco.
- Estamos trabajando en una estandarización de nuestros archivos genesis para poder compararlos rápidamente entre ellos.