Solo con fines educativos; no es asesoramiento de inversión ni de seguridad. Un oráculo de precios mal diseñado puede causar liquidaciones erróneas, préstamos infragarantizados y pérdidas del protocolo.
Respuesta directa
No existe una ventana TWAP segura para todos los casos. Elija la ventana más corta que aún haga inverosímil una manipulación rentable para ese pool y protocolo y compruebe que su retraso sea aceptable durante un movimiento real. Una ventana mayor suele exigir que el atacante influya más tiempo, pero conserva precios antiguos durante más tiempo. No compensa poca liquidez, liquidez concentrada fuera de la ruta de precios, demasiado valor en riesgo ni una integración defectuosa.
La selección es un presupuesto de riesgo, no una elección entre 5 minutos, 30 minutos o 1 hora. Documente el pool y el método de promedio, el error y retraso máximos, el valor extraíble, el coste de ataque, el historial disponible y la respuesta ante fallos. Repita el análisis si cambian la liquidez, los incentivos, la producción de bloques, los límites de garantía o la estructura del mercado.
Cómo funciona
Un oráculo acumulador registra el precio a lo largo del tiempo. Para un acumulador aritmético, la media entre t1 y t2 es:
TWAP(t1,t2) = (cumulativePrice(t2) - cumulativePrice(t1)) / (t2 - t1)
Uniswap v2 acumula el precio al inicio de cada bloque y el consumidor guarda dos valores. Uniswap v3 guarda observaciones de ticks acumulados, por lo que convertir el tick medio produce una media geométrica ponderada por tiempo. Método, dirección de cotización, capacidad, redondeo y actualización forman parte de la especificación; no todo TWAP es una media aritmética de muestras spot.
Use este proceso:
- Defina la función de pérdida. Registre cómo el precio cambia préstamo, liquidación, emisión, reembolso o liquidación contractual, y fije retraso y error máximos tanto al alza como a la baja.
- Mida la liquidez ejecutable. Modele reservas, comisiones y liquidez activa a lo largo de toda la ruta del ataque. El TVL y el volumen reciente no demuestran por sí solos resistencia.
- Acote la ganancia del atacante. Incluya límites de garantía y préstamo, bonificaciones de liquidación, posiciones abiertas, composición con otros protocolos y beneficio previo a una pausa. Compare el coste con todo el valor extraíble.
- Modele ataques viables. Pruebe distorsión de uno y varios bloques, capital flash, control del proponente u ordenación, arbitraje, back-running, congestión y deshacer posiciones. La investigación muestra que el supuesto lineal de coste y ventana puede fallar con atacantes más fuertes.
- Recorra ventanas candidatas. Simule saltos históricos y rutas adversarias para cada duración. Descarte las que permitan manipulación rentable o precios inaceptablemente antiguos.
- Añada controles independientes. Use límites de exposición, comprobaciones frente a una referencia independiente, límites de antigüedad, garantías conservadoras y políticas probadas de pausa o respaldo. Limitan pérdidas, pero no vuelven segura una fuente insegura.
El resultado es específico del pool, nivel de comisión, cadena, implementación, par y estado. Copiar 30 minutos de otro protocolo no copia su liquidez ni sus límites de pérdida.
Ejemplo
Suponga un TWAP aritmético simplificado y que el precio pasa de 100 a 70 al instante y permanece en 70. Quince minutos después, la ventana móvil de 30 minutos contiene 15 minutos a cada precio:
(15 x 100 + 15 x 70) / 30 = 85
Tras 30 minutos, las observaciones 100 salen por completo y el TWAP llega a 70. Una ventana de 5 minutos llega a 70 tras 5 minutos, pero el atacante también debe sostener la distorsión menos tiempo. En préstamos, valorar garantías cerca de 85 cuando el mercado ejecutable está cerca de 70 puede retrasar liquidaciones y generar deuda incobrable; otro uso puede tolerar un valor más lento.
El ejemplo solo aísla el retraso, no estima el coste de manipulación, y 85 no se aplica a una media geométrica. Una revisión real debe reproducir la fórmula exacta con observaciones, liquidez activa, comisiones, secuencia de bloques y posiciones.
Riesgos y controles
- Ventana demasiado corta: pocos bloques distorsionados pueden rentabilizar el ataque. Refuerce fuente o mercado, reduzca exposición o use una referencia más diversa.
- Ventana demasiado larga: el oráculo queda rezagado, retrasa liquidaciones al caer o infravalora garantía al subir. Mida el peor retraso y use parámetros conservadores.
- Liquidez mal medida: el TVL puede estar inactivo, concentrado, ser unilateral o quedar fuera de la ruta. Use profundidad ejecutable en ticks y precios relevantes.
- Fallo de observación: poco historial, datos antiguos, capacidad sin inicializar, hora, pool o dirección erróneos invalidan el cálculo. Revierta o entre en un estado seguro documentado; no sustituya en silencio.
- Modelo de atacante incompleto: liquidez flash, proponentes multibloque, ordenación y beneficios entre protocolos reducen el coste neto. Someta los supuestos a estrés; «comisión por minutos» no es una prueba.
- Cambio de gobernanza o mercado: migración de liquidez, comisiones, nuevas garantías, límites mayores, actualizaciones o cambio de cadena pueden invalidar la prueba. Supervise entradas y defina umbrales de revisión.
- Fallo del respaldo: una fuente independiente puede diferir en cobertura, decimales, demora y fallos. Defina cuándo pausar, rechazar, limitar o cambiar y pruebe la ruta en cadena.
Antes del despliegue, publique unidad, dirección, método, ventana, historial mínimo, criterios del pool, límites y conducta ante fallos. Después, supervise la desviación frente a la referencia y los datos económicos del modelo de ataque.
Errores comunes
- «Una ventana más larga siempre es más segura». Puede alargar el ataque, pero aumenta el retraso y no corrige poca liquidez ni un modelo incompleto.
- «Un TWAP de 30 minutos es una garantía del sector». La duración es solo un parámetro junto con profundidad, liquidez activa, comisiones, bloques, fórmula y valor en riesgo.
- «Un préstamo flash no puede afectar al TWAP». Elimina límites de capital dentro de una transacción. El resultado depende del muestreo, la parte influenciable y la lógica adyacente.
- «Un TVL alto implica un coste de manipulación alto». Solo la liquidez ejecutable en la ruta relevante resiste directamente la operación modelada.
- «El TWAP es el precio actual». Promedia estados históricos en cadena de un mercado concreto; se retrasa intencionadamente y puede no representar el mercado amplio.
Temas relacionados
- Fondo de liquidez
- Liquidación de criptoactivos
- Ataques a oráculos
- Precios de oráculo obsoletos
- Oráculo TWAP
Fuentes
- Uniswap v2 Core - Uniswap (consulta: 2026-08-21)
- Uniswap v3 Core - Uniswap (consulta: 2026-08-21)
- Uniswap v3 TWAP Oracles in Proof of Stake - Uniswap Labs (consulta: 2026-08-21)
- TWAP Oracle Attacks: Easier Done than Said? - IEEE (consulta: 2026-08-21)