Auditoría de seguridad de contratos inteligentes
Revisión de seguridad independiente y evaluación arquitectónica del protocolo Arboreteum.
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
| Rol | Funciones asociadas | Nivel 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.











