Análisis del Retroceso de Blockchain de Zano
Zano ha revelado el error que obligó a su inusual retroceso de blockchain de 30 días en un reciente análisis postmortem. Un atacante explotó una verificación faltante en las Direcciones Gateway para acuñar aproximadamente 18.4 millones de ZANO en una sola transacción, y luego repitió el truco con fUSD.
«La primera explotación pasó desapercibida durante casi un mes, mientras que la propia maquinaria de privacidad de Zano dificultaba cada vez más distinguir las monedas falsas de las legítimas.»
El retroceso de blockchain de 30 días de Zano ya sonaba drástico, pero ahora el equipo ha explicado lo que se ocultaba detrás de este suceso, y la mecánica es, sin duda, más extraña. Un defecto introducido con el Hard Fork 6 permitió a un atacante crear monedas que la red aceptaba como genuinas, comenzando el 29 de agosto.
Detalles de la Explotación
Según el equipo de desarrollo, la primera explotación real acuñó 2^64 unidades base, aproximadamente 18.4 millones de ZANO, en una sola transacción. Nadie lo detectó durante casi un mes. Para cuando las herramientas internas de Zano sonaron la alarma el 25 de septiembre, el suministro falso ya se había enredado dentro de un sistema de privacidad diseñado deliberadamente para hacer que las transacciones fueran difíciles de rastrear.
El problema comenzó con las Direcciones Gateway, un nuevo tipo de dirección introducido en el Hard Fork 6 para facilitar la integración de Zano con plataformas de intercambio centralizadas (CEX), puentes y otros servicios. Las salidas de Gateway exponen una cantidad y un ID de activo, a diferencia de las salidas confidenciales estándar de Zano, donde ambos están ocultos. Sin embargo, la implementación carecía de una verificación crítica.
«En resumen, cada transacción de Zano debe probar que las monedas fueron creadas a partir de reglas de consenso. Debido a una verificación faltante, un atacante podría satisfacer esta prueba mientras ‘escondía’ monedas adicionales dentro de la transacción.»
Esas monedas no eran entradas contables decorativas. El equipo dijo: «Estas monedas funcionaron como ZANO auténtico y podían gastarse normalmente.»
Consecuencias y Soluciones
El atacante registró una Dirección Gateway el 28 de agosto, pagando la tarifa requerida de 100 ZANO, y aparentemente probó si Zano aceptaría un activo inexistente construido. Al día siguiente, se desató la acción. Una transacción acuñó aproximadamente 18.4 millones de ZANO, actualmente valorados en alrededor de $102 millones.
Casi un mes después, el 24 de septiembre, el atacante realizó dos depósitos legítimos de solo 0.05 ZANO cada uno, aparentemente probando la ruta de depósito ordinaria. El 25 de septiembre, se creó otros 18.4 millones de ZANO, seguido por la misma maniobra de 2^64 unidades base utilizando la stablecoin fUSD. En total, eso representa más de $200 millones en tokens de criptomonedas ilícitas.
Aquí está el detalle: Zano había realizado pruebas asistidas por inteligencia artificial (IA), auditorías del equipo y programas de recompensas por errores antes del Hard Fork 6. Ninguno detectó la vulnerabilidad.
«La explotación inicial pasó desapercibida durante casi un mes porque la salida aumentada parecía como cualquier otra salida privada,»
dijo el equipo.
Una vez que las monedas falsas ingresaron al sistema de transacciones confidenciales de Zano, identificar exactamente a dónde fueron se convirtió en una tarea complicada. Las firmas de anillo mezclan los gastos con otras salidas, causando que la incertidumbre se propague cada vez que las monedas se mueven.
Zano escaneó cada salida potencialmente conectada a las tres transacciones de acuñación. Para el bloque 3,878,388, la pista tocó 117,941 salidas creadas a través de 65,301 transacciones. Aproximadamente 165,700 salidas se habían creado posteriormente a partir de la primera acuñación, representando alrededor del 71% de la actividad de la red durante el período.
«Esa es la privacidad funcionando como se esperaba,»
dijo Zano. «Nadie, incluido el equipo de Zano, puede determinar con precisión qué salidas están afectadas.»
Eso dejó al proyecto en un aprieto. Las propiedades de privacidad que los usuarios esperaban de Zano impidieron que los desarrolladores separaran quirúrgicamente las monedas legítimas de las no autorizadas. «La única forma de verificar la integridad del suministro es continuar la cadena desde un punto anterior a la primera explotación,» detalló el equipo. Ese punto fue el bloque 3,833,000, antes del Hard Fork 6.
El Hard Fork 7 reinició la cadena desde allí y deshabilitó las Direcciones Gateway, lo que significa que las transacciones, recompensas de staking y bloques minados del período afectado ya no existen en el libro mayor actualizado. Zano además dijo que los saldos afectados se recuperarán en su totalidad sin cambiar el suministro o el cronograma de emisión de ZANO. La financiación provendrá del fondo de desarrollo, del dinero personal de los miembros del equipo y de contribuyentes externos.
Los intercambios ahora deben revisar un mes de actividad, transacción por transacción, antes de reabrir el acceso.
«No se necesita ninguna acción en este momento,»
dijo el equipo a los usuarios en sus canales de redes sociales. El equipo de Zano anunció el martes que se ha aplicado una solución rápida y que «la red está estable en el…»