Tipos de ataques de oráculo de cadena de bloques, casos y estrategias de defensa de múltiples capas

Avanzado1/7/2025, 8:36:55 AM
Desde la aparición de DeFi, la calidad y la seguridad de los datos en cadena han sido preocupaciones primordiales para los desarrolladores, especialmente en lo que respecta a los oráculos: los puentes críticos entre los datos en cadena y fuera de cadena que a menudo son objeto de ataques. Este artículo explora casos de uso de oráculos, patrones comunes de ataque y estrategias de prevención para la manipulación de oráculos. Proporciona orientación práctica para los desarrolladores sobre la integración segura de oráculos mientras explica su papel vital en el ecosistema de la cadena de bloques. A través del análisis de incidentes recientes como UwU Lend y Banana Gun, destacamos cómo la confiabilidad de los datos da forma fundamental a la estabilidad del ecosistema DeFi.

Introducción

Desde el surgimiento de DeFi en 2019 hasta su madurez gradual para 2024, los problemas de datos han sido consistentemente una preocupación central para los desarrolladores. Esto se debe a que el funcionamiento de DeFi se basa en datos precisos y en tiempo real en la cadena, y la calidad de los datos afecta directamente la seguridad, eficiencia y experiencia del usuario de los protocolos. Los datos son centrales para el intercambio de valor y el fundamento de los mecanismos de confianza del protocolo. Para los contratos inteligentes, los datos funcionan como los hechos de entrada, pero los propios contratos inteligentes no pueden verificar activamente la autenticidad de los datos. En cambio, dependen completamente de los datos proporcionados por fuentes externas. Esta característica significa que si los datos de entrada se alteran o son inexactos, el contrato inteligente los acepta pasivamente, lo que potencialmente conlleva riesgos sistémicos. Por lo tanto, garantizar la descentralización, confiabilidad y usabilidad de los datos sigue siendo un desafío en curso. Los desafíos surgen de dos problemas principales: en primer lugar, la mayoría de los datos están controlados por instituciones o plataformas centralizadas; en segundo lugar, el acceso a los datos es difícil debido a los desafíos significativos para mantener la confiabilidad en todo el proceso, desde la fuente hasta los canales de transmisión y el destino final.

Como puente entre las interacciones de datos en cadena y fuera de ella, los oráculos a menudo se convierten en los principales objetivos de los ataques. Una vez que se manipula un oráculo, los atacantes pueden explotar información de precios o de mercado falsa para ejecutar ataques económicos a gran escala, como la manipulación del oráculo y los ataques de préstamos flash que ocurrieron con frecuencia en 2021 y 2022. Incluso en 2024, esta amenaza persiste, como lo destacan los recientes incidentes que involucran a UwU Lend y Banana Gun. Estos eventos continúan recordándonos que la calidad y seguridad de los datos del oráculo determinan el éxito o el fracaso de los protocolos individuales y repercuten directamente en la estabilidad de todo el ecosistema DeFi.

Este artículo se centrará en la aplicación de oráculos en la cadena de bloques, los tipos de ataques y los métodos para prevenir manipulaciones comunes de oráculos. Su objetivo es educar a los lectores sobre los conceptos básicos y la importancia de los oráculos, aumentar la conciencia de seguridad y proporcionar recomendaciones prácticas para que los desarrolladores integren de forma segura los oráculos en contratos inteligentes.

Conceptos Fundamentales de Oráculos

Definición y Rol de los Oráculos

Un oráculo es una interfaz crítica entre la cadena de bloques y el mundo externo. Es responsable de importar datos fuera de la cadena a la cadena de bloques, como precios de mercado, información meteorológica o resultados de eventos, lo que permite a los contratos inteligentes acceder a información externa. Dada la naturaleza inherentemente cerrada de las cadenas de bloques, los oráculos desempeñan un papel vital en áreas como DeFi, mercados de predicción, seguros y juegos. Además de abordar las limitaciones de la cadena de bloques, los oráculos facilitan la interacción entre los contratos inteligentes y los datos del mundo real, ampliando el alcance de la tecnología de la cadena de bloques. Sin embargo, los oráculos también enfrentan ciertos desafíos y puntos de dolor:

  • La precisión de los oráculos es crucial. Si la fuente de datos no es confiable o está comprometida, puede provocar una ejecución incorrecta de los contratos inteligentes, lo que resulta en pérdidas financieras.
  • Los propios oráculos pueden convertirse en objetivos de ataques, como manipulando los datos del oráculo para transmitir información falsa, lo que lleva a la manipulación del mercado y la interrupción de las operaciones del protocolo.
  • Si bien las redes de oráculos descentralizados pueden reducir los puntos de falla individuales, persisten los debates sobre su grado de descentralización y confiabilidad. Mejorar la confiabilidad y seguridad de los oráculos sigue siendo un desafío tecnológico clave.

Habiendo entendido la definición básica y el papel de los oráculos, exploraremos brevemente los tipos de oráculos, sus casos de uso y los riesgos de seguridad a los que se enfrentan.

Tipos de Oráculos: Centralizados vs. Descentralizados

Los oráculos se pueden clasificar ampliamente en dos modelos de implementación: centralizados y descentralizados. Los oráculos centralizados como Oraclize suelen depender de una única fuente de datos para proporcionar información fuera de la cadena. Combina soluciones de hardware y software, aprovechando tecnologías como TLSNotary y Android Proof para garantizar la precisión de los datos. Estos oráculos destacan por su eficiencia y rendimiento estable. Sin embargo, su dependencia de una única fuente confiable socava la naturaleza descentralizada de la cadena de bloques, introduce cuellos de botella en un solo punto y limita la escalabilidad, lo que presenta desafíos tanto en seguridad como en extensibilidad.

Por el contrario, oráculos descentralizados como Chainlink priorizan la seguridad del sistema y la transparencia de la confianza. En la arquitectura de Chainlink, la recopilación y validación de datos son realizadas por múltiples nodos independientes, distribuidos entre diferentes participantes, reduciendo el riesgo de puntos únicos de falla. Al coordinar operaciones dentro y fuera de la cadena, Chainlink asegura la diversidad y confiabilidad de los datos. Este diseño descentralizado es particularmente efectivo en aplicaciones financieras, mejorando la resistencia del oráculo a los ataques. Sin embargo, este enfoque implica compensaciones en eficiencia y costos, lo que lo hace menos adecuado para casos de uso de baja frecuencia.

La importancia de los oráculos descentralizados radica en reducir el riesgo de manipulación de las fuentes de datos y prevenir posibles abusos por parte de partes de confianza únicas. La descentralización garantiza que los oráculos ya no dependan de unas pocas fuentes de datos, sino que mejoren la seguridad y confiabilidad de los datos a través de múltiples nodos distribuidos. Sin embargo, los oráculos descentralizados también enfrentan desafíos, como mantener mecanismos de incentivos efectivos a largo plazo y garantizar la estabilidad general de la red de oráculos. A continuación, exploraremos los riesgos de seguridad asociados con los oráculos descentralizados y sus posibles soluciones.

Principios operativos y riesgos de los oráculos

Oráculos con diferentes fuentes de datos: Off-Chain y On-Chain

En las operaciones de Oracle, la fuente y el método de transmisión de los datos afectan directamente a su seguridad y confiabilidad. Los Oráculos obtienen datos de dos tipos de fuentes: fuera de la cadena y en la cadena. El origen y los métodos de adquisición de datos difieren entre estos dos enfoques:

  • Datos Fuera de la Cadena: La velocidad de respuesta a la volatilidad para los datos fuera de la cadena depende de las características de la fuente de datos y el mecanismo de transmisión. Por ejemplo, los datos de precios fuera de la cadena de los intercambios suelen actualizarse rápidamente. Sin embargo, otros datos fuera de la cadena (como los datos de los mercados financieros tradicionales o los datos generados mediante cálculos complejos) pueden experimentar retrasos. La transmisión de datos fuera de la cadena a menudo depende de un número limitado de instituciones privilegiadas para enviar datos a la cadena de bloques. Por lo tanto, es crucial garantizar que estas instituciones no alteren maliciosamente los datos o envíen actualizaciones incorrectas bajo presión. Esta dependencia potencialmente amenaza la credibilidad y utilidad de los datos en las cadenas de bloques descentralizadas.
  • Datos en la Cadena: Los datos en la cadena no requieren ningún acceso privilegiado y siempre están actualizados, ofreciendo sólidas capacidades en tiempo real. Sin embargo, esta misma característica los hace altamente susceptibles a la manipulación por parte de atacantes, lo que podría llevar a resultados catastróficos. Los desarrolladores pueden acceder fácilmente a los datos en la cadena consultando los intercambios descentralizados (DEX) para calcular los precios en tiempo real.

