source avatarPandit | Ξ🦇🔊

Compartir

La noche del lunes, se integró un cambio de una sola línea en el EIP-7928, y la historia detrás de esa línea ofrece una buena visión de cómo las dos capas de clientes de Ethereum dependen una de la otra. EIP-7928 añade listas de acceso a nivel de bloque a Glamsterdam. Un BAL registra qué cuentas y ranuras de almacenamiento toca un bloque, además de los cambios de estado tras cada transacción, para que los clientes puedan leer y validar en paralelo. La regla original decía que los clientes de ejecución solo tenían que mantener los BALs durante 3.533 épocas, aproximadamente 16 días. Ese es el período de subjetividad débil, y para la capa de ejecución es más que suficiente. Un desarrollador de cliente de ejecución hizo la observación justa en la PR de que un nodo puede validar un bloque sin necesidad de un BAL en absoluto. El problema estaba en el lado de consenso. Algunos clientes de consenso no almacenan cargas completas. Mantienen una versión "ciega" y, cuando un par solicita el bloque, llaman a engine_getPayloadBodiesBy*V2 en el cliente de ejecución para volver a completar el resto. Esto funciona para transacciones y retiros, porque los clientes de ejecución mantienen los cuerpos de bloque durante 14.299 épocas. Sin embargo, bajo Gloas, el BAL también forma parte de la carga de ejecución. Entonces, después de 16 días, el cliente de ejecución devolvería nulo para el BAL, y el cliente de consenso ya no podría reconstruir una carga que aún se espera que sirva. Su única opción sería comenzar a almacenar los BALs por sí mismo, lo que significa que los mismos datos estarían duplicados en disco. La solución hace que la retención de BALs siga la ventana del cuerpo del bloque: 14.299 épocas, un poco más de dos meses. No es gratis. Usando el tamaño típico del BAL de aproximadamente 70 KiB mencionado en esa discusión, mi estimación aproximada es de alrededor de 30 GiB de BALs por nodo, frente a unos 7,5 GiB anteriores. Nada sobre la seguridad del consenso cambió aquí. Simplemente, ambas capas tenían ideas diferentes sobre qué significaba "mantenerlo disponible".

No.0 picture
Descargo de responsabilidad: La información contenida en esta página puede proceder de terceros y no refleja necesariamente los puntos de vista u opiniones de KuCoin. Este contenido se proporciona solo con fines informativos generales, sin ninguna representación o garantía de ningún tipo, y tampoco debe interpretarse como asesoramiento financiero o de inversión. KuCoin no es responsable de ningún error u omisión, ni de ningún resultado derivado del uso de esta información. Las inversiones en activos digitales pueden ser arriesgadas. Evalúa con cuidado los riesgos de un producto y tu tolerancia al riesgo en función de tus propias circunstancias financieras. Para más información, consulta nuestras Condiciones de uso y la Declaración de riesgos.