Ir para o conteúdo

Como escolher uma janela TWAP

Escolha o período retrospectivo do TWAP testando custo de manipulação, profundidade, atraso, observações disponíveis e valor em risco do protocolo, em vez de adotar uma duração universal.

Atualizado

Somente para fins educacionais; não é recomendação de investimento nem de segurança. Um oráculo de preços mal projetado pode causar liquidações indevidas, empréstimos subcolateralizados e perdas do protocolo.

Resposta direta

Não existe uma janela TWAP universalmente segura. Escolha a janela mais curta que ainda torne uma manipulação lucrativa impraticável para o pool e o protocolo específicos e confirme que o atraso continua aceitável durante um movimento real de preço. Uma janela maior normalmente exige que o atacante influencie o mercado por mais tempo, mas também mantém preços antigos na média. Ela não compensa liquidez escassa ou fora da trajetória relevante, valor em risco excessivo ou integração defeituosa.

A seleção é um exercício de orçamento de risco, não uma escolha entre 5 minutos, 30 minutos ou 1 hora. Documente pool e método de média, erro e atraso máximos, valor extraível, custo do ataque, histórico disponível e comportamento de contingência. Refaça a análise quando mudarem liquidez, incentivos, produção de blocos, limites de garantia ou estrutura do mercado.

Como funciona

Um oráculo acumulador registra o preço ao longo do tempo. Para um acumulador aritmético, a média entre t1 e t2 é:

TWAP(t1,t2) = (cumulativePrice(t2) - cumulativePrice(t1)) / (t2 - t1)

O Uniswap v2 acumula o preço no início de cada bloco e o consumidor salva dois valores. O Uniswap v3 salva observações de ticks cumulativos; converter o tick médio produz uma média geométrica ponderada pelo tempo. Método, direção da cotação, capacidade, arredondamento e atualização integram a especificação. Nem todo TWAP é uma média aritmética de amostras spot.

Use este processo:

  1. Defina a função de perda. Registre o efeito sobre empréstimo, liquidação, emissão, resgate ou liquidação contratual e estabeleça erro e atraso máximos nas altas e nas quedas.
  2. Meça a liquidez executável. Modele reservas, taxas e liquidez ativa por toda a trajetória de preço do ataque. TVL e volume recente não provam resistência por si sós.
  3. Limite o ganho do atacante. Inclua limites de garantia e empréstimo, bônus de liquidação, posições abertas, composição com outros protocolos e lucro antes da pausa. Compare o custo com todo o valor extraível.
  4. Modele ataques viáveis. Teste distorções de um e vários blocos, capital flash, controle do proponente ou da ordem, arbitragem, back-running, congestionamento e desmontagem. Pesquisas mostram que a hipótese de custo linear com a janela pode falhar contra atacantes mais fortes.
  5. Varra as janelas candidatas. Simule saltos históricos e trajetórias adversárias para cada duração. Descarte as que permitam manipulação lucrativa ou preços inaceitavelmente antigos.
  6. Adicione controles independentes. Use limites de exposição, verificações contra uma referência independente, limites de obsolescência, garantias conservadoras e regras testadas de pausa ou contingência. Eles limitam perdas, mas não tornam segura uma fonte insegura.

O resultado é específico do pool, faixa de taxa, blockchain, implementação, par e estado do protocolo. Copiar 30 minutos não copia a liquidez nem os limites de perda de outro protocolo.

Exemplo

Suponha um TWAP aritmético simplificado e um preço que muda instantaneamente de 100 para 70 e permanece em 70. Após 15 minutos, a janela móvel de 30 minutos contém 15 minutos em cada preço:

(15 x 100 + 15 x 70) / 30 = 85

Após 30 minutos, as observações antigas de 100 saem e o TWAP chega a 70. Uma janela de 5 minutos chega a 70 após 5 minutos, mas o atacante também precisa sustentar a distorção por menos tempo. Em empréstimos, avaliar garantias perto de 85 quando o mercado executável está perto de 70 pode atrasar a liquidação e gerar dívida incobrável; outro uso pode aceitar um valor mais lento.

O exemplo isola apenas o atraso, não estima o custo de manipulação, e 85 não se aplica a uma média geométrica. Uma revisão real deve reproduzir a fórmula exata com observações, liquidez ativa, taxas, sequência de blocos e posições.

Riscos e controles

  • Janela curta demais: poucos blocos distorcidos podem tornar o ataque lucrativo. Fortaleça fonte ou mercado, reduza a exposição ou diversifique a referência.
  • Janela longa demais: o oráculo atrasa um salto real, posterga liquidações na queda ou subestima garantias na alta. Meça o pior atraso e use parâmetros conservadores.
  • Liquidez mal medida: o TVL pode estar inativo, concentrado, unilateral ou fora da trajetória. Use profundidade executável nos ticks e preços relevantes.
  • Falha de observação: pouco histórico, dados antigos, capacidade não inicializada, horário, pool ou direção errados invalidam o cálculo. Reverta ou entre em estado seguro documentado; não substitua silenciosamente.
  • Modelo incompleto do atacante: liquidez flash, proponente de vários blocos, ordenação e lucros entre protocolos reduzem o custo líquido. Faça testes de estresse; “taxa vezes minutos” não é prova.
  • Mudança de governança e mercado: migração, taxas, novas garantias, limites maiores, upgrades ou troca de blockchain podem invalidar o teste. Monitore entradas e defina revisão obrigatória.
  • Falha da contingência: uma fonte independente pode ter cobertura, decimais, atraso e falhas diferentes. Defina quando pausar, rejeitar, limitar ou trocar e teste o caminho on-chain.

Antes da implantação, publique unidade, direção, método, janela, histórico mínimo, critérios do pool, limites e comportamento de falha. Depois, monitore o desvio da referência e os dados econômicos do modelo de ataque.

Erros comuns

  • “Uma janela maior é sempre mais segura.” Pode alongar o ataque, mas aumenta o atraso e não corrige liquidez fraca nem um modelo incompleto.
  • “Um TWAP de 30 minutos é uma garantia do setor.” A duração é apenas um parâmetro entre profundidade, liquidez ativa, taxas, blocos, fórmula e valor em risco.
  • “Flash loans não afetam o TWAP.” Eles removem restrições de capital na transação. O resultado depende da amostragem, da parte influenciável e da lógica ao redor.
  • “TVL alto significa custo de manipulação alto.” Só a liquidez executável na trajetória relevante resiste diretamente à operação modelada.
  • “TWAP é o preço atual do mercado.” É a média de estados on-chain históricos de um mercado específico, portanto tem atraso intencional e pode não representar o mercado amplo.

Tópicos relacionados

Fontes

Navegação

Pesquisar na wiki...