Oráculo: Los ojos de DeFi, pero también su punto débil

robot
Generación de resúmenes en curso

Redactado por: Zhang Qianwen

En noviembre de 2020, una persona, con una suma de dinero prestada, se llevó casi 1 millón de dólares de un protocolo DeFi en 15 segundos.

Primero, obtuvo grandes cantidades de ETH mediante un préstamo relámpago, y luego concentró la compra de sETH en un fondo de liquidez extremadamente baja, elevando el precio de forma drástica en cuestión de pocos segundos.

A continuación, depositó esos sETH como garantía en el protocolo bZx. Lo que el protocolo «vio» fue el precio que se había inflado de manera artificial justo en ese instante; por lo tanto, consideró que esos sETH valían muchísimo y, conforme a las reglas, emitió préstamos de WBTC muy por encima de su valor real.

Después de que el atacante obtuvo WBTC, devolvió rápidamente el préstamo relámpago, llevándose la enorme diferencia de precio y se fue.

En todo el proceso no hubo intrusión de hackers, ni fallos de código, ni abuso de permisos. El contrato siguió estrictamente las reglas para ejecutar cada paso. El único problema era:

El «mundo» que «ve», es incorrecto.

Esta es una de las limitaciones más profundas de DeFi: los contratos en cadena, en esencia, son un sistema que no puede ver la realidad del mundo exterior.

01 Los contratos en cadena son como «ciegos»

Los contratos inteligentes viven en un mundo cerrado.

Pueden ver todo lo que ocurre en la cadena: quién transfirió cuánto a dónde, qué dirección posee cuántos tokens, en qué momento cada transacción se empaquetó en un bloque; toda esa información la pueden leer y, además, es absolutamente precisa.

Pero el mundo fuera de la cadena, no lo pueden ver en absoluto: ¿cuál es el precio del ETH hoy? ¿El Bitcoin ha superado un nuevo máximo? ¿Alguna stablecoin se ha desacoplado? ¿El mercado de valores de Nueva York subió o bajó hoy? El contrato no sabe nada.

En los préstamos de DeFi, esto es una contradicción mortal.

Las liquidaciones dependen del precio actual de los activos en garantía; pero el contrato no puede ver el precio por sí mismo y necesita que alguien se lo informe.

Esta es la razón de la existencia de los oráculos: son los ojos del contrato en cadena, encargados de llevar al on-chain la información real del mundo exterior para que el contrato la lea y la utilice. Pero el problema surge aquí:

¿Quién se encarga de garantizar que esa información sea verdadera?

02 Oráculos: mensajeros del mundo en cadena

Los oráculos son, en esencia, una infraestructura de transmisión de información que escribe los datos del mundo real (precios, tasas de interés, resultados de eventos, etc.) en una blockchain en un formato legible para contratos.

El concepto suena sencillo, pero el reto a nivel de ingeniería es que el principio de diseño central de una blockchain es «no confiar en ninguna entrada externa»; todo se basa en datos verificables en cadena. Y lo que aportan los oráculos es precisamente el dato del mundo exterior: naturalmente queda fuera de los límites de ese sistema de confianza.

Para resolver este problema, en el mercado se han formado dos soluciones principales.

La primera son los precios en cadena, que leen directamente los precios de las operaciones en exchanges descentralizados (DEX). La más típica es el precio promedio ponderado por el tiempo (TWAP) de Uniswap: no toma el precio instantáneo en un momento determinado, sino el promedio de un período pasado, diluyendo las fluctuaciones de corto plazo del precio mediante el tiempo.

La segunda son redes de oráculos descentralizados, representadas por Chainlink. Varios nodos de datos independientes obtienen precios desde diferentes canales; después de recopilar y agregarlos, se publica en la cadena la mediana, sin que ningún nodo pueda decidir por sí solo el resultado final.

Ambas soluciones tienen sus compensaciones, pero todas intentan responder la misma pregunta: ¿cómo hacer que un contrato en cadena confíe en un número proveniente del mundo exterior?

03 ¿Por qué no usar directamente el precio en tiempo real?

La mayoría de las personas, cuando conocen por primera vez los oráculos, tienen una intuición: si el precio proviene del mercado, ¿por qué no leer directamente el precio en tiempo real del exchange?

El problema es que el precio en tiempo real no equivale al precio real.

