Cargando precios…

Fallos del oráculo RWA: cuando los precios fuera de la cadena mienten

Los colapsos de activos tokenizados rara vez empiezan por el propio activo. Empiezan cuando un oráculo informa de un NAV obsoleto o un feed de precios deja de actualizarse, y DeFi sigue prestando contra la cifra de ayer.

Fallos del oráculo RWA: cuando los precios fuera de la cadena mienten

Qué hace realmente un oráculo de RWA y por qué es el único punto de fallo

Tokenizar un activo del mundo real significa construir una representación on-chain de algo que, en sentido estricto, no vive on-chain: un conjunto de préstamos de crédito privado, una cesta de bonos del Tesoro de EE. UU. a corto plazo, una participación en cuotas tokenizadas de un fondo del mercado monetario o un bono respaldado por inmuebles. El contrato inteligente necesita un número para aplicar las reglas de garantía, marcar a mercado las posiciones y activar liquidaciones. Ese número viene de un oráculo.

Para los activos cripto-nativos, los oráculos son, en gran medida, un problema de ingeniería ya resuelto. Chainlink obtiene precios spot de decenas de exchanges, los agrega con una mediana ponderada por volumen y envía actualizaciones cada pocos minutos o cada vez que los precios se mueven más allá de un umbral. Pyth hace algo parecido pero con un diseño basado en pull, donde el precio lo firman off-chain los market makers y se lleva on-chain solo cuando un protocolo DeFi lo solicita. Ambas arquitecturas asumen mercados continuos y líquidos con miles de tomadores de precios independientes.

Los activos del mundo real rompen esas hipótesis. El NAV de un pool de crédito privado lo calcula semanalmente un administrador del fondo a partir de datos a nivel de préstamo que llegan con lentitud. El NAV de un producto de tesorería tokenizada se mueve con precios de bonos que se negocian bajo cita previa, no a cada segundo. El oráculo ya no reporta un precio de mercado; reporta un cálculo, a menudo desde una única fuente de verdad, con una cadencia retrasada.

Aquí es donde los oráculos de NAV y los oráculos de precio empiezan a divergir de forma relevante para el riesgo. Un oráculo de precio reporta lo que el mercado pagará ahora mismo. Un oráculo de NAV reporta lo que el administrador del fondo cree que valen los activos, a menudo con suavizado, devengos y un retraso en la comunicación. Cuando un evento de crédito golpea a un pool de crédito privado, el oráculo de precio (si es que existe) puede colapsar de inmediato, mientras que el oráculo de NAV sigue reportando el último buen número durante días porque el administrador todavía no ha registrado la pérdida en la posición.

Cómo divergen los oráculos de NAV y de precio durante un evento de crédito

En un mercado sano, la diferencia es invisible. Ambos feeds dicen más o menos lo mismo, y un contrato inteligente que use uno u otro toma decisiones sensatas. La divergencia se abre en el momento en que un prestatario de un pool de crédito privado deja de pagar, es rebajado o, en el peor de los casos, incurre en impago.

Piensa en lo que le pasa a un pool senior estilo Goldfinch cuando uno de sus préstamos subyacentes va mal. El token del pool on-chain sigue reclamando un NAV basado en la actualización más reciente del administrador, que asumía que el préstamo se devolvería íntegro. El valor de mercado off-chain de los derechos sobre ese pool, el precio que un comprador secundario pagaría realmente, cae de inmediato en cuanto la noticia del impago llega a los escritorios de crédito. Durante horas o días, el oráculo on-chain y el oráculo en la cabeza de los traders pueden estar separados por decenas de puntos porcentuales.

Esta brecha es toda la superficie de ataque. Un prestatario que detecta la divergencia puede depositar el token del pool como garantía en otro lugar on-chain, pedir stablecoins prestadas contra el NAV inflado y desaparecer antes de que el oráculo de NAV se ponga al día con la realidad. Cuando el administrador emite un nuevo NAV que refleja el impago, la posición ya ha sido utilizada para retirar fondos. Esto no es un escenario hipotético. Es la forma estructural de cada exploit de RWA de crédito privado en los últimos dos años.

Los oráculos de precio se comportan de forma distinta. Un oráculo de precio dirigido por el mercado, del tipo que Pyth o Chainlink agregan a partir de mercados activos, reflejará el evento de crédito en cuestión de minutos, porque los traders reajustan el precio del token del pool de inmediato. El riesgo allí es el contrario: el oráculo puede volverse manipulable precisamente porque el mercado secundario es poco líquido, y unas pocas operaciones grandes pueden mover el precio reportado lo suficiente como para provocar liquidaciones indebidas.

Exploits de precios desactualizados: el modo de fallo más común en el crédito tokenizado

Un exploit de precio desactualizado no es un hack en el sentido tradicional. No se rompe nada, no se roban claves privadas, no se secuestra ninguna votación de gobernanza. El oráculo sigue funcionando como fue diseñado. Simplemente deja de actualizarse, o sigue reportando el último precio conocido mucho después de que ese precio ha dejado de ser cierto.