Oráculos On-Chain y Off-Chain
La elección entre fuentes de datos fuera de la cadena y dentro de la cadena depende de los requisitos específicos del proyecto y los compromisos inherentes de cada enfoque. Los desarrolladores deben evaluar y abordar cuidadosamente los riesgos asociados. Esta necesidad de equilibrio ha llevado a una investigación continua sobre métodos de manipulación de datos más seguros y confiables. Las siguientes secciones examinarán los principios operativos de los oráculos y sus posibles vulnerabilidades.

Un breve ejemplo de desarrollo de Oracle

Esta sección presenta un escenario de desarrollo simplificado para ayudar a los lectores a comprender los casos de uso de los oráculos en la cadena de bloques. En el desarrollo real de contratos inteligentes de cadena de bloques, existen múltiples formas en las que un contrato inteligente puede acceder a datos de precios de los oráculos. Los métodos comunes incluyen llamar directamente al contrato del oráculo o utilizar tecnologías como Chainlink CCIP (Cross-Chain Interoperability Protocol). Las principales diferencias entre estos métodos son:

  1. Si la aplicación de destino reside en la misma cadena de bloques, los desarrolladores suelen llamar directamente al contrato del oráculo para recuperar rápidamente información de precios en tiempo real.
  2. Para aplicaciones DeFi multi-cadena, Chainlink CCIP es comúnmente utilizado. CCIP proporciona una forma segura de transmitir datos entre diferentes cadenas de bloques en escenarios multi-cadena.

Aquí, demostramos el uso de una llamada directa a un contrato oracle. Imagina que eres un desarrollador de contratos inteligentes en el ecosistema de Ethereum, y necesitas obtener datos de precios de ETH/USD utilizando un oracle en tu contrato. Primero, definirías una interfaz para conectarte al contrato oracle y escribirías una función para obtener los datos de precios.

Este ejemplo de contrato simple muestra cómo el PriceConsumerEl contrato recupera datos de precios en tiempo real y los utiliza para tomar decisiones. Esto proporciona una comprensión básica de cómo interactúan los contratos inteligentes con los oráculos para acceder a datos de precios. A continuación, analizaremos los riesgos asociados desde dos perspectivas:

Desde una perspectiva de contrato interno que utiliza oráculos, los atacantes pueden explotar mercados con poca liquidez o pequeños intercambios para manipular los precios de ETH/USD a través de grandes transacciones, causando fluctuaciones de precios anormales. Dado que algunos oráculos dependen de la agregación de datos de múltiples plataformas de negociación, estas fluctuaciones anormales pueden propagarse rápidamente al método fetchPrice() del PriceConsumer, lo que conduce a distorsiones de precios. Esta situación suele surgir cuando las fuentes de datos de los oráculos están demasiado centralizadas y los riesgos no están suficientemente diversificados, lo que hace que el sistema sea más vulnerable a la manipulación de precios.

Desde una perspectiva de contrato externo, el análisis debe considerar diferentes escenarios de aplicación. Supongamos que el contrato PriceConsumer se utiliza en una plataforma de préstamos donde los usuarios pueden depositar ETH como garantía para pedir prestados otros activos. Los atacantes primero usan préstamos flash para pedir prestadas grandes cantidades de fondos y depositan temporalmente estos fondos en creadores de mercado automáticos (AMM) u otras piscinas de liquidez. Si el AMM tiene poca profundidad de negociación, una gran cantidad de un solo activo que entra rápidamente en la piscina causará directamente deslizamiento de precio.

En este escenario, las grandes transacciones del atacante alteran el precio reportado por el AMM, lo que luego se refleja en el precio manipulado del oráculo. Después de manipular el precio, el atacante podría obtener beneficios de diversas formas, como:

  1. La liquidación de garantías en protocolos de préstamos: El precio manipulado podría desencadenar la liquidación de ciertos activos garantizados. El atacante podría entonces comprar estos activos a un precio bajo durante la liquidación para obtener ganancias.
  2. Arbitraje entre Plataformas: Si el precio manipulado crea una disparidad significativa de precios entre las plataformas, el atacante podría explotar esta diferencia para ejecutar operaciones de arbitraje rentables.

Una vez que el atacante completa sus operaciones, puede retirar inmediatamente los fondos, restaurar el precio de AMM y devolver el préstamo flash con intereses, concluyendo el proceso de manipulación.

A continuación, nos adentraremos en una discusión más profunda, analizando casos específicos de ataques de oráculo, sus métodos y examinando su impacto destructivo en los protocolos DeFi y en los ecosistemas on-chain, al mismo tiempo que desglosamos la lógica subyacente y los detalles técnicos clave.

Riesgos causados directa e indirectamente por los Oráculos

Si bien la manipulación del mercado y los ataques de oráculo pueden tener consecuencias similares, como distorsiones de precios y pérdidas de activos, sus métodos y puntos de falla difieren. La mayoría de las pérdidas en el espacio de la cadena de bloques se originan en la manipulación del mercado en lugar de fallas de diseño inherentes en los oráculos. Las principales diferencias son las siguientes:

  • La manipulación del mercado implica alterar artificialmente la oferta y la demanda para inflar o desinflar los precios de los activos. Las tácticas comunes incluyen operaciones falsas y manipulación entre mercados. Por ejemplo, los activos con poca liquidez son más susceptibles a la manipulación, lo que potencialmente conduce a deudas incobrables y riesgos de liquidez para los protocolos DeFi.
  • Los ataques de Oracle interrumpen las fuentes de datos del oráculo, lo que hace que informe precios inconsistentes con el mercado real. Esto puede deberse a manipulación intencional, fuentes de datos insuficientes o vulnerabilidades de seguridad del oráculo. Los atacantes explotan la discrepancia entre los precios de alimentación y los precios reales del mercado para manipular operaciones en los protocolos DeFi, como la colateralización o la liquidación.

Analicemos este caso:

En esencia, la manipulación del mercado se logra cambiando los precios reales del mercado, con los oráculos reflejando fielmente estos precios manipulados, mientras que los ataques de oráculo implican informar precios incorrectos mientras los precios del mercado permanecen normales. Habiendo entendido la distinción entre los oráculos y la manipulación de precios, nuestro próximo paso será explorar las diferencias entre la adquisición de datos en cadena y fuera de cadena, para comprender mejor cómo transmiten datos los oráculos.

Casos de Ataque Relacionados con Oracle

Entre numerosos incidentes de ataques de oráculo, los tipos comunes incluyen la manipulación de precios, los préstamos flash combinados con distorsiones de oráculo, errores de datos fuera de la cadena y la explotación de vulnerabilidades de diseño de protocolo. A continuación, discutimos dos casos típicos: el incidente de manipulación de precios de UwU Lend, que reveló las vulnerabilidades de los oráculos en cadena a la manipulación maliciosa, y la falla del oráculo fuera de la cadena de Synthetix, que demostró el profundo impacto de los errores de datos externos en los contratos en cadena.

Incidente de manipulación del precio de préstamo UwU

El 10 de junio de 2024, UwU Lend, una plataforma de préstamos de activos digitales basada en cadenas EVM, sufrió un ataque que resultó en una pérdida de aproximadamente $19.3 millones. Este incidente expuso posibles vulnerabilidades en los mecanismos de oráculo dentro de los protocolos DeFi.

UwU Lend utilizó una criptomoneda llamada sUSDE, cuyo precio fue determinado por un oráculo de precios. Como componente crítico del protocolo de préstamo, la responsabilidad principal del oráculo era obtener y proporcionar datos de precios precisos para garantizar que las operaciones clave como el préstamo y la liquidación se basaran en precios justos y estables. Sin embargo, este mecanismo esencial se convirtió en el punto de entrada del ataque.

El atacante manipuló el precio de mercado de sUSDE realizando operaciones de intercambio a gran escala dentro del grupo de liquidez de Curve Finance. Esta acción distorsionó los datos de precio generados por el oráculo en el que confiaba UwU Lend. Explotando el valor inflado de sUSDE, el atacante lo utilizó como garantía para extraer otros activos de UwU Lend, provocando en última instancia un agotamiento significativo de activos para la plataforma.