En mercados con liquidez suficiente y actividad de trading, ambos normalmente están bastante cerca; pero en pools con menor liquidez y poca profundidad, mientras haya suficiente capital, el precio puede inflarse de manera artificial hasta llegar a muy por encima del nivel real del mercado en un intervalo extremadamente corto.

Y el contrato inteligente no puede determinar si este precio se ha formado de manera natural o si ha sido manipulado a propósito. Solo puede leer ese número y, con base en él, ejecutar las reglas: permitir que el prestatario pida prestado más fondos. Cuando el precio cae de nuevo, el valor real de la garantía es en realidad insuficiente para cubrir el préstamo y el protocolo entra en morosidad incobrable.

Este es precisamente el motivo por el que el evento de ataque del protocolo bZx mencionado al inicio del artículo se sostiene, y también el coste de usar precios en tiempo real: los oráculos tratan los «números que pueden manipularse temporalmente» como si fueran la realidad misma.

04 La solución de Chainlink: descentralizar el precio

Si un sistema solo depende de una única fuente de datos, cuando esa fuente se equivoca o se manipula, todo el protocolo se verá desviado. La forma más directa de reducir este riesgo no es confiar en una persona más fuerte, sino hacer que varios nodos independientes entre sí informen por separado y, a partir de ello, extraer un resultado relativamente más sólido.

La solución de Chainlink adopta exactamente este enfoque: varios nodos de datos independientes obtienen precios desde diferentes fuentes de datos; cada uno los reporta, y el sistema toma la mediana como resultado final. De este modo, incluso si un nodo individual comete un error o si es influenciado por un atacante, no puede determinar el precio final; y para que el atacante controle simultáneamente a más de la mitad de los nodos, sería casi imposible completar esa tarea desde el punto de vista económico.

Esta mecánica reduce de manera efectiva el problema de la manipulación de un solo punto.

Pero también introduce un nuevo coste: la actualización con retraso.

Los precios en cadena no se sincronizan en tiempo real: los nodos recopilan datos, llegan a un consenso y los escriben en la blockchain; este proceso requiere tiempo. Cuando el mercado fluctúa de forma normal, este retraso no importa. Pero cuando el mercado cambia de forma brusca, el precio del oráculo puede no alcanzar a seguir las variaciones del precio real.

Por eso es que se menciona en Por qué en el préstamo y el endeudamiento de DeFi debemos sobrecolateralizar que los protocolos de préstamo en DeFi deben configurar una reserva de sobrecolateralización: no solo para hacer frente a la volatilidad del precio en sí, sino también para que, durante el período en que el oráculo aún no ha tenido tiempo de actualizarse, el sistema siga teniendo suficiente margen de seguridad para activar la liquidación.

05 Ataque a oráculos: la crisis de confianza más cara

El problema de los oráculos no desaparece por completo con la aparición de Chainlink.

En la historia de DeFi, las vulnerabilidades relacionadas con oráculos han sido una de las categorías de ataques con mayores pérdidas. Entre 2021 y 2023, solo los ataques de manipulación de oráculos documentados hasta la fecha acumularon pérdidas que superan varios cientos de millones de dólares.

Estas pérdidas tienen una característica común: el atacante no necesita encontrar vulnerabilidades en el código. Solo necesita encontrar la brecha entre el precio del oráculo y el precio real del mercado, y luego usar fondos para abrir más esa brecha, de modo que el contrato ejecute una operación que le favorezca al atacante con un precio distorsionado. Se trata de un riesgo más difícil de defender que una vulnerabilidad de código, porque no se puede escribir en el código una regla para determinar «si este precio es real».

El problema de los oráculos, en esencia, no es una vulnerabilidad de algún componente, sino una compensación:

Si usas más fuentes de datos para combatir la manipulación, debes aceptar un retraso mayor;

Si buscas un precio más cercano al tiempo real, debes asumir el riesgo de que pueda manipularse temporalmente.

No existe una solución perfecta para esta compensación.

Y precisamente por esto, la existencia de los oráculos revela una realidad más profunda de DeFi: los contratos en cadena pueden lograr una transparencia absoluta y una ejecución absoluta, pero la condición siempre es que la información de entrada en la que se basan sea real. En cuanto esa entrada se distorsiona, incluso el código perfecto solo logrará juzgar y ejecutar de forma errónea, pero con mayor eficiencia.

ETH8,44%
WBTC5,37%
BTC5,29%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Republicar
  • Compartir
Comentar
Añadir un comentario
Añadir un comentario
Sin comentarios
  • Anclado