Tendencias del momento
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Primero y ante todo, mis más sinceras condolencias al equipo de @Balancer así como a todos los afectados por este exploit.
Siempre es un día difícil cuando hay un hackeo significativo en DeFi como este, y más aún de un protocolo OG. Más allá del costo en dólares de los fondos robados, esto realmente perjudica la imagen de todo el cripto y DeFi en su conjunto y retrasa nuestra industria varios meses.
La realidad es que Solidity es simplemente un lenguaje demasiado inseguro para ser realmente el que albergue el futuro de las finanzas. Solidity tiene una superficie demasiado grande que lo hace propenso a hackeos, con los desarrolladores dependiendo de verificaciones manuales para todo, desde controles de acceso hasta matemáticas precisas, y es exactamente por eso que se inventaron lenguajes orientados a activos como Move.
Después de investigar un poco, así fue como se hackeó Balancer: Los atacantes explotaron errores de redondeo en los intercambios de pools estables para distorsionar la invariante del pool, una constante matemática clave que representa la liquidez equilibrada. Comenzaron con intercambios de préstamos flash de BPT (Tokens de Pool de Balancer) por un activo subyacente como cbETH, empujando los saldos a límites de redondeo exactos (por ejemplo, escalados a 9). Luego, intercambiaron entre activos como wstETH y cbETH con cantidades elaboradas (por ejemplo, ~8.918 redondeado a la baja a 8 debido a la escala de punto fijo), subestimando los cambios en las reservas y desinflando artificialmente la invariante (D).
Esto hundió el precio de BPT (D / totalSupply), permitiendo a los atacantes realizar un intercambio inverso para acuñar BPT en exceso a bajo costo, quemarlo para retirar activos subyacentes a tasas "normales" y quedarse con la diferencia, esencialmente robando a los proveedores de liquidez. Las ganancias se acumularon en los saldos internos del Vault y se retiraron a través de manageUserBalance con WITHDRAW_INTERNAL, sin necesidad de eludir la autorización directa ya que el error matemático subsidió el robo. Es una pérdida de precisión en las bibliotecas de punto fijo manual de Solidity que se traduce en drenajes masivos.
La forma en que Move habría evitado este hackeo por completo es incorporando la seguridad en su núcleo: Los activos se tratan como recursos con tipos lineales que imponen una conservación estricta (sin duplicados, caídas o pérdidas no intencionadas), y las matemáticas utilizan enteros exactos u64/u128 con abortos de desbordamiento incorporados, sin flotantes, sin deslizamientos de redondeo explotables en cálculos complejos.
En un DEX basado en Move, las funciones de intercambio verificarían y actualizarían atómicamente las invariantes a través de la VM, abortando ante cualquier desequilibrio, como:
public entry fun swap(pool: &mut LiquidityPool, in: Coin, out_amt: u64): Coin {
assert!(coin::value(&in) >= calculate_required_in(pool, out_amt), E_INSUFFICIENT_INPUT);
coin::merge(&mut pool.coin_x_reserve, in);
let out = coin::extract(&mut pool.coin_y_reserve, out_amt);
assert!(check_invariant(pool), E_INVARIANT_VIOLATION);
out
}
Además, las transacciones atómicas eliminan los riesgos de reentrancia. Por eso, los ecosistemas Move tienen muchas menos explotaciones en comparación con el EVM.
Es hora de que los constructores de DeFi adopten lenguajes como Move que priorizan la seguridad desde el principio, para que finalmente podamos construir un futuro financiero resiliente sin contratiempos prevenibles como este.
Parte superior
Clasificación
Favoritos

