Polygon Labs lanzó en silencio dos hard forks que solucionaron varios problemas de seguridad en su red de prueba de participación (POS).
La red de capa 2 finalmente compartió los detalles en una publicación de un foro. Todos los operadores de nodos tienen que actualizarse o los expulsarán del consenso de la red.
El fork de Austin impide que los nodos envíen el campo TxDependency
El peor fallo estuvo en Heimdall, que es el software que coordina a los validadores de Polygon.
Heimdall empaqueta el contenido de cada transacción dentro de un envoltorio llamado, google.protobuf.Any, según una publicación de un foro de Parvez03.
Un wrapper puede estar dentro de otro, igual que las cajas pueden empaquetarse dentro de otras cajas. Sin embargo, en esta analogía, no hay límite en cuántos niveles de profundidad podrían tener los wrappers.
Un atacante podría crear una sola transacción apilada con esas capas por un costo casi nulo. Esto hace que los validadores desperdicien potencia de cálculo al desempaquetarla.
Polygon describió la falla como “una forma sin permisos de forzar trabajo costoso y correlacionado en todo el conjunto de validadores.”
La bifurcación dura Kyoto actualizó el software de Heimdall a la versión v0.11.0.
“Kyoto añade un preanálisis a nivel de bytes que rechaza una transacción una vez que su anidamiento supera un umbral, aplicado de manera idéntica en la admisión al mempool (CheckTx) y en la ruta de consenso (ProcessProposal)”, dijo la publicación.
Polygon comprueba dos veces:
Cuando llega una transacción.
Cuando los validadores construyen el bloque.
La segunda bifurcación dura, llamada Austin, se centró en Bor, el cliente de ejecución de Polygon. Solucionó dos rutas de denegación de servicio.
Uno eran los eventos de state-sync, el proceso que transporta los depósitos del puente de L1 a L2. Esos eventos ejecutan código de contrato y precompilaciones, igual que lo haría una transacción normal. Sin embargo, la cantidad de gas consumido no estaba limitada por bloque.
La bifurcación Austin añade un límite fijo por bloque al gas de state-sync.
Polygon nunca limitó el tamaño del campo TxDependency.
Un validador podría llenarlo con datos enormes para bloquear cada nodo que leyera el bloque. No había nada más en ese bloque que pareciera incorrecto.
Austin elimina por completo el campo del formato de red.
Fuente: Foro de Polygon.
La bifurcación Kyoto se activó en la altura 51,533,000 de Heimdall
Polygon dijo que nadie explotó los errores en la mainnet y que los corrigió todos antes de que las bifurcaciones entraran en funcionamiento.
La bifurcación Austin se activó en la mainnet en el bloque 91,949,700 de Bor y la bifurcación Kyoto en la altura 51,533,000 de Heimdall.
Cada nodo requiere Bor v2.10.0. Los validadores y los nodos completos también requieren la versión 0.11.0 de Heimdall. Los nodos que ejecutan software más antiguo ya se han bifurcado de la cadena canónica.
Las correcciones son simples actualizaciones binarias, sin necesidad de migración de estado, cambio de génesis ni resincronizaciones completas.
POL cotizaba a 0,09 dólares, con una caída de alrededor del 9,3% en las últimas 24 horas. El token está en zona verde, con una subida del 25,8% en los últimos 30 días, según CoinGecko.
En julio, la mainnet de Heimdall V2 estuvo fuera de línea durante aproximadamente una hora, según un informe anterior de Cryptopolitan.
Las mentes más brillantes del cripto ya leen nuestro boletín. ¿Quieres unirte? Súmate a ellos.
