Mecanismo Hook de Uniswap v4: una doble prueba de innovación y seguridad

robot
Generación de resúmenes en curso

El mecanismo Hook de Uniswap v4: oportunidades y desafíos coexisten

Uniswap v4 se lanzará pronto, y esta versión introducirá varias funciones innovadoras, entre las cuales el mecanismo Hook es especialmente destacado. Hook permite ejecutar código personalizado en nodos específicos del ciclo de vida del pool de liquidez, lo que mejora significativamente la escalabilidad y flexibilidad del pool. Sin embargo, esta poderosa función también presenta nuevos desafíos de seguridad.

Este artículo, como la introducción de una serie, tiene como objetivo presentar de manera sistemática los problemas de seguridad y los riesgos potenciales relacionados con el mecanismo Hook, con el fin de promover el desarrollo seguro de la comunidad. Creemos que estas ideas ayudarán a construir un ecosistema de Uniswap v4 Hook más seguro.

Mecanismo central de Uniswap V4

Antes de profundizar en los problemas de seguridad, necesitamos comprender algunos de los mecanismos centrales de Uniswap v4:

Mecanismo Hook

Hook es un contrato que opera en diferentes etapas del ciclo de vida del fondo de liquidez. Actualmente hay 8 callbacks de Hook, divididos en 4 grupos:

  • beforeInitialize/afterInitialize
  • beforeModifyPosition/afterModifyPosition
  • antes de intercambiar/después de intercambiar
  • antesDeDonar/despuésDeDonar

A través del mecanismo Hook, se pueden implementar funciones como el soporte nativo para tarifas dinámicas, agregar órdenes limitadas en cadena, y realizar la creación de mercado de manera ponderada por tiempo (TWAMM) para dispersar grandes órdenes.

¿Por qué se dice que Hook es una "espada de doble filo" en Uniswap V4?

Patrón singleton y contabilidad relámpago

Uniswap v4 adopta una arquitectura de singleton, donde todas las piscinas de liquidez se almacenan en un mismo contrato inteligente. Esto depende de un PoolManager para almacenar y gestionar el estado de todas las piscinas.

La contabilidad relámpago es un nuevo mecanismo de contabilidad. La operación ya no transfiere tokens directamente, sino que ajusta el saldo neto interno. La transferencia real se lleva a cabo al final de la operación.

mecanismo de bloqueo

El mecanismo de bloqueo previene el acceso concurrente y asegura que todas las transacciones puedan ser liquidadas. El proceso principal es el siguiente:

  1. Solicitud de lock del contrato locker
  2. PoolManager añade la dirección del locker a la cola y llama a su callback.
  3. lógica de ejecución del locker, interacción con el pool
  4. PoolManager verifica el estado, elimina el locker

Debido al mecanismo de bloqueo, las cuentas externas no pueden interactuar directamente con el PoolManager, deben hacerlo a través del contrato.

Modelo de Amenaza

Principalmente consideramos dos modelos de amenaza:

  • Modelo de amenaza I: Hook es benigno, pero tiene vulnerabilidades
  • Modelo de amenaza II: Hook es malicioso en sí mismo

Problemas de seguridad en el modelo de amenaza I

Nos centramos principalmente en las vulnerabilidades potenciales específicas de la versión v4, especialmente en la lógica relacionada con la interfaz estándar de Hook. Enfoque en dos tipos de Hook:

  1. Hook que custodia los fondos de los usuarios
  2. Hook para almacenar datos de estado clave

A través del análisis de ejemplos de proyectos comunitarios, hemos encontrado algunas vulnerabilidades graves, que se dividen principalmente en dos categorías:

Problemas de control de acceso

La función de devolución de llamada Hook solo debe ser llamada por PoolManager. La falta de control de acceso puede dar lugar a operaciones no autorizadas, como la recolección incorrecta de recompensas.

Problema de verificación de entrada

En algunas implementaciones de Hook, la validación de entrada inadecuada puede llevar a llamadas externas no confiables. Los atacantes pueden atacar estos Hooks registrando fondos maliciosos.

¿Por qué se dice que Hook es una "espada de doble filo" en Uniswap V4?

Problemas de seguridad en el modelo de amenaza II

Vamos a dividir Hook en dos categorías para discutir:

Hook de custodia

Los usuarios interactúan con Hook a través del enrutador. Aunque es difícil robar activos directamente, es posible manipular el mecanismo de gestión de tarifas.

Gancho independiente

Los usuarios pueden interactuar directamente con Hook, otorgándole más poder. Si Hook es actualizable, podría constituir un riesgo significativo.

Medidas de prevención

Para el modelo de amenaza I:

  • Implementar controles de acceso necesarios
  • Validar los parámetros de entrada
  • Añadir protección contra reingresos

Para el modelo de amenaza II:

  • Evaluar si el Hook es malicioso
  • Prestar atención a la gestión de costos ( tipo de custodia )
  • Preste atención a si se puede actualizar ( independiente )

Este artículo explora de manera preliminar los problemas de seguridad del mecanismo Hook de Uniswap v4. En artículos posteriores, realizaremos un análisis más profundo de los problemas de seguridad bajo cada modelo de amenaza.

¿Por qué se dice que Hook es una "espada de doble filo" en Uniswap V4?

UNI-1.34%
HOOK-5.45%
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 7
  • Compartir
Comentar
0/400
StakeWhisperervip
· hace4h
Después de 3 años jugando con DeFi, no creo que un gancho pueda resolver el verdadero problema.
Ver originalesResponder0
MetaverseVagabondvip
· hace17h
Demasiado agotador, ¿no? Dejemos los problemas de seguridad en manos de los hackers.
Ver originalesResponder0
MonkeySeeMonkeyDovip
· hace17h
Este hook, si se hace demasiado, puede causar problemas.
Ver originalesResponder0
MeaninglessApevip
· hace17h
Hook otra vez viene a tomar a la gente por tonta
Ver originalesResponder0
GraphGuruvip
· hace17h
v4 parece que ha comenzado a jugar con hook, la sensación de seguridad es preocupante.
Ver originalesResponder0
SignatureAnxietyvip
· hace17h
Hook, ¿qué hacemos si esta trampa salió mal?
Ver originalesResponder0
DeFi_Dad_Jokesvip
· hace17h
Otra vez la misma trampa bajo el nombre de innovación, interfaz curd.
Ver originalesResponder0
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)