Autor: Liam 'Akiba' Wright, Cryptoslate; Compilador: Bai Shui, Golden Finance;
La capacidad de actualización del agente de contrato inteligente permite a los desarrolladores actualizar la lógica de los contratos inteligentes implementados preservando al mismo tiempo el estado y la dirección del contrato. Esto proporciona flexibilidad para corregir errores o agregar funciones, pero también introduce riesgos potenciales.
Los contratos inteligentes son protocolos autoejecutables en una red blockchain que tradicionalmente se ejecutan como código inmutable una vez implementados. Esta inmutabilidad es la piedra angular de la confianza en la tecnología blockchain, ya que garantiza que los términos del contrato no puedan cambiarse unilateralmente. Sin embargo, no poder modificar el contrato después de la implementación puede generar desafíos, principalmente cuando se descubren errores o se necesitan mejoras.
Capacidad de actualización de agentes en contratos inteligentes
La capacidad de actualización del agente resuelve esta limitación mediante la introducción de un sistema de contrato dual. El contrato de proxy almacena el estado y retiene los fondos del usuario, mientras que un contrato lógico separado contiene la funcionalidad real. El agente delega llamadas de función a contratos lógicos, que pueden reemplazarse con versiones mejoradas sin cambiar la dirección del agente ni alterar los datos almacenados.
Este enfoque tiene importantes ventajas. Los desarrolladores pueden corregir vulnerabilidades, implementar nuevas funciones y optimizar el rendimiento sin interrumpir la interacción del usuario ni requerir migración de capital. Los principales protocolos DeFi, incluidos Compound, Aave y Uniswap V3, han adoptado contratos actualizables y utilizan esta flexibilidad para mejorar sus plataformas con el tiempo mientras se establecen como una entidad relativamente confiable.
Estos protocolos han implementado prácticas de seguridad integrales, que incluyen auditorías exhaustivas, verificación formal y programas continuos de recompensas por errores. Sus contratos inteligentes son de código abierto, lo que permite la revisión y verificación pública de la funcionalidad. Además, han adoptado un sistema de gobernanza descentralizado donde los poseedores de tokens pueden participar en la toma de decisiones, aumentando así la transparencia y reduciendo el riesgo de cambios unilaterales que podrían dañar a los usuarios.
Su trayectoria establecida mejora aún más la credibilidad de estos acuerdos. Llevan mucho tiempo operando con éxito y gestionan miles de millones de dólares en activos. Están constantemente actualizando y mejorando sus sistemas basándose en los comentarios de la comunidad y las condiciones cambiantes del mercado. Los sólidos sistemas de monitoreo y alerta y los planes detallados de respuesta a incidentes demuestran su compromiso con la seguridad.
Además, aunque se encuentran en un campo emergente, sus esfuerzos de cumplimiento normativo añaden una capa adicional de credibilidad desde la perspectiva del regulador. La alta liquidez de estos protocolos también les ayuda a resistir ciertos tipos de ataques y manipulación del mercado. Sin embargo, ningún sistema está completamente libre de riesgos y los usuarios siempre deben tener cuidado y realizar su propia diligencia debida al interactuar con cualquier protocolo DeFi.
Riesgos de los contratos inteligentes actualizables
La capacidad de modificar la lógica de los contratos inteligentes introduce nuevas vías potenciales de explotación. Los riesgos de centralización se convierten en una preocupación importante y las capacidades de actualización a menudo están controladas por un pequeño grupo de administradores o actores de gobernanza. Si no se combina con prácticas DAO transparentes, esta concentración de poder podría contrastar marcadamente con el espíritu descentralizado de muchos proyectos blockchain.
Las actualizaciones maliciosas son otra amenaza potencial. Si son atacados o actúan maliciosamente, los administradores teóricamente podrían alterar la lógica del contrato para robar fondos de los usuarios o manipular las operaciones del protocolo. Si bien los procesos de gobernanza y las medidas de seguridad están diseñados para reducir este riesgo, con el aumento de sofisticadas estafas de phishing mediante IA, esta posibilidad sigue siendo una fuente de debate dentro de la comunidad.
Las vulnerabilidades técnicas en el propio proceso de actualización plantean peligros adicionales. Los errores durante el proceso de actualización pueden resultar en pérdida de fondos, datos corruptos o dejar el contrato inoperable. La complejidad del modo proxy aumenta la superficie de ataque y puede introducir errores sutiles que tal vez no se detecten hasta que se exploten.
Cómo interactuar de forma segura con DeFi
Para los usuarios que navegan por el espacio DeFi, identificar y evaluar contratos actualizables se ha vuelto fundamental. Examinar los patrones de proxy en el código de contrato (como el patrón de proxy de OpenZeppelin) puede revelar características de capacidad de actualización. La documentación del acuerdo a menudo revela capacidades de actualización, pero los usuarios deben tener en cuenta que es posible que esta información no siempre esté resaltada.
Evaluar la seguridad de un contrato actualizable requiere una cuidadosa consideración de la estructura de gobernanza y el proceso de actualización. Un retraso de bloqueo de tiempo mejorado permite a los usuarios reaccionar a los cambios propuestos. El control de firmas múltiples de las funciones de gestión distribuye la energía y reduce los puntos únicos de falla. La reputación y el historial del equipo de protocolo proporcionan un contexto adicional para evaluar la confiabilidad.
Para los usuarios reacios al riesgo, puede ser aconsejable limitar la exposición en estos sistemas y almacenar grandes cantidades de fondos a largo plazo al interactuar con contratos actualizables. Supervise activamente las propuestas de actualización y participe en el proceso de gobernanza cuando sea posible, lo que permitirá a los usuarios mantenerse informados y potencialmente influir en las decisiones del protocolo.
El debate en torno a la capacidad de actualización de los contratos inteligentes refleja tensiones más amplias entre innovación y seguridad, flexibilidad e inmutabilidad en el espacio blockchain. Si bien los contratos actualizables proporcionan herramientas poderosas para el desarrollo de protocolos, requieren que los usuarios confíen en los sistemas humanos en lugar de depender únicamente de un código inmutable.
Lograr el equilibrio adecuado entre escalabilidad y seguridad sigue siendo un desafío fundamental. Los usuarios deben permanecer atentos y evaluar cuidadosamente los riesgos y beneficios de interactuar con sistemas actualizables. La autonomía no es gratuita; el coste y el riesgo de seguridad lo paga el usuario final. En las finanzas tradicionales, estos costos son manejados por instituciones centralizadas como bancos e instituciones financieras. Es por esta razón que "seguridad de nivel bancario" es un término utilizado para definir los sistemas de seguridad de alta gama.
El autohospedaje significa que la responsabilidad recae en última instancia en el usuario, y la actitud tradicional de laissez-faire hacia la seguridad y el riesgo es incompatible con la Web 3.
Para respaldar esto, los desarrolladores y los equipos de protocolos son responsables de implementar mecanismos de gobernanza sólidos y procesos de actualización transparentes para mantener la confianza de los usuarios.