Saltar al contenido

Pausa de emergencia de un protocolo DeFi

Una pausa de emergencia puede detener determinadas acciones de contratos inteligentes mientras se investiga un incidente. Aprenda a verificar su alcance, autoridad, pruebas en cadena, vías de salida y condiciones de reapertura.

Actualizado

Solo con fines educativos; no constituye asesoramiento de inversión. Invertir puede ocasionar pérdidas.

Respuesta directa

Una pausa de emergencia es un control de contrato inteligente que bloquea acciones concretas mientras los operadores investigan o contienen un incidente. Por sí sola no demuestra que se hayan perdido fondos, no los hace recuperables ni detiene todas las funciones. El código desplegado determina si afecta a depósitos, retiros, préstamos, reembolsos, liquidaciones, swaps, transferencias, acuñación o actualizaciones.

La utilidad Pausable de OpenZeppelin ofrece un estado de pausa, los modificadores whenNotPaused y whenPaused, y los eventos Paused(account) y Unpaused(account). El protocolo debe conectar esas comprobaciones a funciones específicas y proteger sus propias entradas de pausa y reanudación. Otros protocolos usan varias banderas, bloqueos por mercado, límites o una máquina de estados.

Considere la pausa tanto una herramienta de respuesta como un poder privilegiado. Verifique el contrato y la red exactos, estado actual, transacción activadora, llamante, titulares de roles, funciones disponibles, contabilidad durante la pausa y condiciones de reapertura. Un botón desactivado en una web no es una prueba concluyente en cadena.

Cómo funciona

  1. Se detecta un desencadenante. La monitorización, colaboradores, auditores o usuarios pueden hallar un defecto de código, fallo del oráculo, cambio anómalo de saldo, ataque de gobernanza o alteración del mercado.
  2. Una cuenta autorizada envía una transacción. Puede ser un propietario, guardián, multisig, rol de acceso, ejecutor de gobernanza u otro contrato. Las etiquetas no son permisos: revise la ruta de autorización desplegada y cualquier administrador del proxy.
  3. El contrato cambia de estado. Un interruptor global bloquea todas las funciones protegidas; controles granulares pueden pausar solo un mercado o acción. Las funciones sin esa comprobación siguen ejecutándose.
  4. El estado y los eventos aportan pruebas. Lea la variable o getter de pausa, entrada y recibo de la transacción, eventos, hora del bloque y llamante. Los eventos reconstruyen el historial, pero el almacenamiento actual determina el estado presente.
  5. La contabilidad puede continuar. Índices de interés, financiación, recompensas, actualizaciones del oráculo, colas de retiro o relojes de liquidación pueden continuar, congelarse o ponerse al día después. No existe un comportamiento universal.
  6. Continúan la respuesta y la corrección. Los operadores pueden investigar, comunicar, revocar roles, cambiar parámetros, actualizar código, cubrir un déficit u ofrecer un retiro de emergencia. Cada acción exige autoridad y verificación propias.
  7. Reabrir es otra acción privilegiada. Confirme quién puede reanudar, si hay timelock o votación, qué código y configuración cambiaron, qué pruebas o auditorías cubren el cambio y si las aprobaciones o contratos antiguos siguen siendo riesgosos.

Use un explorador de bloques y código fuente o bytecode verificado para crear una matriz: acción, dirección del contrato, condición de pausa, disponibilidad actual, llamante autorizado y efecto sobre saldos o deuda. Contraste los anuncios mediante el dominio habitual, foro de gobernanza y cuentas oficiales; no confíe en respuestas o anuncios aparecidos durante el incidente.

Ejemplo

Suponga que un protocolo de préstamos detecta que su oráculo de garantías difiere 30% del mercado de referencia. Un guardián pausa nuevos préstamos y liquidaciones, pero mantiene reembolsos y depósitos de garantía. Así limita la exposición y evita liquidaciones con el precio controvertido, pero no demuestra que estén pausados los retiros, los intereses o todos los demás mercados.

El usuario debe verificar la transacción del guardián, dirección del mercado, banderas de pausa, estado del oráculo, reservas, índice de deuda y aviso oficial. Si la interfaz solo dice «Protocolo pausado», el mensaje no permite inferir toda la matriz de funciones.

Si la gobernanza instala después un nuevo oráculo y reabre el mercado, verifique cambios de implementación y parámetros, alcance de auditoría, llamante de la reanudación y estado posterior. Reabrir no demuestra que hayan vuelto la liquidez, solvencia o profundidad normal.

Riesgos

  • Autoridad excesiva. Una clave de pausa quizá también actualice código, cambie el oráculo, acuñe activos, mueva reservas u otorgue roles. Enumere cada permiso; no suponga que un guardián solo pausa.
  • Firmantes comprometidos o no disponibles. Una clave robada puede detener el servicio; firmantes multisig ausentes o correlacionados operativamente pueden impedir una pausa o reanudación oportuna.
  • Vías de evasión ocultas. Un administrador de proxy, módulo, entrada alternativa, ejecutor entre cadenas o función desprotegida puede eludir el control anunciado.
  • Salidas bloqueadas y obligaciones activas. Los retiros pueden detenerse mientras intereses, financiación, posición en cola u otras obligaciones cambian. Lea las reglas contables antes de actuar.
  • Reinicio inseguro. Puede reanudarse antes de verificar por completo causa, identidad del despliegue, configuración del oráculo, reservas e integraciones dependientes.
  • Phishing durante incidentes. Páginas falsas de «recuperación» o «migración» pueden pedir frase semilla, clave privada, firma o aprobación ilimitada. Nunca revele secretos de recuperación y verifique por separado cada dirección y aprobación.
  • Falsa confianza. La pausa solo reduce las rutas que protege. No prueba solvencia, no es auditoría ni seguro y no garantiza recuperar pérdidas.

Antes de volver a interactuar, archive transacción y anuncio, compare el código verificado con el proxy y la implementación activos, revise roles y timelocks, revoque aprobaciones obsoletas cuando corresponda y pruebe acciones esenciales con una cantidad que pueda perder. Las llamadas directas evitan una interfaz averiada, pero también sus controles de seguridad; no improvise sin entender calldata y estado.

Errores comunes

  • «Pausado significa que desaparecieron todos los activos». Puede ser preventivo; confirme saldos, obligaciones, reservas y funciones afectadas.
  • «Una interfaz desactivada significa que el contrato no puede usarse». Interfaz y estado son independientes. Solo haga llamadas directas si puede verificar objetivo, función, argumentos y consecuencias.
  • «Un guardián solo puede pausar». La etiqueta no tiene permisos estándar. Lea roles, propietarios, módulos y autoridad de actualización en cadena.
  • «El tiempo se detiene durante la pausa». La contabilidad económica y las colas pueden continuar o reanudarse con cambios acumulados.
  • «Reanudado significa corregido y seguro». Reabrir es una transición; corrección, auditorías, solvencia, aprobaciones y liquidez aún requieren comprobación independiente.

Temas relacionados

Fuentes

Navegación

Buscar en la wiki...