
La empresa Chain Security llevó a cabo un proceso de revisión de la seguridad de Tron (TRX), la red creada por Justin Sun. Descubrió “varias vulnerabilidades” que ya fueron resueltas, según detalló la compañía de seguridad el 30 de septiembre pasado.
Chain Security, destinada a auditorías de contratos inteligentes y soluciones de seguridad para redes y aplicaciones descentralizadas (dApps), informó que su estudio se centró en el mecanismo de consenso de la red, en la ejecución de transacciones y en la Máquina Virtual Tron (TVM).
La compañía, en un hilo de X, dejó en claro que si no hubieran detectado y solucionado estas fallas, y de haber sido explotadas, “podrían haber afectado al rendimiento de la red o causado interrupciones”. De este modo, Chain Security explicó los siguientes problemas resueltos.
Ciertos nodos pudieron bloquear transacciones legítimas
La solución de Chain Security apuntaló el nuevo código de Tron para que filtre los bloques de productores inválidos antes de procesarlos. Esto asegura que solo los bloques válidos sean considerados, manteniendo la consistencia de la red y evitando la censura de bloques legítimos.
Tron utiliza un mecanismo de consenso basado en Delegated Proof of Stake (DPoS, Prueba de Participación Delegada) y Practical Byzantine Fault Tolerance (PBFT, Tolerancia a Fallos Bizantinos Práctica).
En el primero de ellos, los usuarios votan por un conjunto de delegados (superrepresentantes) que son responsables de validar las transacciones y generar nuevos bloques.
Mientras que el segundo trabaja para asegurar que dos tercios de los nodos en la red lleguen a un acuerdo incluso si existen nodos con fallas o que actúen de manera maliciosa (lo hace para sostener la red en funcionamiento).
El error resuelto estuvo ligado a este último mecanismo de consenso. Se trata de la “censura no permitida de bloques de bifurcación (fork blocks)”. Esta expresión se refiere a la acción de un atacante que intenta bloquear o eliminar bloques legítimos en una cadena de bloques.
Chain Security identificó que un nodo podría bloquear o eliminar esos bloques legítimos creando una cadena de bifurcación con bloques falsos. Si la red detectaba esta bifurcación, podría descartar toda la cadena, incluidos los bloques válidos, lo que resultaba en inconsistencias en la red.
La red Tron consumía recursos que ralentizaba las transacciones
Chain Security se ocupó de solventar un exceso de “consumo de recursos por bloques no firmados por testigos”.
En la red Tron, los testigos son nodos que validan y firman los bloques para asegurar su legitimidad. Un bloque no firmado por testigos es un bloque que no ha pasado por este proceso de validación.
Cada bloque procesado consume memoria, requiere poder de cómputo y aunque los bloques no validados eventualmente se descarten, inicialmente ocupan espacio de almacenamiento.
Entonces si la red está ocupada procesando bloques no validados, se utiliza una cantidad significativa de recursos que podrían haberse destinado a bloques válidos y transacciones legítimas.
De modo tal que, procesar esos bloques no validados, podría ralentizar la red y su rendimiento general. Esto puede llevar a tiempos de transacción más largos y una menor eficiencia en la ejecución de contratos inteligentes.
Tron resolvió una vulnerabilidad en su Máquina Virtual
Por otro lado, la compañía de seguridad detectó un error en el sistema de comunicación del mecanismo de consenso PBFT (Tolerancia a Fallos Bizantinos Práctica) que está directamente relacionado con la MVT (máquina virtual de Tron).
En el contexto de Tron, los mensajes PBFT son cruciales para el funcionamiento del mecanismo de consenso que asegura la ejecución segura y eficiente de contratos inteligentes en la MVT.
Ese error en los mensajes PBFT podría haber generado una expansión ilimitada de la memoria, lo que potencialmente llevaría a un ataque de Denegación de Servicio (DoS). Esto significa que, sin la actualización, la red podría haber sido vulnerable a ataques que sobrecargaran la memoria del sistema, afectando su rendimiento y disponibilidad.
El sistema fue actualizado para asegurar que los mensajes PBFT solo se procesen cuando PBFT esté habilitado. Esto evita el consumo excesivo de memoria y protege la red contra posibles ataques de DoS.
En última instancia, Chain Security comunicó que hubo otras fallas o vulnerabilidades resueltas, no obstante su reporte se centró en lo aquí dispuesto.