Ir para o conteúdo

Pausa de emergência de protocolo DeFi

Uma pausa de emergência pode interromper ações específicas de contratos inteligentes enquanto um incidente é investigado. Saiba como verificar escopo, autoridade, evidências on-chain, caminhos de saída e condições de reabertura.

Atualizado

Somente para fins educacionais; não constitui recomendação nem aconselhamento de investimento. Investir pode causar perdas.

Resposta direta

Uma pausa de emergência é um controle de contrato inteligente que bloqueia ações específicas enquanto operadores investigam ou contêm um incidente. Sozinha, ela não prova que fundos foram perdidos, não os torna recuperáveis nem interrompe toda função. O código implantado determina se depósitos, saques, empréstimos, pagamentos, liquidações, swaps, transferências, emissão ou upgrades são afetados.

O utilitário Pausable da OpenZeppelin fornece um estado de pausa, os modificadores whenNotPaused e whenPaused e os eventos Paused(account) e Unpaused(account). O protocolo ainda precisa ligar essas verificações a funções específicas e proteger suas próprias entradas de pausa e retomada. Protocolos personalizados podem usar várias flags, bloqueios por mercado, limites ou máquina de estados.

Considere a pausa uma ferramenta de resposta e também um poder privilegiado. Verifique contrato e rede exatos, estado atual, transação acionadora, chamador, detentores de papéis, funções disponíveis, contabilidade durante a pausa e condições de reabertura. Um botão desativado no site não é evidência on-chain definitiva.

Como funciona

  1. Um gatilho é detectado. Monitoramento, colaboradores, auditores ou usuários podem identificar defeito no código, falha de oráculo, alteração anormal de saldo, ataque de governança ou deslocamento de mercado.
  2. Uma conta autorizada envia uma transação. Pode ser proprietário, guardião, multisig, papel de controle de acesso, executor de governança ou outro contrato. Rótulos não são permissões; inspecione o caminho de autorização implantado e qualquer administrador do proxy.
  3. O contrato muda de estado. Um interruptor global bloqueia todas as funções protegidas; controles granulares podem pausar só um mercado ou ação. Funções sem a verificação relevante continuam executáveis.
  4. Estado e eventos fornecem evidências. Leia variável ou getter de pausa, entrada e recibo da transação, eventos emitidos, horário do bloco e chamador. Eventos reconstroem o histórico, mas o armazenamento atual determina o estado presente.
  5. A contabilidade pode continuar. Índices de juros, funding, recompensas, atualizações do oráculo, filas de saque ou relógios de liquidação podem continuar, congelar ou recuperar o atraso depois. Não há comportamento universal.
  6. Resposta e correção prosseguem. Operadores podem investigar, comunicar, revogar papéis, alterar parâmetros, atualizar código, cobrir déficit ou oferecer saque emergencial. Cada ação exige autoridade e verificação on-chain próprias.
  7. Reabrir é outra ação privilegiada. Confirme quem pode retomar, se há timelock ou votação, o que mudou no código e configuração, quais testes ou auditorias cobrem a mudança e se aprovações ou contratos antigos continuam arriscados.

Use explorador de blocos e código-fonte ou bytecode verificado para montar uma matriz: ação, endereço do contrato, condição de pausa, disponibilidade atual, chamador autorizado e efeito sobre saldos ou dívida. Cruze anúncios pelo domínio estabelecido, fórum de governança e contas oficiais; não confie em respostas ou anúncios surgidos durante o incidente.

Exemplo

Suponha que um protocolo de empréstimos detecte que seu oráculo de garantia está 30% distante do mercado de referência. Um guardião pausa novos empréstimos e liquidações, mas mantém pagamentos e depósitos de garantia. Isso limita nova exposição e evita liquidações pelo preço contestado, mas não mostra que saques, juros ou todos os outros mercados estejam pausados.

O usuário deve verificar transação do guardião, endereço do mercado, flags de pausa, estado do oráculo, reservas, índice de dívida e comunicado oficial. Se a interface apenas disser “Protocolo pausado”, a mensagem ainda não revela toda a matriz de funções.

Se a governança depois instalar novo oráculo e reabrir o mercado, verifique mudanças de implementação e parâmetros, escopo da auditoria, chamador da retomada e estado posterior. Reabrir não prova que liquidez, solvência ou profundidade normal voltaram.

Riscos

  • Autoridade excessiva. Uma chave de pausa talvez também atualize código, altere o oráculo, emita ativos, mova reservas ou conceda papéis. Enumere cada permissão; não suponha que o guardião só pause.
  • Signatários comprometidos ou indisponíveis. Chave roubada pode parar o serviço; signatários multisig indisponíveis ou operacionalmente correlacionados podem impedir pausa ou retomada oportuna.
  • Desvios ocultos. Administrador de proxy, módulo, entrada alternativa, executor entre redes ou função desprotegida pode contornar o controle anunciado.
  • Saídas bloqueadas e obrigações ativas. Saques podem parar enquanto juros, funding, posição na fila ou outras obrigações mudam. Leia as regras contábeis antes de agir.
  • Reinício inseguro. A retomada pode ocorrer antes da verificação completa de causa, identidade da implantação, configuração do oráculo, reservas e integrações dependentes.
  • Phishing durante incidentes. Páginas falsas de “recuperação” ou “migração” podem pedir frase-semente, chave privada, assinatura ou aprovação ilimitada. Nunca revele segredos de recuperação e verifique separadamente cada endereço e aprovação.
  • Falsa confiança. A pausa reduz apenas os caminhos realmente protegidos. Não prova solvência, não é auditoria nem seguro e não garante recuperar perdas.

Antes de interagir novamente, arquive transação e anúncio, compare código verificado com proxy e implementação ativos, examine papéis e timelocks, revogue aprovações obsoletas quando adequado e teste ações essenciais com valor que possa perder. Chamadas diretas contornam uma interface quebrada, mas também seus controles de segurança; não improvise sem entender calldata e estado.

Erros comuns

  • “Pausado significa que todos os ativos sumiram.” A pausa pode ser preventiva; confirme saldos, obrigações, reservas e funções afetadas.
  • “Interface desativada significa contrato inutilizável.” Disponibilidade do frontend e estado do contrato são separados. Só faça chamadas diretas se puder verificar alvo, função, argumentos e consequências.
  • “Um guardião só pode pausar.” O rótulo não tem permissões padrão. Leia papéis, proprietários, módulos e autoridade de upgrade on-chain.
  • “O tempo para durante a pausa.” Contabilidade econômica e filas podem continuar ou retomar com mudanças acumuladas.
  • “Retomado significa corrigido e seguro.” Reabrir é uma transição; correção, auditorias, solvência, aprovações e liquidez ainda exigem verificação independente.

Tópicos relacionados

Fontes

Navegação

Pesquisar na wiki...