Bitget App
Trading Inteligente
Comprar criptoMercadosTradingFuturosEarnWeb3CentroMás
Trading
Spot
Compra y vende cripto con facilidad
Margen
Aumenta tu capital y maximiza tus fondos
Onchain
Aprovechar el mundo on-chain sin esfuerzo
Convert y trade en bloque
Convierte cripto con un solo clic y sin comisiones
Explorar
Launchhub
Obtén ventajas desde el principio y empieza a ganar
Copiar
Copia al trader elite con un solo clic
Bots
Bot de trading con IA sencillo, rápido y confiable
Trading
Futuros USDT-M
Tradea futuros liquidados en USDT
Futuros USDC-M
Futuros liquidados en USDC
Futuros Coin-M
Tradea futuros liquidados en cripto
Explorar
Guía de Futuros
Un recorrido de principiante a experto en el trading de futuros
Promociones de futuros
Gana grandes recompensas
Resumen
Una variedad de productos para incrementar tus activos
Simple Earn
Deposita y retira en cualquier momento para obtener retornos flexibles sin riesgo
On-chain Earn
Obtén ganancias diarias sin arriesgar tu capital
Earn estructurado
Innovación financiera sólida para sortear las oscilaciones del mercado
VIP y Gestión Patrimonial
Aumenta tu patrimonio con nuestro equipo de primer
Préstamos
Préstamos flexibles con alta seguridad de fondos
Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla?

Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla?

BlockBeatsBlockBeats2025/11/04 06:24
Mostrar el original
Por:BlockBeats

El problema clave de este ataque radicó en la lógica del protocolo al manejar transacciones de bajo valor.

Título original: «Análisis técnico de la vulnerabilidad de $120M robados en Balancer»
Fuente original: ExVul Security


Introducción


El 3 de noviembre de 2025, el protocolo Balancer fue atacado por hackers en varias blockchains como Arbitrum y Ethereum, lo que resultó en una pérdida de 120 millones de dólares en activos. El núcleo del ataque se debió a una doble vulnerabilidad: la pérdida de precisión y la manipulación del valor invariante (Invariant).


La infraestructura de Chainlink ha mantenido durante mucho tiempo los más altos estándares en el ámbito Web3, por lo que se ha convertido en la elección natural para que X Layer proporcione herramientas de nivel institucional a los desarrolladores.


El problema clave de este ataque radica en la lógica del protocolo para manejar transacciones de bajo monto. Cuando los usuarios realizan intercambios de pequeñas cantidades, el protocolo llama a la función _upscaleArray, que utiliza mulDown para redondear los valores hacia abajo. Si el saldo y el monto de entrada de la transacción se encuentran simultáneamente en un límite específico de redondeo (por ejemplo, en el rango de 8-9 wei), se produce un error relativo de precisión significativo.


El error de precisión se transmite al proceso de cálculo del valor invariante D del protocolo, lo que provoca que el valor D se reduzca anormalmente. La variación de D afecta directamente el precio del BPT (Balancer Pool Token) en el protocolo Balancer. El hacker aprovechó este precio de BPT artificialmente bajo para ejecutar una ruta de trading previamente diseñada y obtener arbitraje, lo que finalmente resultó en una gran pérdida de activos.


Transacción de explotación de la vulnerabilidad:


Transacción de transferencia de activos:


Análisis técnico


Punto de entrada del ataque


El punto de entrada del ataque es el contrato Balancer: Vault, y la función de entrada correspondiente es la función batchSwap, que internamente llama a onSwap para realizar el intercambio de tokens.


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 0


A partir de los parámetros y restricciones de la función, se pueden obtener varias informaciones:


1. El atacante debe llamar a esta función a través de Vault, no puede llamarla directamente.


2. Dentro de la función se llama a _scalingFactors() para obtener el factor de escala y realizar la operación de escalado.


3. Las operaciones de escalado se concentran en _swapGivenIn o _swapGivenOut.


Análisis del modo de ataque


Mecanismo de cálculo del precio de BPT


En el modelo de pool estable de Balancer, el precio de BPT es un referente importante, ya que determina cuántos BPT recibe el usuario y cuántos activos recibe cada BPT.


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 1


En el cálculo de intercambios del pool:


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 2


La parte que sirve como referencia del precio de BPT es el valor invariante D, es decir, para manipular el precio de BPT es necesario manipular D. Analicemos el proceso de cálculo de D:


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 3


En el código anterior, el cálculo de D depende del array balances escalado. Es decir, se necesita una operación que cambie la precisión de estos balances, lo que provoca un error en el cálculo de D.


Raíz de la pérdida de precisión


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 4


Operación de escalado:


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 5


Como se muestra arriba, al usar _upscaleArray, si el saldo es muy pequeño (por ejemplo, 8-9 wei), el redondeo hacia abajo de mulDown provoca una pérdida de precisión significativa.


Detalle del proceso de ataque


Fase 1: Ajuste al límite de redondeo


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 6


Fase 2: Disparar la pérdida de precisión (vulnerabilidad principal)


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 7