La causa raíz de este incidente radicaba en el diseño insuficiente de UwU Lend para la anti-manipulación del oráculo. Esta vulnerabilidad permitió al atacante manipular el precio del mercado, distorsionar los datos reportados por el oráculo y ejecutar un ataque dirigido. Este caso pone de relieve una deficiencia común en las plataformas DeFi: mecanismos pobres de anti-manipulación en los oráculos, especialmente en entornos de mercado de baja liquidez, donde estos riesgos son más pronunciados.

Vale la pena señalar la similitud entre este incidente y los ataques de préstamos relámpago. Los ataques de préstamos relámpago generalmente implican la creación de anomalías de precios a través de flujos de capital sustanciales y a corto plazo, lo que interrumpe los mecanismos de retroalimentación de precios de los oráculos para lograr el arbitraje de activos u otros objetivos maliciosos. Esta similitud subraya aún más la importancia de diseños robustos contra la manipulación en los oráculos, componentes críticos de la seguridad del sistema DeFi.

En el futuro, las plataformas DeFi deberían centrarse en estrategias como la agregación de datos de precios de múltiples fuentes, la optimización de las frecuencias de actualización de precios y la supervisión de precios anómalos al construir mecanismos oráculo. Mejorar las capacidades anti-manipulación puede reducir los riesgos sistémicos causados por fallas en un solo punto o volatilidad del mercado.

Fallo del Oráculo de Synthetix

El 25 de junio de 2019, Synthetix, un protocolo de liquidez de derivados en Ethereum, experimentó una falla crítica en su sistema de oráculo de precios personalizado fuera de la cadena, lo que resultó en una sola transacción generando ganancias masivas inesperadas. Synthetix confiaba en fuentes confidenciales para su alimentación de precios, agregando y publicando precios en cadena en intervalos fijos para proporcionar a los usuarios precios de negociación para activos sintéticos largos o cortos.

Sin embargo, uno de los canales de precios informó erróneamente la tasa de cambio del Won coreano (KRW) como 1,000 veces su valor real. El sistema no logró filtrar estos datos anómalos, lo que llevó a la aceptación y publicación del precio incorrecto en la cadena. Un bot de trading detectó este error y ejecutó rápidamente operaciones de compra y venta en el mercado sKRW, acumulando ganancias sustanciales a través del arbitraje. El rápido descubrimiento del problema por parte del equipo les permitió negociar con el trader, quien devolvió las ganancias a cambio de una recompensa por errores, evitando pérdidas potenciales que superaban los $1 mil millones.

Aunque el equipo de Synthetix había implementado medidas para agregar datos de precios de múltiples fuentes para protegerse contra inexactitudes de una sola fuente, este incidente resaltó los riesgos inherentes de los oráculos de datos fuera de la cadena. Cuando los orígenes de datos aguas arriba cometen errores, los contratos en la cadena no tienen conocimiento del proceso de cálculo de precios y, por lo tanto, no pueden detectar anomalías automáticamente.

Medidas preventivas

Los casos anteriores destacan que los desafíos a los que se enfrentan los oráculos van más allá de la precisión de las fuentes de datos, incluyendo la resistencia a la manipulación y la seguridad de la integración de datos fuera de la cadena. Como tal, evitar los ataques de los oráculos es de suma importancia. Mejorar la seguridad, confiabilidad y capacidades anti-manipulación de los oráculos se convierte en un factor clave al diseñar y utilizarlos. En esta sección, exploramos medidas efectivas para contrarrestar diferentes tipos de ataques y fortalecer la seguridad general de los sistemas de oráculo.

1. Utilice múltiples fuentes de datos para garantizar la precisión de los datos

Análisis del caso: En el incidente de manipulación de precios de UwU Lend, los atacantes manipularon con éxito el oráculo de precios de UwU Lend influyendo en el precio de sUSDE en el grupo de Curve Finance. Al explotar la vulnerabilidad de manipulación de precios, los atacantes extrajeron activos que el sistema no pudo evaluar correctamente. Si UwU Lend hubiera utilizado múltiples fuentes de datos para determinar el precio de sUSDE, el sistema podría haber verificado los precios a través de otras fuentes, reduciendo el riesgo de ataque.

Análisis detallado: Este incidente involucró la manipulación de precios y expuso problemas relacionados con la falta de liquidez. Cuando un token carece de liquidez suficiente en el mercado, la poca profundidad de negociación hace que su precio sea fácilmente influenciado por un pequeño número de transacciones, aumentando así la vulnerabilidad del oráculo. En consecuencia, al lanzar nuevos tokens, los equipos de proyecto deben evaluar cuidadosamente la liquidez del mercado para evitar distorsiones de precios y los riesgos de seguridad asociados. Por ejemplo, los protocolos de préstamo como Aave, Kamino y Scallop imponen limitaciones más estrictas a los tokens de baja liquidez en sus diseños para garantizar la estabilidad y seguridad del mercado.

Enfoque de optimización: Para garantizar la precisión de los datos, los protocolos deberían adoptar una estrategia de múltiples fuentes de datos incorporando múltiples oráculos descentralizados, como Chainlink o Band Protocol, para agregar datos de varios intercambios o pools de liquidez. Este enfoque mitiga el impacto en la seguridad en todo el sistema si alguna fuente de datos única es manipulada.

2. Descentralizados Agregadores de Datos para Garantizar la Seguridad de la Transmisión de Datos

Análisis del caso: El fallo del oráculo fuera de la cadena de Synthetix expuso los riesgos de errores en las fuentes de datos fuera de la cadena. En este incidente, se informó un precio incorrecto del Won coreano (KRW), lo que permitió a un bot de trading explotar el error para el arbitraje. Si Synthetix hubiera empleado un agregador de datos descentralizado, otras fuentes de datos descentralizadas podrían haber corregido rápidamente el problema, incluso si una fuente de datos fuera de la cadena fallaba.

Enfoque de optimización: Similar a las mejoras en Uniswap V3, el uso de agregadores de datos descentralizados puede mejorar la seguridad de la transmisión de datos. Al aprovechar protocolos criptográficos (como TLS) y verificación de firmas, combinados con nodos de relevo descentralizados, los sistemas pueden prevenir ataques de intermediarios y manipulación de datos. Por ejemplo, en el oráculo Chainlink, cada fuente de datos es validada por múltiples nodos independientes y protegida con técnicas de encriptación para garantizar la integridad e inmutabilidad de los datos transmitidos.

4. Diseño modular en la arquitectura de aplicaciones para reducir los riesgos de fallos en un solo punto

Análisis de caso: Muchos incidentes de ataque revelan deficiencias en el diseño modular de los protocolos DeFi, que a menudo carecen de mecanismos defensivos suficientes. Al diseñar y construir módulos independientes cuidadosamente, es posible evitar que los atacantes exploten una sola vulnerabilidad para causar daños catastróficos a todo el sistema. Por ejemplo, en el caso del fallo del oráculo fuera de cadena de Synthetix, si el equipo de desarrollo hubiera diseñado preventivamente un sistema de alerta modular, podría haber identificado y corregido datos anormales más rápidamente.

Enfoque de optimización: Para mejorar la resistencia a los ataques, los desarrolladores pueden adoptar arquitecturas en capas durante el proceso de desarrollo y asegurarse de que cada módulo (fuente de datos, lógica de validación, módulo de transmisión) opere de forma independiente. Por ejemplo, como en Uniswap V3, almacenar información de precios de diferentes pools de liquidez en pools de observación separados permite al protocolo comparar precios en múltiples pools, reduciendo el riesgo de manipulación en cualquier pool único. En el desarrollo práctico, técnicas como la encapsulación de interfaces y la inyección de dependencias pueden separar el módulo de validación de datos de otra lógica, asegurando la flexibilidad y mantenibilidad del sistema.

5. Mecanismos de defensa adaptativos en contratos inteligentes

Mientras que la mayoría de los oráculos se basan en medidas de defensa estáticas, los contratos inteligentes pueden adoptar estrategias de defensa adaptativas para contrarrestar los métodos de ataque altamente dinámicos. Por ejemplo, mediante el monitoreo de la frecuencia de las fluctuaciones anormales de precios, el sistema puede determinar si se está produciendo un ataque y activar mecanismos adicionales de validación o reversión en respuesta a tales anomalías. Este enfoque adaptativo puede proteger automáticamente el sistema de posibles pérdidas durante las manipulaciones repentinas de precios.

