Upgradeability de contratos inteligentes: ¿Cómo funciona?

Autor: | Última modificación: 9 de abril de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post:

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Qué es exactamente la upgradeability de contratos inteligentes y cómo funciona? Sumérgete en este artículo para descubrirlo. Sabemos que, la tecnología blockchain y los contratos inteligentes están revolucionando la forma en que interactuamos con el mundo digital. Cada vez aumenta la cantidad de información que se debe aprender para perfeccionar el uso de estas herramientas. Por eso, surge la necesidad de aprender en qué consiste la upgradeability (o actualizabilidad) de estos contratos.

¿Qué es la Upgradeability de contratos inteligentes?

Upgradeability de contratos inteligentes: ¿Cómo funciona?

En esencia, la upgradeability de contratos inteligentes se refiere a la habilidad de actualizarlos después de su despliegue en la blockchain. Debido a la naturaleza inmutable de la blockchain, una vez que un contrato inteligente se despliega, no puede ser modificado. Esto plantea un dilema: ¿cómo podemos corregir errores, adaptarnos a nuevas normas y protocolos, o mejorar la seguridad y funcionalidad de estos contratos?

¿Cómo funciona la Upgradeability de contratos inteligentes?

La actualización de contratos inteligentes puede lograrse de varias maneras, cada una con sus propios riesgos y ventajas. A continuación, desglosaremos algunos de los métodos más populares.

Proxies actualizables

Cuando hablamos de proxies actualizables, nos referimos al uso de un contrato puente o proxy que se sitúa entre los usuarios y el contrato lógico principal. Este enfoque ingenioso permite que el contrato lógico principal se pueda cambiar o renovar por alguien con los permisos necesarios, todo esto sin modificar la información o el estado que ya está almacenado en el contrato. Imagínatelo como actualizar la aplicación en tu teléfono sin perder tus preferencias o datos guardados.

Ventajas

  • Seguridad y confianza: Al mantener los datos intactos, se preserva la confianza en el sistema.
  • Flexibilidad: Permite actualizaciones sin necesidad de desplegar un nuevo contrato desde cero.

Riesgos

  • Complejidad: Aumenta la complejidad del sistema, lo que podría introducir nuevos vectores de ataque.
  • Dependencia: Crea dependencia hacia el contrato proxy, centralizando cierto grado de control.

Almacenamiento Externo

Otra técnica para que funcione la Upgradeability de contratos inteligentes es separar la lógica empresarial del contrato de la parte que almacena los datos. Esto significa que el contrato que maneja la lógica puede ser actualizado o reemplazado, mientras que los datos permanecen seguros en un almacenamiento externo.

Ventajas

  • Conservación de datos: Los datos y el estado del contrato permanecen intactos durante una actualización.
  • Modularidad: Facilita la gestión y actualización del contrato lógico.

Riesgos

  • Rendimiento: Puede introducir latencia adicional al requerir interacciones entre contratos separados.

Bibliotecas

Las bibliotecas son contratos externos que contienen código o funciones reutilizables. Los contratos principales pueden llamar a estas bibliotecas, lo que les permite beneficiarse de actualizaciones o correcciones en las bibliotecas sin necesidad de modificar su propio código.

Ventajas

  • Reusabilidad: Promueve la reutilización de código, reduciendo la redundancia y el potencial de errores.
  • Eficiencia: Facilita la gestión y actualización de funciones comunes.

Riesgos

  • Dependencia: Crea una dependencia en las bibliotecas, lo cual puede ser un punto de fallo si la biblioteca es comprometida. La preocupación radica en que si la biblioteca externa es comprometida de alguna manera (por ejemplo, a través de un ataque malicioso, un bug no detectado, o una actualización defectuosa), entonces todos los contratos inteligentes que dependen de ella también pueden verse afectados adversamente.

Mejores prácticas y consideraciones

Al implementar la upgradeability de contratos inteligentes, es crucial tener en cuenta la seguridad, la transparencia y la confianza de quienes participan en estos contratos. Estar al tanto de las normas y protocolos para la actualización de contratos es fundamental para minimizar los riesgos y asegurar la integridad del sistema.

La upgradeability de contratos inteligentes es un campo que evoluciona constantemente y es crucial para mantener la seguridad, eficiencia y relevancia de las aplicaciones basadas en blockchain. Ten en cuenta que, aunque los métodos de actualización presentan desafíos, su correcta implementación puede llevarte a crear sistemas más sólidos y confiables.

Tal vez te interese aprender sobre las operaciones de lectura de un contrato inteligente para seguir profundizando en el tema. Recuerda que el Blockchain y Criptoactivos Bootcamp de KeepCoding y el Curso de Blockchain son tu oportunidad para ingresar al mundo de la tecnología blockchain. Aquí te brindaremos los conocimientos técnicos necesarios y te prepararemos para una industria con alta demanda de profesionales que ofrece salarios competitivos y una estabilidad laboral incomparable. Transforma tu vida.

¡CONVOCATORIA ABIERTA!

Blockchain y Criptoactivos

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado