Foto: Only background/Shutterstock
Dos errores de programación en una actualización de Gains Network permitieron a algunos comerciantes de criptomonedas obtener cuantiosos beneficios. Según algunos desarrolladores que utilizan el mismo código de programación, sus aplicaciones no tendrían los mismos errores.
Zellic descubre errores en una actualización específica
La red Gains Network es un ecosistema independiente basado en finanzas descentralizadas (DeFi) y productos en la red Polygon y la red Arbitrum. La empresa ha desarrollado una aplicación específica llamada «gTrade». Esta aplicación permite a los usuarios operar con apalancamiento. Desde su lanzamiento en mayo de 2023, la aplicación ya ha procesado más de $25.000 millones en volumen de operaciones.
El 19 de abril, la empresa de seguridad de blockchain Zellic descubrió los errores y notificó directamente a los desarrolladores de actualizaciones Gambit Trade, Holdstation Exchange y Krav Trade. Según ellos, sus actualizaciones no contendrían los mismos errores de programación. Sin embargo, otras actualizaciones de Gains podrían contener estos errores.
Según Zellic, varias aplicaciones dirigidas al trading DeFi se basan en el código fuente de Gains Network, entre ellas Gambit Trade y Holdstation. La empresa descubrió los fallos estudiando una actualización específica. La empresa no ha querido precisar de qué actualización se trata.
Dos errores con importantes consecuencias
Los fallos en la actualización permitían a los operadores obtener un beneficio del 900% a través de órdenes de compra y venta, independientemente del precio de la criptomoneda con la que comerciaban.
En el primer error de programación, el precio de stop-loss introducido por el operador se registró como el precio actual de la criptomoneda. Normalmente, la aplicación utiliza la diferencia entre el precio de stop-loss y el precio actual para calcular el beneficio o la pérdida del operador. Ahora, si el operador introduce un precio de stop-loss superior al precio actual, puede obtener un beneficio de hasta el 900%.
El otro error de programación se producía al cerrar una operación. Cuando un operador cerraba una operación, el punto de stop-loss o de toma de beneficios se registraba como una variable denominada «int». Esta variable se utilizaba para calcular el beneficio en porcentaje. Así, cuando un operador elegía un punto de stop-loss o take profit que era exactamente igual al valor máximo de un número positivo en Ethereum, podía obtener el máximo beneficio del 900% con un apalancamiento de x9.
El programa tenía una comprobación integrada que verificaba si se había introducido este valor exacto como stop-loss o take profit. Pero la aplicación sólo realiza esta comprobación al abrir la operación. Así que después de la apertura, los operadores todavía podían ajustar su stop-loss o take profit al valor específico.