Esto sucede con frecuencia en los mercados RWA por razones operativas rutinarias. El administrador del fondo cierra el fin de semana. El feed de datos que entrega los flujos de caja a nivel de préstamo cae. La firma contable que firma el informe de NAV no cumple su plazo. Ninguno de estos eventos impide que los préstamos subyacentes vayan mal. Simplemente hacen que el número en la cadena deje de reflejarlo.

Los mercados de préstamos DeFi construidos sobre estos tokens, y ya hay varios cientos de millones de dólares en ellos, tratan al oráculo como verdad absoluta. Si el oráculo reportó por última vez un NAV de 1,02 $ hace dos días y un prestatario ha depositado un 150 % de colateral, el protocolo de préstamos considera que la posición es segura. Si el valor recuperable real ha caído a 0,80 $, el protocolo no lo sabe. Permitirá que el prestatario retire más, porque el ratio de colateral todavía parece correcto.

Los eventos de crédito de Maple Finance en 2023 ilustran esto con claridad. Cuando varias posiciones grandes de prestatarios en los pools de efectivo de Maple se torcieron, los tokens del pool se negociaron con descuentos significativos en los mercados secundarios casi de inmediato. El NAV en la cadena, actualizado mediante la infraestructura de oráculos de Maple con datos del administrador, no se puso al día durante días. Durante esa ventana, posiciones que ya estaban profundamente bajo el agua fuera de la cadena seguían apareciendo como seguras en la cadena, y varias integraciones DeFi se vieron obligadas a pausar o marcar manualmente las posiciones a la baja.

El caso de Goldfinch siguió un guion similar. Los NAV del senior pool se quedaron atrás de los eventos de crédito reportados durante días o semanas, y cualquier protocolo que integró el token del senior pool como colateral sin su propia verificación de precio en el mercado secundario terminó confiando en un número con el que ningún participante fuera de la cadena habría estado de acuerdo.

Las arquitecturas de Chainlink y Pyth, y el patrón de fallo que cada una esconde

La arquitectura de Chainlink está construida en torno a la agregación y la redundancia. Los datos se obtienen de muchos operadores de nodos independientes, cada uno extrayendo de múltiples exchanges o proveedores de datos, y luego se agregan en la cadena. La ventaja es la resistencia a que una sola fuente sea incorrecta o maliciosa. La desventaja es que la agregación solo funciona cuando existe un mercado líquido real del cual agregar. Cuando el mercado subyacente es delgado, un feed de Chainlink puede convertirse en un consenso de un pequeño número de fuentes lentas, que no es lo mismo que un verdadero precio de mercado.

Para pares de cripto de alto volumen, esto está bien. Para crédito tokenizado, inmuebles o fondos privados, los feeds de Chainlink a menudo están configurados para actualizarse según un calendario de latido (cada pocas horas, por ejemplo) o cuando se cruza un umbral de desviación. Si no se activa ninguna de estas dos condiciones, el precio simplemente no se actualiza. No hay una verificación de frescura integrada que diga «este precio tiene tres días de antigüedad, probablemente algo está mal». Esa responsabilidad recae en el protocolo consumidor, y muchas integraciones RWA simplemente no la implementan.

Pyth adopta un enfoque diferente. Los precios son firmados por un panel de market makers y publicadores, y luego se ponen a disposición en la cadena mediante un modelo pull. El consumidor paga por un precio nuevo cada vez que lo necesita, lo que significa que no existe tal cosa como un precio Pyth desactualizado en el sentido técnico: cada lectura es nueva por definición. El riesgo se traslada a los intervalos de confianza. Pyth publica un valor de confianza junto a cada precio, y un mercado delgado producirá una banda de confianza amplia. Si el protocolo consumidor ignora el valor de confianza y trata el precio mediano como verdad absoluta, puede ser tan explotable como un feed de Chainlink desactualizado.

La conclusión práctica para cualquiera que evalúe una integración RWA: un feed de Chainlink sin una verificación de frescura es candidato a exploits de precio desactualizado; un feed de Pyth sin una verificación de confianza es candidato a exploits por mercado delgado. Ambos son comunes.

Por qué la lógica de liquidación en la cadena confia en los datos de ayer

Los motores de liquidación en DeFi están diseñados para ser adversariales. Asumen que cualquier posición puede volverse insegura en cualquier momento y que un liquidador externo la cerrará con beneficio si ocurre. Esto funciona brillantemente para el colateral cripto-nativo porque el oráculo de precios se actualiza casi en tiempo real y el liquidador ve el mismo número que ve el protocolo.

Para el colateral RWA, la misma lógica de liquidación se ejecuta contra un número que puede tener horas o días de antigüedad. El protocolo no puede distinguir entre «el precio no se ha movido» y «el feed de precios ha dejado de actualizarse». Ambos se ven idénticos en la cadena. Desde la perspectiva del protocolo, un prestatario que depositó un token de crédito privado al 150 % de colateral hace dos días sigue estando al 150 % hoy, y la posición es segura.

