Seleccione su idioma

Auditoría

Auditoría de seguridad de contratos inteligentes

Revisión de seguridad independiente y evaluación arquitectónica del protocolo Arboreteum.

Contrato objetivo: Arboreteum (Proxy UUPS)
Red: Arbitrum Uno
Versión de Solidity: ^0.8.28

1. Resumen ejecutivo

Arboreteum (ARM) es un token de utilidad ERC-20 actualizable que incorpora un mecanismo de precios de curva de vinculación continua, graduación de liquidez automatizada de Uniswap V2 (con un umbral de 20 ETH), tarifas de transferencia configurables y control de acceso basado en roles mediante el estándar de proxy UUPS de OpenZeppelin.

El código base demuestra una alta limpieza arquitectónica, una correcta adhesión a los patrones de seguridad de actualización (como la desactivación de inicializadores en el constructor de implementación) y una optimización eficaz del gas mediante errores personalizados.

2. Arquitectura y mecánica central

A. Actualizabilidad y Seguridad

  • Bloqueo del constructor: El constructor de implementación ejecuta correctamente _disableInitializers() para evitar la inicialización directa del contrato lógico.
  • Actualizaciones con control de acceso: Las actualizaciones están restringidas mediante la anulación _authorizeUpgrade, que requiere el rol UPGRADER_ROLE.
  • Control de versiones: Incluye lógica de reinicialización con versiones (initializeV5) para actualizar de forma segura los parámetros de la curva después de la implementación.

B. Curva de vinculación y Graduación de Liquidez

  • Precios Dinámicos: Los costos de compra y las ganancias de venta se ajustan con precisión según las variaciones de la oferta circulante mediante factores de escalado exactos.
  • Graduación DEX Automatizada: Una vez que totalRecaudado alcanza o supera el UMBRAL DE GRADUACIÓN (20 ETH), un administrador autorizado puede activar finalizarGraduación(). Esto despliega el 80% del ETH del contrato y los tokens emparejados en Uniswap V2, envía el ETH restante al destinatario de la comisión y bloquea los tokens LP en la dirección de quema (0x0000...dEaD).

3. Control de Acceso y Matriz de privilegios

RolFunciones asociadasNivel de seguridad
ROL DE ADMINISTRADOR PREDETERMINADO pause(), unpause(), emergencyWithdrawETH() Alto nivel de confianza
ROL DE GERENTE finalizeGraduation(), setFees() Confianza media
ROL DE ACTUALIZADOR initializeV5(), Actualizaciones de lógica proxy Confianza crítica

4. Hallazgos y recomendaciones

  • Deslizamiento fijo de LP (informativo): La función _graduate() utiliza una configuración fija de lpSlippageBps (5%). Agregar una función de asignación restringida por el administrador para este valor en futuras actualizaciones proporciona una flexibilidad útil durante la congestión de la red.
  • Pagos externos mediante .call: Las distribuciones de moneda nativa utilizan `.call` de bajo nivel, lo que es seguro frente a los límites de gas, siempre que los destinatarios de las comisiones designados sean contratos o EOA configurados correctamente y capaces de recibir transferencias nativas.
  • Advertencias estáticas del compilador: Las advertencias estándar del explorador de bloques relacionadas con casos límite menores de contabilidad del optimizador de Solidity son informativas y no afectan la seguridad de la ejecución actual.

5. Conclusión

La arquitectura del protocolo Arboreteum es estructuralmente sólida, limpia y está correctamente optimizada para su implementación en Arbitrum One.

Mantener una estricta higiene de seguridad sobre las claves privadas de roles privilegiados garantiza el funcionamiento seguro y continuo del protocolo.