Fase 3: Obtener ganancias aprovechando el precio bajo de BPT


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 8


Como se muestra arriba, el atacante ejecuta múltiples intercambios en una sola transacción usando Batch Swap:


1. Primer intercambio: BPT → cbETH (ajuste de saldo)


2. Segundo intercambio: wstETH (8) → cbETH (disparar la pérdida de precisión)


3. Tercer intercambio: activo subyacente → BPT (obtener ganancias)


Todos estos intercambios ocurren en la misma transacción de batch swap, compartiendo el mismo estado de balances, pero cada intercambio llama a _upscaleArray para modificar el array balances.


Ausencia del mecanismo de Callback


El proceso principal es iniciado por Vault, ¿cómo se acumula la pérdida de precisión? La respuesta está en el mecanismo de transmisión del array balances.


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 9


Analizando el código anterior, aunque Vault crea un nuevo array currentBalances en cada llamada a onSwap, en Batch Swap:


1. Después del primer intercambio, el saldo se actualiza (pero debido a la pérdida de precisión, el valor actualizado puede no ser exacto)


2. El segundo intercambio se calcula en base al resultado del primero


3. La pérdida de precisión se acumula, lo que finalmente provoca que el valor invariante D se reduzca significativamente


Problema clave:


Análisis técnico: Balancer fue hackeado por 120 millones de dólares, ¿dónde estuvo la falla? image 10


Resumen


El ataque a Balancer se puede resumir en los siguientes puntos:


1. La función de escalado utiliza redondeo hacia abajo: _upscaleArray utiliza mulDown para escalar, y cuando el saldo es muy bajo (por ejemplo, 8-9 wei), se produce una pérdida de precisión relativa significativa.


2. El cálculo del valor invariante es sensible a la precisión: el cálculo del valor invariante D depende del array balances escalado, y la pérdida de precisión se transmite directamente al cálculo de D, haciendo que D disminuya.


3. Falta de verificación de la variación del valor invariante: durante el intercambio, no se verifica si la variación del valor invariante D está dentro de un rango razonable, lo que permite que el atacante aproveche repetidamente la pérdida de precisión para bajar el precio de BPT.


4. Acumulación de pérdida de precisión en Batch Swap: en un mismo batch swap, la pérdida de precisión de múltiples intercambios se acumula, lo que finalmente se traduce en una gran pérdida financiera.


Estos dos problemas —pérdida de precisión y falta de verificación— combinados con el diseño cuidadoso de las condiciones límite por parte del atacante, provocaron esta pérdida.


0

Descargo de responsabilidad: El contenido de este artículo refleja únicamente la opinión del autor y no representa en modo alguno a la plataforma. Este artículo no se pretende servir de referencia para tomar decisiones de inversión.

PoolX: Haz staking y gana nuevos tokens.
APR de hasta 12%. Gana más airdrop bloqueando más.
¡Bloquea ahora!

También te puede gustar

Berachain distribuye un binario de hard fork para abordar la explotación de Balancer V2

La Fundación Berachain anunció que ha distribuido el binario del hard fork de emergencia a los validadores. Los validadores detuvieron la red el lunes después de que el exploit en Balancer V2 expusiera vulnerabilidades en el exchange descentralizado nativo de Berachain.

The Block2025/11/04 10:35
Berachain distribuye un binario de hard fork para abordar la explotación de Balancer V2

Más de 1.3 billones de dólares en posiciones de criptomonedas fueron liquidadas cuando bitcoin cayó por debajo de los $104,000, golpeando a un mercado "frágil"

Quick Take Bitcoin ha caído por debajo de los $104,000, lo que ha provocado al menos $1.37 billones en liquidaciones, mayormente en posiciones largas, según datos de CoinGlass. Analistas señalan que el miedo persistente tras la caída del 10 de octubre, los retiros en los ETF, el cierre del gobierno de EE.UU. y la reducción de la liquidez global podrían ser los catalizadores de esta baja.

The Block2025/11/04 10:35
Más de 1.3 billones de dólares en posiciones de criptomonedas fueron liquidadas cuando bitcoin cayó por debajo de los $104,000, golpeando a un mercado "frágil"

Stream Finance detiene retiros y depósitos tras revelar una pérdida de 93 millones de dólares

Quick Take Stream Finance anunció que un gestor de fondos externo reveló una pérdida de 93 millones de dólares en los activos del fondo el lunes. El proyecto ha suspendido los retiros y depósitos, y está trabajando con un estudio jurídico para investigar el incidente.

The Block2025/11/04 10:35
Stream Finance detiene retiros y depósitos tras revelar una pérdida de 93 millones de dólares

Los ETFs de Bitcoin pierden 187 millones de dólares a pesar de la acumulación de STH: BTC se desploma a 104K

Los ETF de Bitcoin registraron una salida neta de 186,5 millones de dólares mientras BTC cayó al nivel de 104,000 dólares en medio de una liquidación masiva.

Coinspeaker2025/11/04 10:15
Los ETFs de Bitcoin pierden 187 millones de dólares a pesar de la acumulación de STH: BTC se desploma a 104K