Aplicación Práctica: Algunos protocolos DeFi implementan mecanismos de "alerta de umbral" para detectar fluctuaciones significativas de precios en tiempo real. Si la fluctuación de precios supera un umbral preestablecido, el sistema inicia automáticamente procesos de validación adicionales o provoca retrocesos para evitar que la manipulación se intensifique. Por ejemplo, el protocolo Balancer utiliza un umbral de desviación de precios; si se detecta un precio excesivamente alto o bajo, detiene ciertas transacciones hasta obtener una confirmación adicional de la validez del precio.

Basándonos en las discusiones de optimización del diseño y la aplicación de oráculos, podemos explorar soluciones específicas dentro de las aplicaciones DeFi. A continuación, presentaremos el mecanismo de precio promedio ponderado en el tiempo en Uniswap V2 y sus mejoras en V3.

Casos de optimización de seguridad en aplicaciones oráculo DeFi

La seguridad de los oráculos es una preocupación fundamental para los protocolos DeFi. Muchos protocolos DeFi han introducido innovaciones valiosas para prevenir de manera efectiva los ataques de los oráculos. Uniswap, por ejemplo, ha proporcionado nuevas ideas para el diseño de oráculos a través de sus optimizaciones en la generación de precios en cadena y los mecanismos de defensa. Una comparación entre Uniswap V2 y V3 demuestra cómo las mejoras técnicas pueden mejorar las capacidades contra la manipulación de los oráculos, ofreciendo un camino claro para el diseño seguro de contratos inteligentes.

TWAP en Uniswap V2

Uniswap V2 introdujo por primera vez el oráculo TWAP (Precio Promedio Ponderado por Tiempo), lo que permite a los desarrolladores on-chain acceder a datos de precios de intercambios descentralizados (DEX). TWAP es un oráculo on-chain que obtiene sus datos de las propias operaciones de trading on-chain de Uniswap sin depender de ningún dato off-chain.

En la UniswapV2Paircontrato, el_update()La función es la función privada principal responsable de actualizar las reservas y acumuladores de precios para pares de negociación. Su propósito principal es utilizar el acumulador de precios ponderado por el tiempo para ayudar a prevenir ataques de oráculo.

