El 30 de octubre a las 4:24 a. m. (hora de Pekín, en adelante la misma), una billetera caliente de Binance en Ethereum transfirió en una sola transacción 167.464 ETH, junto con otros tokens, a una misma dirección. Según el análisis retrospectivo de LlamaRisk, proveedor de servicios de gestión de riesgos de Aave, en los minutos siguientes esa dirección recibió otros 28.006 ETH de otra billetera caliente de Binance en Ethereum; también se transfirieron fondos desde Arbitrum, Optimism y Avalanche.
A las 10:25 a. m., la versión oficial de Binance fue la siguiente: se estima que el impacto total ronda los 6.300 millones de dólares y que hasta ahora se han congelado unos 3.000 millones en la cadena; Binance cubrirá todas las pérdidas con el fondo SAFU y fondos de la empresa, y los activos de los usuarios están seguros.
CZ publicó a las 10:23: «¡Los fondos de los usuarios están SAFU!... Duele, pero sobreviviremos». Estoy dispuesto a creerle; es mi opinión personal.
Este artículo no pretende determinar quién tuvo la culpa. Quiero hablar de cómo, durante esa noche, se accionaron uno tras otro tres tipos distintos de «botón de pausa», y cada uno nos recuerda algo: ¿bajo las reglas de quién está tu dinero?
I. Primer botón: el sistema de firmas del exchange
Investigación preliminar de Binance, a las 10:25: el incidente podría estar relacionado con el hackeo del portátil de un ingeniero de DevOps. El atacante habría usado el acceso para entrar en un contenedor de servicio y enviar una transacción de retiro no autorizada. Binance afirmó que, por el momento, no había encontrado indicios de que se hubiera filtrado ninguna clave privada de monedero. La actualización de las 16:47 añadió que la investigación posterior había detectado otros puntos de acceso, además de ese ordenador. Se trató de un ataque complejo y los hechos aún se están verificando.
Hay un detalle que es fácil pasar por alto: no se encontraron indicios de una filtración de claves privadas y, aun así, el dinero salió.
En un exchange centralizado, lo que ves es el saldo de tu cuenta. Que el dinero pueda salir depende del sistema interno de la plataforma que permite enviar retiros. Según la información oficial disponible, el problema estuvo en un componente de ese sistema, no en las claves privadas. Habrá que esperar al informe de revisión del incidente que Binance se comprometió a publicar para conocer la causa raíz completa.
Así que el exchange pulsó el primer botón: primero suspendió los depósitos y retiros; después, los depósitos volvieron a la normalidad, pero los retiros siguieron suspendidos. La actualización de las 16:47 indicó que las salidas de fondos se habían detenido cuando se suspendieron los retiros y que, según lo previsto, el servicio se reanudaría en 45 horas. Para la gestión de riesgos, fue una medida necesaria; para los usuarios, significa que no pueden retirar sus monedas hasta que se restablezca el servicio.
II. Segundo botón: el emisor de la stablecoin
El CEO de Tether, Paolo Ardoino, publicó a las 05:25 que se habían congelado más de 1.567 millones de $USDT relacionados con el incidente. El CEO de Circle, Jeremy Allaire, afirmó a las 05:18 que, en coordinación con las fuerzas del orden, se habían congelado más de 800 millones de USDC. Zach Witkoff, cofundador de World Liberty Financial, dijo que se habían congelado 27 millones de dólares en USD1. Por su parte, Ripple indicó que estaba congelando los RLUSD relacionados. Según el investigador on-chain ZachXBT, el comité de seguridad de Arbitrum congeló unos 30,5 millones de dólares.
Solo las cifras anunciadas para USDT y USDC suman más de 2.300 millones de dólares. Esta vez, la congelación estuvo del lado de las víctimas.
Pero esa misma noche también hubo lugares a los que las congelaciones no llegaron. Un informe publicado por LlamaRisk en el foro de gobernanza de Aave muestra que, entre las 04:58 y las 05:01, un monedero vinculado al atacante depositó 60 millones de $USDT como garantía en el mercado principal de Aave V3 en Ethereum y pidió prestados 19.762 WETH, que entonces valían unos 44,6 millones de dólares. Esto ocurrió unos 40 minutos antes de que Aave congelara el mercado por primera vez, a las 05:42.
Desde el punto de vista del mecanismo, los USDT depositados en Aave están en manos del contrato del fondo de Aave, no en una dirección propia del atacante. Congelar únicamente la dirección del atacante no afecta a esos USDT; para congelarlos, habría que congelar el contrato del fondo, lo que afectaría a todos los depositantes. Congelar direcciones es muy eficaz, pero tiene sus límites.
III. Tercer botón: la gobernanza del propio protocolo DeFi
A continuación, Aave pulsó el tercer botón. El informe explica que el atacante podía convertir los fondos robados en cualquier activo disponible en la plataforma; por eso, congelar únicamente los mercados del token robado habría dejado abiertas otras vías de acceso. El grupo de respuesta conjunta decidió congelar los mercados en todas las redes, excepto el mercado Horizon RWA, cuyos activos de garantía están sujetos a permisos. Entre las 05:42 y las 07:04, hora de Pekín, la multisig guardian de Aave firmó y ejecutó transacciones para congelar 175 reservas en 16 redes de V3 y 117 reservas en 4 redes de V4. Durante la congelación, no se podían realizar nuevos depósitos ni préstamos, pero sí pagar préstamos y retirar fondos; las liquidaciones continuaron con normalidad.
Hay una frase del informe que merece la pena leer: eligieron congelar porque guardian podía revertir la medida; si hubieran optado por reducir los límites, habría hecho falta una votación de gobernanza y restablecerlos habría llevado unos cinco días.
Así que DeFi también tiene botones. La diferencia es que el botón está escrito en el contrato: quién puede pulsarlo, hasta dónde llegan sus efectos y si se puede revertir se puede consultar en la cadena y en los informes públicos. El informe también detalló la posición del atacante: unos 59,9 millones de dólares en USDT como garantía frente a una deuda de unos 43,8 millones de dólares. Estaba sobrecolateralizada y seguía sujeta a las reglas de liquidación habituales. Según el informe, no suponía un riesgo para los depositantes de Aave.
IV. Aplicar las mismas tres preguntas a f(x)
Después de esa noche, usé las mismas preguntas para analizar el protocolo f(x): ¿quién puede congelar fxUSD? ¿Quién puede pausar el protocolo? ¿Quién puede modificar los contratos?
Primero, veamos qué dice el propio equipo. En su presentación del 28 de octubre, f(x) afirmó: nadie puede transferir tus fondos a su antojo; las posiciones se mantienen en contratos transparentes en la cadena; el protocolo se rige por la comunidad y las actualizaciones principales están sujetas a un bloqueo temporal.
Contrasté esas afirmaciones punto por punto con los contratos de la red principal de Ethereum y el código público. Los datos on-chain se consultaron el 30 de octubre a las 17:13. Todo lo que sigue corresponde a la versión actual.
1. ¿Quién puede congelar la fxUSD de una dirección concreta?
La implementación de fxUSD, verificada y con el código fuente publicado en el explorador de bloques, no tiene lista negra ni función para congelar direcciones individuales. Su función de quema solo puede ser llamada por el contrato PoolManager y, en el código de PoolManager, las llamadas a esa función queman la fxUSD de la propia persona que inicia la operación. Según el código actual, el token no tiene un mecanismo para congelar direcciones individuales.
2. ¿Quién puede pausar el protocolo?
El contrato PoolManager cuenta con un rol de emergencia (EMERGENCY_ROLE) que puede pausar las operaciones del protocolo. También se pueden pausar por separado los préstamos y los retiros de cada fondo. Este mecanismo se aplica a nivel de protocolo, no a direcciones individuales, y no afecta a las transferencias de fxUSD. Cuando lo consulté, el protocolo no estaba pausado.
3. ¿Quién puede modificar los contratos?
fxUSD, PoolManager y el fondo de estabilidad son contratos actualizables. Consulté la cadena y comprobé que los contratos de gestión de actualizaciones de los tres pertenecen al mismo contrato de bloqueo temporal, con una demora mínima de 259.200 segundos, es decir, 3 días. Para reemplazar el código de los contratos, primero hay que programar la actualización en la cadena con al menos 3 días de antelación. Esto coincide con lo que afirma el equipo: «las actualizaciones principales están sujetas a un bloqueo temporal».
4. Garantía y mecanismo de estabilidad de fxUSD
La documentación oficial indica que fxUSD es una stablecoin totalmente colateralizada y que sus únicos activos de garantía son stETH de Lido y WBTC. Los invariantes del protocolo garantizan que fxUSD esté colateralizada al 100 %, y xPOSITION gestiona la parte sobrecolateralizada del protocolo. El fondo de estabilidad acepta depósitos de fxUSD o USDC y mantiene la paridad mediante el intercambio automático entre ambos. Según los datos on-chain que consulté, el suministro total de fxUSD es de unos 73,88 millones de tokens; el fondo de estabilidad contiene alrededor de 66,69 millones de fxUSD y 9,79 millones de USDC.
En cuanto a los riesgos, la documentación explica que los umbrales de reequilibrio y liquidación se han calibrado cuidadosamente para evitar deudas incobrables. En el caso extremadamente raro de que fallen ambos mecanismos, el protocolo podría generar deuda incobrable. Para afrontarla, destinaría una parte considerable de sus ingresos a un fondo de reserva; si este no fuera suficiente, las pérdidas se repartirían entre todos los xPOSITION. Además, si USDC perdiera excepcionalmente su paridad, el protocolo dejaría de mantenerla y suspendería temporalmente los depósitos para proteger a los usuarios.
5. El comportamiento de f(x) durante esa noche
A las 17:20, f(x) publicó un mensaje en el que primero expresó su apoyo a los usuarios afectados y reconoció el compromiso de Binance de cubrir todas las pérdidas de los usuarios. También compartió estos datos: durante las últimas 24 horas, las liquidaciones de todo el mercado sumaron unos 1.540 millones de dólares, mientras que en f(x) no hubo ninguna. Según la presentación oficial, cuando hay una volatilidad intensa, las posiciones de f(x) se reequilibran automáticamente para ayudar a soportarla.
V. FX100: la misma idea aplicada a los contratos perpetuos
FX100, también creado por AladdinDAO, es un DEX de contratos perpetuos en Base. La documentación incluye varios puntos directamente relacionados con el tema de hoy:
No es custodial: el protocolo no mantiene saldos de cuentas. Cada posición está respaldada únicamente por su propia garantía, que se deposita al abrirla y se devuelve al cerrarla. Las posiciones están aisladas unas de otras.
No hay libro de órdenes. Las operaciones se ejecutan al precio del oráculo y la contraparte de todas las operaciones es una bóveda común formada por USDC depositados por proveedores de liquidez. Al lanzamiento, USDC será el único activo de garantía y liquidación.
La fuente principal de precios es Chainlink Data Streams, con Pyth como verificación cruzada. Si los precios de ambas fuentes se desvían más allá de un umbral, o si los precios están desactualizados, se rechazan las operaciones correspondientes. Si falla el oráculo principal, el protocolo congelará las operaciones y las liquidaciones; no cambiará automáticamente a la fuente de precios de respaldo. El cambio requiere una acción de gobernanza y está sujeto a un bloqueo temporal. La documentación explica que congelar es la opción más prudente: ante un fallo del oráculo, el resultado es una interrupción del servicio, no operaciones a precios incorrectos.
Las nuevas posiciones no pueden liquidarse ni reducirse automáticamente durante los 15 minutos posteriores a su apertura. Según la documentación, este periodo no elimina tu precio de liquidación, sino que te da tiempo para reaccionar a las condiciones del mercado, en lugar de que el movimiento te cierre la posición directamente. El periodo empieza a contar desde la apertura inicial; añadir fondos a la posición no lo reinicia. Al cabo de 15 minutos, se reanudan las reglas de liquidación habituales.
FX100 se encuentra actualmente en fase de testnet. La documentación indica que el acceso requiere una invitación, que los parámetros podrían cambiar antes del lanzamiento en mainnet y que las direcciones de los contratos y los informes de auditoría se publicarán antes del lanzamiento. El informe de la semana 12 de la testnet muestra que participaron en las pruebas unos 52.000 monederos y alrededor de 2,42 millones de posiciones.
VI. Mi opinión
Después de este incidente, no creo que la respuesta sea «los exchanges no son seguros, trasladémoslo todo a la cadena». Binance se comprometió a cubrir todas las pérdidas con el fondo SAFU y fondos de la empresa. Según la compañía, ya se han congelado unos 3.000 millones de dólares. Esa es la protección que puede ofrecer una plataforma centralizada.
Quiero señalar otra cosa: detrás de cada activo hay un botón de pausa. En un exchange, está en los sistemas de gestión de riesgos y retiros; en una stablecoin, lo tiene el emisor; en DeFi, está escrito en los contratos y en las multisig.
La verdadera pregunta no es «¿hay un botón?», sino estas tres:
¿Quién puede pulsarlo? ¿Hasta dónde llegan sus efectos? ¿Puedes verlo antes de que lo pulsen?
Según el código actual, la respuesta para fxUSD es la siguiente: el token no tiene un mecanismo para congelar direcciones individuales; sí cuenta con una pausa de emergencia a nivel de protocolo, y las actualizaciones están sujetas a un bloqueo temporal de 3 días. Todo esto se puede verificar directamente en la cadena. Los contratos y la auditoría de FX100, según la documentación, se publicarán antes del lanzamiento en mainnet.
Lo que conviene seguir de ahora en adelante: cuándo se reanudarán los retiros de Binance, el informe de revisión del incidente y la prueba de reservas actualizada, cuándo descongelará Aave los mercados por etapas y cómo avanza FX100 hacia el lanzamiento en mainnet.
Este artículo es un registro de investigación personal y no constituye asesoramiento de inversión. Los protocolos en cadena conllevan riesgos relacionados con los contratos inteligentes, los oráculos, los activos de garantía y la pérdida de paridad de las stablecoins. Investiga por tu cuenta y toma tus propias decisiones. $BTC $ETH $USDC #加密杠杆头寸24小时清算15亿美元