Por eso el riesgo de oráculo en RWA es tan diferente del riesgo de oráculo en DeFi puro. Un feed de precio de ETH desactualizado es arbitrado en cuestión de segundos por buscadores profesionales que ejecutan bots keepers. Un feed de NAV desactualizado para un pool de crédito privado tokenizado no es arbitrable de la misma manera. La posición es ilíquida, el NAV proviene de un proceso dirigido por humanos, y no hay ningún mecanismo en la cadena que fuerce una actualización. El motor de liquidación no está fallando; está aplicando fielmente reglas que fueron escritas para un tipo diferente de activo.

El resultado es una clase silenciosa de insolvencia. Los libros del protocolo siguen cuadrarando. El ratio de colateral sigue leyéndose correctamente. El prestatario todavía puede retirar. Y mientras tanto, el valor recuperable real de los préstamos subyacentes se ha reducido a la mitad.

Implicaciones prácticas para cualquiera expuesto al crédito tokenizado

Si posees un token RWA directamente, la pregunta es si el oráculo de NAV del emisor puede quedarse atrás de la realidad durante una situación de estrés. La respuesta honesta es sí, por diseño. Los NAV de crédito privado e inmuebles se reportan con retrasos porque los activos subyacentes no se negocian de forma continua. Poseer el token significa aceptar que tu valor reportado y tu valor de liquidación pueden divergir bruscamente durante un evento de crédito.

Si aportas liquidez a un protocolo DeFi que acepta tokens RWA como colateral, la pregunta es más difícil. Ahora estás expuesto tanto al oráculo de NAV del emisor como a la lógica de verificación de precios del propio protocolo. Muchos protocolos implementan una verificación de precio en el mercado secundario, un pool estilo Uniswap, un agregado de Pyth, una referencia de Chainlink, para detectar la divergencia entre el NAV del emisor y el mercado activo. Algunos no lo hacen. La diferencia a menudo no es visible en la documentación del protocolo.

Algunas cosas concretas que buscar: una verificación de frescura en cada lectura del oráculo, idealmente con un corte estricto más allá del cual la posición se pause; una comparación explícita entre el NAV del emisor y al menos una fuente de precios independiente; y una política documentada sobre qué ocurre cuando las dos divergen. Si esas respuestas no son públicas, el protocolo está apostando implícitamente a que nunca harán falta.

Cómo seguir el riesgo de oráculos de RWA de forma inteligente

El riesgo de los oráculos de RWA se mueve en silencio, a menudo antes de que aparezca cualquier titular en las noticias. Un evento crediticio en un fondo de crédito privado puede tardar días en reflejarse en el NAV oficial del emisor, y las señales del mercado secundario son fáciles de pasar por alto a menos que sepas qué plataformas realmente negocian el token. Hacer un seguimiento manual de esto es una batalla perdida. Zippfeed agrega titulares sobre RWA, actualizaciones de protocolos relacionadas con oráculos y debates de gobernanza on-chain de los principales emisores, valorados por sentimiento (alcista, neutral o bajista) y etiquetados con una puntuación de importancia. Así puedes detectar la brecha entre el NAV reportado por el emisor y la visión real del mercado sobre el crédito subyacente, antes de que esa brecha se convierta en una pérdida realizada.

Preguntas frecuentes

¿Es seguro usar tokens RWA como garantía en DeFi?
Puede serlo, pero la seguridad depende casi por completo de la configuración del oráculo. Si el protocolo de préstamos confía únicamente en el feed de NAV del emisor y no lo contrasta con un precio vivo del mercado secundario, estás expuesto al riesgo de precio desactualizado durante un evento de crédito. Busca protocolos que apliquen controles de frescura, referencias del mercado secundario y políticas explícitas de divergencia antes de depositar.
¿Cómo funciona realmente un exploit de oráculo con precio obsoleto?
El atacante no rompe el oráculo. El oráculo sigue informando el último precio conocido porque nada ha disparado una actualización. El atacante detecta que la posición de crédito del mundo real vale mucho menos de lo que sugiere el NAV en la cadena, toma prestado contra la garantía inflada y retira antes de que el NAV se actualice. Cuando el administrador publica un nuevo NAV, los fondos ya han desaparecido.
¿Debería mantener crédito privado tokenizado en lugar de stablecoins?
El crédito privado tokenizado ofrece mayor rendimiento que los stablecoins, pero ese rendimiento proviene de riesgo de crédito real y riesgo operativo real, incluido el desfase del oráculo en momentos de estrés. Mantenerlo directamente está bien si aceptas que tu valor reportado y tu valor de salida pueden divergir bruscamente en un evento de crédito. Para la mayoría de usuarios, una asignación pequeña con un entendimiento claro del proceso de NAV del emisor es más sensata que una grande.
¿Cuál es la diferencia entre un oráculo de NAV y un oráculo de precios para RWAs?
Un oráculo de NAV informa un valor liquidativo calculado, normalmente por un administrador del fondo, con una programación retardada. Un oráculo de precios informa lo que el mercado secundario pagará realmente en ese momento. Durante un evento de crédito, ambos pueden divergir de forma drástica durante días, y la elección del oráculo determina si una integración DeFi ve la pérdida de inmediato o solo después de que pase el temporal.
Tokens relacionados
$LINK $PYTH $CC $MNT $ONDO