La idea principal de esta función es limitar la capacidad de un atacante para manipular los precios en un solo punto en el tiempo registrando los cambios de precios ponderados por el tiempo para cada bloque. Específicamente, la función calcula la diferencia de tiempo (Tiempo transcurrido) entre el tiempo actual y la última actualización, multiplica esta diferencia por el precio actual del par de negociación, y luego agrega el resultado a los acumuladores de precios (price0CumulativeLasty price1AcumulativoUltimoEsta acumulación registra el precio promedio ponderado por el tiempo para suavizar las posibles fluctuaciones de precios. Debido a que el precio se acumula durante un período, los atacantes necesitarían operar de manera continua a través de múltiples bloques para alterar significativamente el precio, lo que aumentaría el costo de manipulación.

Además, la función actualiza los acumuladores de precios solo si tiempo transcurridoes mayor que 0, lo que significa que el precio solo se actualizará una vez por bloque. Este diseño limita la frecuencia de las operaciones de un atacante en un corto período de tiempo. Para manipular eficazmente el precio, los atacantes necesitarían intervenir continuamente durante varios bloques en lugar de un solo bloque, lo que reduce aún más la probabilidad de manipulación.

Desde una perspectiva de seguridad, este mecanismo es robusto. La función incluye comprobaciones de desbordamiento para asegurar que los valores máximos de las reservas no excedan los límites del sistema, y los cálculos de precio acumulativo también están protegidos contra el desbordamiento. Estos elementos de diseño hacen que la manipulación externa sea significativamente más difícil.

Sin embargo, la versión V2 del oráculo tiene algunas limitaciones prácticas. Por ejemplo, el contrato oficial solo proporciona los últimos valores de precios acumulativos, lo que requiere que los desarrolladores registren y recuperen datos de precios históricos, imponiendo una barrera técnica más alta. Además, el oráculo V2 no registra directamente la profundidad del par de negociación. La profundidad del par de negociación es crítica para la estabilidad del oráculo ante los ataques: una menor profundidad facilita la manipulación de los precios.

Uniswap V3

Para abordar las limitaciones de su predecesor, Uniswap mejoró la funcionalidad del oráculo en su versión V3. Los contratos V3 conservaron los valores de precio acumulativos a lo largo del tiempo y añadieron la capacidad de almacenar información de precio histórica, admitiendo hasta 65.535 registros. Esto eliminó la necesidad de que los desarrolladores almacenen los datos históricos manualmente.

Además, la versión V3 del oráculo registra los valores de liquidez ponderados por tiempo para diferentes niveles de comisión. Esto permite a los desarrolladores seleccionar piscinas de liquidez con volúmenes más altos como fuentes de referencia de precios, asegurando una mayor precisión de precios. Toda la lógica relacionada con el oráculo está encapsulada en la biblioteca Oracle, lo que permite que los contratos registren automáticamente la información acumulada de precios y liquidez para cada transacción sin requerir mantenimiento externo por parte del usuario.

Otra mejora digna de mención es el ajuste al método de cálculo de precios. En Uniswap V2, los cálculos TWAP se basaban en la media aritmética, mientras que V3 adopta la media geométrica. En comparación con la media aritmética, la media geométrica proporciona una mayor estabilidad en la implementación y es más adecuada para entornos con alta volatilidad de precios, lo que reduce aún más el riesgo de manipulación.

Tendencias futuras

Los atacantes de Oracle incluyen grupos organizados, hackers independientes y posibles insiders que colaboran con partes externas. Dichos ataques suelen implicar una complejidad técnica moderada, lo que requiere que los atacantes tengan un entendimiento fundamental de la cadena de bloques y contratos inteligentes, así como habilidades específicas para explotar vulnerabilidades. A medida que las barreras técnicas disminuyen, la complejidad de los ataques de Oracle está disminuyendo, lo que permite que hackers con menos experiencia técnica participen.

Los ataques de Oracle dependen en gran medida de la automatización. La mayoría de los atacantes utilizan herramientas automatizadas para escanear y analizar datos en cadena, identificando y explotando rápidamente vulnerabilidades de seguridad como fluctuaciones de precios o retrasos de datos en los oráculos. Por ejemplo, los bots de arbitraje y los scripts automatizados pueden responder a cambios de precios en cuestión de milisegundos, asegurando que los atacantes obtengan ganancias antes de que el mercado se ajuste. A medida que las redes de cadenas de bloques continúan descentralizándose, estos métodos automatizados se vuelven cada vez más eficientes, lo que hace que los ataques de Oracle sean más precisos y difíciles de detectar.

Mirando hacia adelante, la fiabilidad de los datos del oráculo y la resistencia a la manipulación probablemente mejorarán a través de la adopción generalizada de mecanismos de fijación de precios estandarizados, como el precio promedio ponderado por tiempo (TWAP) y la validación de datos de múltiples fuentes firmados criptográficamente. Si bien esto puede reducir la viabilidad de los ataques de oráculo, podrían surgir nuevas amenazas, en particular métodos sofisticados que combinan varias técnicas de arbitraje para eludir controles de seguridad. Los desarrolladores de DeFi deben permanecer vigilantes, ya que el futuro de la seguridad del oráculo depende de la mejora continua de las medidas de protección de datos descentralizados y la defensa proactiva contra vectores de ataque emergentes.

Conclusión

Este artículo ha explorado el papel crítico de los oráculos en los sistemas DeFi y sus vulnerabilidades de seguridad, examinando los tipos de oráculos, ejemplos de desarrollo, estudios de caso y medidas preventivas. El análisis se centró en dos áreas clave: ataques a oráculos basados en préstamos flash y ataques aleatorios derivados de fallos en los oráculos. A través de este examen, hemos demostrado la importancia fundamental de los oráculos en la arquitectura de seguridad de DeFi y su necesidad de resistencia a la manipulación, al tiempo que proporcionamos métodos prácticos para prevenir los ataques a los oráculos.

Renuncia: El contenido de este artículo es solo de referencia y está destinado a aprender e intercambiar conocimientos sobre ataques de oráculo. No constituye una guía para operaciones reales ni casos instructivos.

作者: Doris
譯者: Sonia
審校: Piccolo、Edward、Elisa
譯文審校: Ashely、Joyce
* 投資有風險,入市須謹慎。本文不作為 Gate.io 提供的投資理財建議或其他任何類型的建議。
* 在未提及 Gate.io 的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io 有權追究其法律責任。

Tipos de ataques de oráculo de cadena de bloques, casos y estrategias de defensa de múltiples capas

Avanzado1/7/2025, 8:36:55 AM
Desde la aparición de DeFi, la calidad y la seguridad de los datos en cadena han sido preocupaciones primordiales para los desarrolladores, especialmente en lo que respecta a los oráculos: los puentes críticos entre los datos en cadena y fuera de cadena que a menudo son objeto de ataques. Este artículo explora casos de uso de oráculos, patrones comunes de ataque y estrategias de prevención para la manipulación de oráculos. Proporciona orientación práctica para los desarrolladores sobre la integración segura de oráculos mientras explica su papel vital en el ecosistema de la cadena de bloques. A través del análisis de incidentes recientes como UwU Lend y Banana Gun, destacamos cómo la confiabilidad de los datos da forma fundamental a la estabilidad del ecosistema DeFi.

Introducción

Desde el surgimiento de DeFi en 2019 hasta su madurez gradual para 2024, los problemas de datos han sido consistentemente una preocupación central para los desarrolladores. Esto se debe a que el funcionamiento de DeFi se basa en datos precisos y en tiempo real en la cadena, y la calidad de los datos afecta directamente la seguridad, eficiencia y experiencia del usuario de los protocolos. Los datos son centrales para el intercambio de valor y el fundamento de los mecanismos de confianza del protocolo. Para los contratos inteligentes, los datos funcionan como los hechos de entrada, pero los propios contratos inteligentes no pueden verificar activamente la autenticidad de los datos. En cambio, dependen completamente de los datos proporcionados por fuentes externas. Esta característica significa que si los datos de entrada se alteran o son inexactos, el contrato inteligente los acepta pasivamente, lo que potencialmente conlleva riesgos sistémicos. Por lo tanto, garantizar la descentralización, confiabilidad y usabilidad de los datos sigue siendo un desafío en curso. Los desafíos surgen de dos problemas principales: en primer lugar, la mayoría de los datos están controlados por instituciones o plataformas centralizadas; en segundo lugar, el acceso a los datos es difícil debido a los desafíos significativos para mantener la confiabilidad en todo el proceso, desde la fuente hasta los canales de transmisión y el destino final.

Como puente entre las interacciones de datos en cadena y fuera de ella, los oráculos a menudo se convierten en los principales objetivos de los ataques. Una vez que se manipula un oráculo, los atacantes pueden explotar información de precios o de mercado falsa para ejecutar ataques económicos a gran escala, como la manipulación del oráculo y los ataques de préstamos flash que ocurrieron con frecuencia en 2021 y 2022. Incluso en 2024, esta amenaza persiste, como lo destacan los recientes incidentes que involucran a UwU Lend y Banana Gun. Estos eventos continúan recordándonos que la calidad y seguridad de los datos del oráculo determinan el éxito o el fracaso de los protocolos individuales y repercuten directamente en la estabilidad de todo el ecosistema DeFi.

Este artículo se centrará en la aplicación de oráculos en la cadena de bloques, los tipos de ataques y los métodos para prevenir manipulaciones comunes de oráculos. Su objetivo es educar a los lectores sobre los conceptos básicos y la importancia de los oráculos, aumentar la conciencia de seguridad y proporcionar recomendaciones prácticas para que los desarrolladores integren de forma segura los oráculos en contratos inteligentes.

Conceptos Fundamentales de Oráculos

Definición y Rol de los Oráculos

Un oráculo es una interfaz crítica entre la cadena de bloques y el mundo externo. Es responsable de importar datos fuera de la cadena a la cadena de bloques, como precios de mercado, información meteorológica o resultados de eventos, lo que permite a los contratos inteligentes acceder a información externa. Dada la naturaleza inherentemente cerrada de las cadenas de bloques, los oráculos desempeñan un papel vital en áreas como DeFi, mercados de predicción, seguros y juegos. Además de abordar las limitaciones de la cadena de bloques, los oráculos facilitan la interacción entre los contratos inteligentes y los datos del mundo real, ampliando el alcance de la tecnología de la cadena de bloques. Sin embargo, los oráculos también enfrentan ciertos desafíos y puntos de dolor:

  • La precisión de los oráculos es crucial. Si la fuente de datos no es confiable o está comprometida, puede provocar una ejecución incorrecta de los contratos inteligentes, lo que resulta en pérdidas financieras.
  • Los propios oráculos pueden convertirse en objetivos de ataques, como manipulando los datos del oráculo para transmitir información falsa, lo que lleva a la manipulación del mercado y la interrupción de las operaciones del protocolo.
  • Si bien las redes de oráculos descentralizados pueden reducir los puntos de falla individuales, persisten los debates sobre su grado de descentralización y confiabilidad. Mejorar la confiabilidad y seguridad de los oráculos sigue siendo un desafío tecnológico clave.

Habiendo entendido la definición básica y el papel de los oráculos, exploraremos brevemente los tipos de oráculos, sus casos de uso y los riesgos de seguridad a los que se enfrentan.

Tipos de Oráculos: Centralizados vs. Descentralizados

Los oráculos se pueden clasificar ampliamente en dos modelos de implementación: centralizados y descentralizados. Los oráculos centralizados como Oraclize suelen depender de una única fuente de datos para proporcionar información fuera de la cadena. Combina soluciones de hardware y software, aprovechando tecnologías como TLSNotary y Android Proof para garantizar la precisión de los datos. Estos oráculos destacan por su eficiencia y rendimiento estable. Sin embargo, su dependencia de una única fuente confiable socava la naturaleza descentralizada de la cadena de bloques, introduce cuellos de botella en un solo punto y limita la escalabilidad, lo que presenta desafíos tanto en seguridad como en extensibilidad.

Por el contrario, oráculos descentralizados como Chainlink priorizan la seguridad del sistema y la transparencia de la confianza. En la arquitectura de Chainlink, la recopilación y validación de datos son realizadas por múltiples nodos independientes, distribuidos entre diferentes participantes, reduciendo el riesgo de puntos únicos de falla. Al coordinar operaciones dentro y fuera de la cadena, Chainlink asegura la diversidad y confiabilidad de los datos. Este diseño descentralizado es particularmente efectivo en aplicaciones financieras, mejorando la resistencia del oráculo a los ataques. Sin embargo, este enfoque implica compensaciones en eficiencia y costos, lo que lo hace menos adecuado para casos de uso de baja frecuencia.

La importancia de los oráculos descentralizados radica en reducir el riesgo de manipulación de las fuentes de datos y prevenir posibles abusos por parte de partes de confianza únicas. La descentralización garantiza que los oráculos ya no dependan de unas pocas fuentes de datos, sino que mejoren la seguridad y confiabilidad de los datos a través de múltiples nodos distribuidos. Sin embargo, los oráculos descentralizados también enfrentan desafíos, como mantener mecanismos de incentivos efectivos a largo plazo y garantizar la estabilidad general de la red de oráculos. A continuación, exploraremos los riesgos de seguridad asociados con los oráculos descentralizados y sus posibles soluciones.

Principios operativos y riesgos de los oráculos

Oráculos con diferentes fuentes de datos: Off-Chain y On-Chain

En las operaciones de Oracle, la fuente y el método de transmisión de los datos afectan directamente a su seguridad y confiabilidad. Los Oráculos obtienen datos de dos tipos de fuentes: fuera de la cadena y en la cadena. El origen y los métodos de adquisición de datos difieren entre estos dos enfoques:

  • Datos Fuera de la Cadena: La velocidad de respuesta a la volatilidad para los datos fuera de la cadena depende de las características de la fuente de datos y el mecanismo de transmisión. Por ejemplo, los datos de precios fuera de la cadena de los intercambios suelen actualizarse rápidamente. Sin embargo, otros datos fuera de la cadena (como los datos de los mercados financieros tradicionales o los datos generados mediante cálculos complejos) pueden experimentar retrasos. La transmisión de datos fuera de la cadena a menudo depende de un número limitado de instituciones privilegiadas para enviar datos a la cadena de bloques. Por lo tanto, es crucial garantizar que estas instituciones no alteren maliciosamente los datos o envíen actualizaciones incorrectas bajo presión. Esta dependencia potencialmente amenaza la credibilidad y utilidad de los datos en las cadenas de bloques descentralizadas.
  • Datos en la Cadena: Los datos en la cadena no requieren ningún acceso privilegiado y siempre están actualizados, ofreciendo sólidas capacidades en tiempo real. Sin embargo, esta misma característica los hace altamente susceptibles a la manipulación por parte de atacantes, lo que podría llevar a resultados catastróficos. Los desarrolladores pueden acceder fácilmente a los datos en la cadena consultando los intercambios descentralizados (DEX) para calcular los precios en tiempo real.

Oráculos On-Chain y Off-Chain
La elección entre fuentes de datos fuera de la cadena y dentro de la cadena depende de los requisitos específicos del proyecto y los compromisos inherentes de cada enfoque. Los desarrolladores deben evaluar y abordar cuidadosamente los riesgos asociados. Esta necesidad de equilibrio ha llevado a una investigación continua sobre métodos de manipulación de datos más seguros y confiables. Las siguientes secciones examinarán los principios operativos de los oráculos y sus posibles vulnerabilidades.

Un breve ejemplo de desarrollo de Oracle

Esta sección presenta un escenario de desarrollo simplificado para ayudar a los lectores a comprender los casos de uso de los oráculos en la cadena de bloques. En el desarrollo real de contratos inteligentes de cadena de bloques, existen múltiples formas en las que un contrato inteligente puede acceder a datos de precios de los oráculos. Los métodos comunes incluyen llamar directamente al contrato del oráculo o utilizar tecnologías como Chainlink CCIP (Cross-Chain Interoperability Protocol). Las principales diferencias entre estos métodos son:

  1. Si la aplicación de destino reside en la misma cadena de bloques, los desarrolladores suelen llamar directamente al contrato del oráculo para recuperar rápidamente información de precios en tiempo real.
  2. Para aplicaciones DeFi multi-cadena, Chainlink CCIP es comúnmente utilizado. CCIP proporciona una forma segura de transmitir datos entre diferentes cadenas de bloques en escenarios multi-cadena.

Aquí, demostramos el uso de una llamada directa a un contrato oracle. Imagina que eres un desarrollador de contratos inteligentes en el ecosistema de Ethereum, y necesitas obtener datos de precios de ETH/USD utilizando un oracle en tu contrato. Primero, definirías una interfaz para conectarte al contrato oracle y escribirías una función para obtener los datos de precios.

Este ejemplo de contrato simple muestra cómo el PriceConsumerEl contrato recupera datos de precios en tiempo real y los utiliza para tomar decisiones. Esto proporciona una comprensión básica de cómo interactúan los contratos inteligentes con los oráculos para acceder a datos de precios. A continuación, analizaremos los riesgos asociados desde dos perspectivas:

Desde una perspectiva de contrato interno que utiliza oráculos, los atacantes pueden explotar mercados con poca liquidez o pequeños intercambios para manipular los precios de ETH/USD a través de grandes transacciones, causando fluctuaciones de precios anormales. Dado que algunos oráculos dependen de la agregación de datos de múltiples plataformas de negociación, estas fluctuaciones anormales pueden propagarse rápidamente al método fetchPrice() del PriceConsumer, lo que conduce a distorsiones de precios. Esta situación suele surgir cuando las fuentes de datos de los oráculos están demasiado centralizadas y los riesgos no están suficientemente diversificados, lo que hace que el sistema sea más vulnerable a la manipulación de precios.

Desde una perspectiva de contrato externo, el análisis debe considerar diferentes escenarios de aplicación. Supongamos que el contrato PriceConsumer se utiliza en una plataforma de préstamos donde los usuarios pueden depositar ETH como garantía para pedir prestados otros activos. Los atacantes primero usan préstamos flash para pedir prestadas grandes cantidades de fondos y depositan temporalmente estos fondos en creadores de mercado automáticos (AMM) u otras piscinas de liquidez. Si el AMM tiene poca profundidad de negociación, una gran cantidad de un solo activo que entra rápidamente en la piscina causará directamente deslizamiento de precio.

En este escenario, las grandes transacciones del atacante alteran el precio reportado por el AMM, lo que luego se refleja en el precio manipulado del oráculo. Después de manipular el precio, el atacante podría obtener beneficios de diversas formas, como:

  1. La liquidación de garantías en protocolos de préstamos: El precio manipulado podría desencadenar la liquidación de ciertos activos garantizados. El atacante podría entonces comprar estos activos a un precio bajo durante la liquidación para obtener ganancias.
  2. Arbitraje entre Plataformas: Si el precio manipulado crea una disparidad significativa de precios entre las plataformas, el atacante podría explotar esta diferencia para ejecutar operaciones de arbitraje rentables.

Una vez que el atacante completa sus operaciones, puede retirar inmediatamente los fondos, restaurar el precio de AMM y devolver el préstamo flash con intereses, concluyendo el proceso de manipulación.

A continuación, nos adentraremos en una discusión más profunda, analizando casos específicos de ataques de oráculo, sus métodos y examinando su impacto destructivo en los protocolos DeFi y en los ecosistemas on-chain, al mismo tiempo que desglosamos la lógica subyacente y los detalles técnicos clave.

Riesgos causados directa e indirectamente por los Oráculos

Si bien la manipulación del mercado y los ataques de oráculo pueden tener consecuencias similares, como distorsiones de precios y pérdidas de activos, sus métodos y puntos de falla difieren. La mayoría de las pérdidas en el espacio de la cadena de bloques se originan en la manipulación del mercado en lugar de fallas de diseño inherentes en los oráculos. Las principales diferencias son las siguientes:

  • La manipulación del mercado implica alterar artificialmente la oferta y la demanda para inflar o desinflar los precios de los activos. Las tácticas comunes incluyen operaciones falsas y manipulación entre mercados. Por ejemplo, los activos con poca liquidez son más susceptibles a la manipulación, lo que potencialmente conduce a deudas incobrables y riesgos de liquidez para los protocolos DeFi.
  • Los ataques de Oracle interrumpen las fuentes de datos del oráculo, lo que hace que informe precios inconsistentes con el mercado real. Esto puede deberse a manipulación intencional, fuentes de datos insuficientes o vulnerabilidades de seguridad del oráculo. Los atacantes explotan la discrepancia entre los precios de alimentación y los precios reales del mercado para manipular operaciones en los protocolos DeFi, como la colateralización o la liquidación.

Analicemos este caso:

En esencia, la manipulación del mercado se logra cambiando los precios reales del mercado, con los oráculos reflejando fielmente estos precios manipulados, mientras que los ataques de oráculo implican informar precios incorrectos mientras los precios del mercado permanecen normales. Habiendo entendido la distinción entre los oráculos y la manipulación de precios, nuestro próximo paso será explorar las diferencias entre la adquisición de datos en cadena y fuera de cadena, para comprender mejor cómo transmiten datos los oráculos.

Casos de Ataque Relacionados con Oracle

Entre numerosos incidentes de ataques de oráculo, los tipos comunes incluyen la manipulación de precios, los préstamos flash combinados con distorsiones de oráculo, errores de datos fuera de la cadena y la explotación de vulnerabilidades de diseño de protocolo. A continuación, discutimos dos casos típicos: el incidente de manipulación de precios de UwU Lend, que reveló las vulnerabilidades de los oráculos en cadena a la manipulación maliciosa, y la falla del oráculo fuera de la cadena de Synthetix, que demostró el profundo impacto de los errores de datos externos en los contratos en cadena.

Incidente de manipulación del precio de préstamo UwU

El 10 de junio de 2024, UwU Lend, una plataforma de préstamos de activos digitales basada en cadenas EVM, sufrió un ataque que resultó en una pérdida de aproximadamente $19.3 millones. Este incidente expuso posibles vulnerabilidades en los mecanismos de oráculo dentro de los protocolos DeFi.

UwU Lend utilizó una criptomoneda llamada sUSDE, cuyo precio fue determinado por un oráculo de precios. Como componente crítico del protocolo de préstamo, la responsabilidad principal del oráculo era obtener y proporcionar datos de precios precisos para garantizar que las operaciones clave como el préstamo y la liquidación se basaran en precios justos y estables. Sin embargo, este mecanismo esencial se convirtió en el punto de entrada del ataque.

El atacante manipuló el precio de mercado de sUSDE realizando operaciones de intercambio a gran escala dentro del grupo de liquidez de Curve Finance. Esta acción distorsionó los datos de precio generados por el oráculo en el que confiaba UwU Lend. Explotando el valor inflado de sUSDE, el atacante lo utilizó como garantía para extraer otros activos de UwU Lend, provocando en última instancia un agotamiento significativo de activos para la plataforma.

La causa raíz de este incidente radicaba en el diseño insuficiente de UwU Lend para la anti-manipulación del oráculo. Esta vulnerabilidad permitió al atacante manipular el precio del mercado, distorsionar los datos reportados por el oráculo y ejecutar un ataque dirigido. Este caso pone de relieve una deficiencia común en las plataformas DeFi: mecanismos pobres de anti-manipulación en los oráculos, especialmente en entornos de mercado de baja liquidez, donde estos riesgos son más pronunciados.

Vale la pena señalar la similitud entre este incidente y los ataques de préstamos relámpago. Los ataques de préstamos relámpago generalmente implican la creación de anomalías de precios a través de flujos de capital sustanciales y a corto plazo, lo que interrumpe los mecanismos de retroalimentación de precios de los oráculos para lograr el arbitraje de activos u otros objetivos maliciosos. Esta similitud subraya aún más la importancia de diseños robustos contra la manipulación en los oráculos, componentes críticos de la seguridad del sistema DeFi.

En el futuro, las plataformas DeFi deberían centrarse en estrategias como la agregación de datos de precios de múltiples fuentes, la optimización de las frecuencias de actualización de precios y la supervisión de precios anómalos al construir mecanismos oráculo. Mejorar las capacidades anti-manipulación puede reducir los riesgos sistémicos causados por fallas en un solo punto o volatilidad del mercado.

Fallo del Oráculo de Synthetix

El 25 de junio de 2019, Synthetix, un protocolo de liquidez de derivados en Ethereum, experimentó una falla crítica en su sistema de oráculo de precios personalizado fuera de la cadena, lo que resultó en una sola transacción generando ganancias masivas inesperadas. Synthetix confiaba en fuentes confidenciales para su alimentación de precios, agregando y publicando precios en cadena en intervalos fijos para proporcionar a los usuarios precios de negociación para activos sintéticos largos o cortos.

Sin embargo, uno de los canales de precios informó erróneamente la tasa de cambio del Won coreano (KRW) como 1,000 veces su valor real. El sistema no logró filtrar estos datos anómalos, lo que llevó a la aceptación y publicación del precio incorrecto en la cadena. Un bot de trading detectó este error y ejecutó rápidamente operaciones de compra y venta en el mercado sKRW, acumulando ganancias sustanciales a través del arbitraje. El rápido descubrimiento del problema por parte del equipo les permitió negociar con el trader, quien devolvió las ganancias a cambio de una recompensa por errores, evitando pérdidas potenciales que superaban los $1 mil millones.

Aunque el equipo de Synthetix había implementado medidas para agregar datos de precios de múltiples fuentes para protegerse contra inexactitudes de una sola fuente, este incidente resaltó los riesgos inherentes de los oráculos de datos fuera de la cadena. Cuando los orígenes de datos aguas arriba cometen errores, los contratos en la cadena no tienen conocimiento del proceso de cálculo de precios y, por lo tanto, no pueden detectar anomalías automáticamente.

Medidas preventivas

Los casos anteriores destacan que los desafíos a los que se enfrentan los oráculos van más allá de la precisión de las fuentes de datos, incluyendo la resistencia a la manipulación y la seguridad de la integración de datos fuera de la cadena. Como tal, evitar los ataques de los oráculos es de suma importancia. Mejorar la seguridad, confiabilidad y capacidades anti-manipulación de los oráculos se convierte en un factor clave al diseñar y utilizarlos. En esta sección, exploramos medidas efectivas para contrarrestar diferentes tipos de ataques y fortalecer la seguridad general de los sistemas de oráculo.

1. Utilice múltiples fuentes de datos para garantizar la precisión de los datos

Análisis del caso: En el incidente de manipulación de precios de UwU Lend, los atacantes manipularon con éxito el oráculo de precios de UwU Lend influyendo en el precio de sUSDE en el grupo de Curve Finance. Al explotar la vulnerabilidad de manipulación de precios, los atacantes extrajeron activos que el sistema no pudo evaluar correctamente. Si UwU Lend hubiera utilizado múltiples fuentes de datos para determinar el precio de sUSDE, el sistema podría haber verificado los precios a través de otras fuentes, reduciendo el riesgo de ataque.

Análisis detallado: Este incidente involucró la manipulación de precios y expuso problemas relacionados con la falta de liquidez. Cuando un token carece de liquidez suficiente en el mercado, la poca profundidad de negociación hace que su precio sea fácilmente influenciado por un pequeño número de transacciones, aumentando así la vulnerabilidad del oráculo. En consecuencia, al lanzar nuevos tokens, los equipos de proyecto deben evaluar cuidadosamente la liquidez del mercado para evitar distorsiones de precios y los riesgos de seguridad asociados. Por ejemplo, los protocolos de préstamo como Aave, Kamino y Scallop imponen limitaciones más estrictas a los tokens de baja liquidez en sus diseños para garantizar la estabilidad y seguridad del mercado.

Enfoque de optimización: Para garantizar la precisión de los datos, los protocolos deberían adoptar una estrategia de múltiples fuentes de datos incorporando múltiples oráculos descentralizados, como Chainlink o Band Protocol, para agregar datos de varios intercambios o pools de liquidez. Este enfoque mitiga el impacto en la seguridad en todo el sistema si alguna fuente de datos única es manipulada.

2. Descentralizados Agregadores de Datos para Garantizar la Seguridad de la Transmisión de Datos

Análisis del caso: El fallo del oráculo fuera de la cadena de Synthetix expuso los riesgos de errores en las fuentes de datos fuera de la cadena. En este incidente, se informó un precio incorrecto del Won coreano (KRW), lo que permitió a un bot de trading explotar el error para el arbitraje. Si Synthetix hubiera empleado un agregador de datos descentralizado, otras fuentes de datos descentralizadas podrían haber corregido rápidamente el problema, incluso si una fuente de datos fuera de la cadena fallaba.

Enfoque de optimización: Similar a las mejoras en Uniswap V3, el uso de agregadores de datos descentralizados puede mejorar la seguridad de la transmisión de datos. Al aprovechar protocolos criptográficos (como TLS) y verificación de firmas, combinados con nodos de relevo descentralizados, los sistemas pueden prevenir ataques de intermediarios y manipulación de datos. Por ejemplo, en el oráculo Chainlink, cada fuente de datos es validada por múltiples nodos independientes y protegida con técnicas de encriptación para garantizar la integridad e inmutabilidad de los datos transmitidos.

4. Diseño modular en la arquitectura de aplicaciones para reducir los riesgos de fallos en un solo punto

Análisis de caso: Muchos incidentes de ataque revelan deficiencias en el diseño modular de los protocolos DeFi, que a menudo carecen de mecanismos defensivos suficientes. Al diseñar y construir módulos independientes cuidadosamente, es posible evitar que los atacantes exploten una sola vulnerabilidad para causar daños catastróficos a todo el sistema. Por ejemplo, en el caso del fallo del oráculo fuera de cadena de Synthetix, si el equipo de desarrollo hubiera diseñado preventivamente un sistema de alerta modular, podría haber identificado y corregido datos anormales más rápidamente.

Enfoque de optimización: Para mejorar la resistencia a los ataques, los desarrolladores pueden adoptar arquitecturas en capas durante el proceso de desarrollo y asegurarse de que cada módulo (fuente de datos, lógica de validación, módulo de transmisión) opere de forma independiente. Por ejemplo, como en Uniswap V3, almacenar información de precios de diferentes pools de liquidez en pools de observación separados permite al protocolo comparar precios en múltiples pools, reduciendo el riesgo de manipulación en cualquier pool único. En el desarrollo práctico, técnicas como la encapsulación de interfaces y la inyección de dependencias pueden separar el módulo de validación de datos de otra lógica, asegurando la flexibilidad y mantenibilidad del sistema.

5. Mecanismos de defensa adaptativos en contratos inteligentes

Mientras que la mayoría de los oráculos se basan en medidas de defensa estáticas, los contratos inteligentes pueden adoptar estrategias de defensa adaptativas para contrarrestar los métodos de ataque altamente dinámicos. Por ejemplo, mediante el monitoreo de la frecuencia de las fluctuaciones anormales de precios, el sistema puede determinar si se está produciendo un ataque y activar mecanismos adicionales de validación o reversión en respuesta a tales anomalías. Este enfoque adaptativo puede proteger automáticamente el sistema de posibles pérdidas durante las manipulaciones repentinas de precios.

Aplicación Práctica: Algunos protocolos DeFi implementan mecanismos de "alerta de umbral" para detectar fluctuaciones significativas de precios en tiempo real. Si la fluctuación de precios supera un umbral preestablecido, el sistema inicia automáticamente procesos de validación adicionales o provoca retrocesos para evitar que la manipulación se intensifique. Por ejemplo, el protocolo Balancer utiliza un umbral de desviación de precios; si se detecta un precio excesivamente alto o bajo, detiene ciertas transacciones hasta obtener una confirmación adicional de la validez del precio.

Basándonos en las discusiones de optimización del diseño y la aplicación de oráculos, podemos explorar soluciones específicas dentro de las aplicaciones DeFi. A continuación, presentaremos el mecanismo de precio promedio ponderado en el tiempo en Uniswap V2 y sus mejoras en V3.

Casos de optimización de seguridad en aplicaciones oráculo DeFi

La seguridad de los oráculos es una preocupación fundamental para los protocolos DeFi. Muchos protocolos DeFi han introducido innovaciones valiosas para prevenir de manera efectiva los ataques de los oráculos. Uniswap, por ejemplo, ha proporcionado nuevas ideas para el diseño de oráculos a través de sus optimizaciones en la generación de precios en cadena y los mecanismos de defensa. Una comparación entre Uniswap V2 y V3 demuestra cómo las mejoras técnicas pueden mejorar las capacidades contra la manipulación de los oráculos, ofreciendo un camino claro para el diseño seguro de contratos inteligentes.

TWAP en Uniswap V2

Uniswap V2 introdujo por primera vez el oráculo TWAP (Precio Promedio Ponderado por Tiempo), lo que permite a los desarrolladores on-chain acceder a datos de precios de intercambios descentralizados (DEX). TWAP es un oráculo on-chain que obtiene sus datos de las propias operaciones de trading on-chain de Uniswap sin depender de ningún dato off-chain.

En la UniswapV2Paircontrato, el_update()La función es la función privada principal responsable de actualizar las reservas y acumuladores de precios para pares de negociación. Su propósito principal es utilizar el acumulador de precios ponderado por el tiempo para ayudar a prevenir ataques de oráculo.

La idea principal de esta función es limitar la capacidad de un atacante para manipular los precios en un solo punto en el tiempo registrando los cambios de precios ponderados por el tiempo para cada bloque. Específicamente, la función calcula la diferencia de tiempo (Tiempo transcurrido) entre el tiempo actual y la última actualización, multiplica esta diferencia por el precio actual del par de negociación, y luego agrega el resultado a los acumuladores de precios (price0CumulativeLasty price1AcumulativoUltimoEsta acumulación registra el precio promedio ponderado por el tiempo para suavizar las posibles fluctuaciones de precios. Debido a que el precio se acumula durante un período, los atacantes necesitarían operar de manera continua a través de múltiples bloques para alterar significativamente el precio, lo que aumentaría el costo de manipulación.

Además, la función actualiza los acumuladores de precios solo si tiempo transcurridoes mayor que 0, lo que significa que el precio solo se actualizará una vez por bloque. Este diseño limita la frecuencia de las operaciones de un atacante en un corto período de tiempo. Para manipular eficazmente el precio, los atacantes necesitarían intervenir continuamente durante varios bloques en lugar de un solo bloque, lo que reduce aún más la probabilidad de manipulación.

Desde una perspectiva de seguridad, este mecanismo es robusto. La función incluye comprobaciones de desbordamiento para asegurar que los valores máximos de las reservas no excedan los límites del sistema, y los cálculos de precio acumulativo también están protegidos contra el desbordamiento. Estos elementos de diseño hacen que la manipulación externa sea significativamente más difícil.

Sin embargo, la versión V2 del oráculo tiene algunas limitaciones prácticas. Por ejemplo, el contrato oficial solo proporciona los últimos valores de precios acumulativos, lo que requiere que los desarrolladores registren y recuperen datos de precios históricos, imponiendo una barrera técnica más alta. Además, el oráculo V2 no registra directamente la profundidad del par de negociación. La profundidad del par de negociación es crítica para la estabilidad del oráculo ante los ataques: una menor profundidad facilita la manipulación de los precios.

Uniswap V3

Para abordar las limitaciones de su predecesor, Uniswap mejoró la funcionalidad del oráculo en su versión V3. Los contratos V3 conservaron los valores de precio acumulativos a lo largo del tiempo y añadieron la capacidad de almacenar información de precio histórica, admitiendo hasta 65.535 registros. Esto eliminó la necesidad de que los desarrolladores almacenen los datos históricos manualmente.

Además, la versión V3 del oráculo registra los valores de liquidez ponderados por tiempo para diferentes niveles de comisión. Esto permite a los desarrolladores seleccionar piscinas de liquidez con volúmenes más altos como fuentes de referencia de precios, asegurando una mayor precisión de precios. Toda la lógica relacionada con el oráculo está encapsulada en la biblioteca Oracle, lo que permite que los contratos registren automáticamente la información acumulada de precios y liquidez para cada transacción sin requerir mantenimiento externo por parte del usuario.

Otra mejora digna de mención es el ajuste al método de cálculo de precios. En Uniswap V2, los cálculos TWAP se basaban en la media aritmética, mientras que V3 adopta la media geométrica. En comparación con la media aritmética, la media geométrica proporciona una mayor estabilidad en la implementación y es más adecuada para entornos con alta volatilidad de precios, lo que reduce aún más el riesgo de manipulación.

Tendencias futuras

Los atacantes de Oracle incluyen grupos organizados, hackers independientes y posibles insiders que colaboran con partes externas. Dichos ataques suelen implicar una complejidad técnica moderada, lo que requiere que los atacantes tengan un entendimiento fundamental de la cadena de bloques y contratos inteligentes, así como habilidades específicas para explotar vulnerabilidades. A medida que las barreras técnicas disminuyen, la complejidad de los ataques de Oracle está disminuyendo, lo que permite que hackers con menos experiencia técnica participen.

Los ataques de Oracle dependen en gran medida de la automatización. La mayoría de los atacantes utilizan herramientas automatizadas para escanear y analizar datos en cadena, identificando y explotando rápidamente vulnerabilidades de seguridad como fluctuaciones de precios o retrasos de datos en los oráculos. Por ejemplo, los bots de arbitraje y los scripts automatizados pueden responder a cambios de precios en cuestión de milisegundos, asegurando que los atacantes obtengan ganancias antes de que el mercado se ajuste. A medida que las redes de cadenas de bloques continúan descentralizándose, estos métodos automatizados se vuelven cada vez más eficientes, lo que hace que los ataques de Oracle sean más precisos y difíciles de detectar.

Mirando hacia adelante, la fiabilidad de los datos del oráculo y la resistencia a la manipulación probablemente mejorarán a través de la adopción generalizada de mecanismos de fijación de precios estandarizados, como el precio promedio ponderado por tiempo (TWAP) y la validación de datos de múltiples fuentes firmados criptográficamente. Si bien esto puede reducir la viabilidad de los ataques de oráculo, podrían surgir nuevas amenazas, en particular métodos sofisticados que combinan varias técnicas de arbitraje para eludir controles de seguridad. Los desarrolladores de DeFi deben permanecer vigilantes, ya que el futuro de la seguridad del oráculo depende de la mejora continua de las medidas de protección de datos descentralizados y la defensa proactiva contra vectores de ataque emergentes.

Conclusión

Este artículo ha explorado el papel crítico de los oráculos en los sistemas DeFi y sus vulnerabilidades de seguridad, examinando los tipos de oráculos, ejemplos de desarrollo, estudios de caso y medidas preventivas. El análisis se centró en dos áreas clave: ataques a oráculos basados en préstamos flash y ataques aleatorios derivados de fallos en los oráculos. A través de este examen, hemos demostrado la importancia fundamental de los oráculos en la arquitectura de seguridad de DeFi y su necesidad de resistencia a la manipulación, al tiempo que proporcionamos métodos prácticos para prevenir los ataques a los oráculos.

Renuncia: El contenido de este artículo es solo de referencia y está destinado a aprender e intercambiar conocimientos sobre ataques de oráculo. No constituye una guía para operaciones reales ni casos instructivos.

作者: Doris
譯者: Sonia
審校: Piccolo、Edward、Elisa
譯文審校: Ashely、Joyce
* 投資有風險,入市須謹慎。本文不作為 Gate.io 提供的投資理財建議或其他任何類型的建議。
* 在未提及 Gate.io 的情況下,複製、傳播或抄襲本文將違反《版權法》,Gate.io 有權追究其法律責任。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!