Despliegue Seguro y Versión-agnóstico en Direcciones Consistentes de EVM

Descubre un esquema de despliegue para contratos en múltiples redes EVM con direcciones consistentes y deterministas mediante proxies y init bytecode. Reduce errores, evita front-running y facilita añadir nuevas redes sin romper compatibilidad.

16 ago 2025 • 5 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Este enfoque se ha adoptado en producción dentro del ecosistema Privado.iD Self-Sovereign Identity implementado por IdyllicVision. Agradecimientos sinceros a Oleksandr Brezhniev, Vlad Munin por la revisión y feedback y a David Rodriguez por el soporte de desarrollo.

Introducción Este artículo describe un esquema de despliegue que permite publicar un conjunto de contratos en direcciones consistentes e idénticas a través de múltiples redes EVM, reduciendo la complejidad de configuraciones específicas por red en las aplicaciones clientes. Las direcciones consistentes no están ligadas a un bytecode de inicialización particular de la implementación final. El desplegador controla qué contrato reside en una dirección determinada, permitiendo direcciones idénticas o distintas según convenga.

Ventajas principales Previene despliegues accidentales de contratos incorrectos; garantiza estabilidad de direcciones entre versiones; protege contra front running; permite incorporar nuevas redes en cualquier momento sin romper el esquema.

Paso 1. Preparar un contrato proxy Para cada contrato objetivo que deba tener una dirección consistente, se despliega un contrato proxy con un bytecode de inicialización predecible y determinista. En el ejemplo se utiliza TransparentUpgradeableProxy de OpenZeppelin. Se puede ajustar el admin del proxy a la dirección cero si no se requiere capacidad de upgrade o usar una lógica de delegación distinta. En lugar de depender de fijar la versión de Solidity y opciones de compilador, es más robusto codificar directamente el init bytecode del proxy en la configuración para garantizar consistencia.

Paso 2. Gestión determinista de argumentos de constructor Hay que gestionar de forma determinista los argumentos del constructor que se concatenan al final del init bytecode. El constructor de TransparentUpgradeableProxy toma los parámetros address _logic, address initialOwner y bytes memory _data. El parámetro address _logic apunta a la dirección de la implementación inicial detrás del proxy, pero utilizar la implementación real no es ideal porque su init bytecode puede cambiar con el tiempo por versiones de compilador u optimizaciones. La alternativa robusta es usar una implementación dummy que no haga nada y siempre retorne con éxito ante cualquier calldata. Ese contrato dummy se despliega de forma determinista con CREATE2 y actúa como singleton por red. Puede ser extremadamente minimalista. Por ejemplo, un init bytecode como 0x6005600C60003960056000F360006000F3 produce runtime bytecode 0x60006000F3 que corresponde a PUSH1 0x00 PUSH1 0x00 RETURN, es decir siempre devuelve un array vacío y nunca revierte. El address initialOwner debe ser consistente en todas las redes; nota de seguridad, si esa clave privada se compromete un atacante podría front-runnear despliegues en nuevas redes. El argumento bytes memory _data contiene la calldata para la llamada inicial desde el constructor del proxy. Dado que la implementación dummy siempre tiene éxito, este campo se usa para diferenciar direcciones consistentes por contrato; por ejemplo se pueden usar los hex de UTF-8 de cadenas como consistent.governance y consistent.vault para distinguir entre Governance y Vault. Con esto se logra init bytecode y argumentos idénticos en cada red, asegurando direcciones deterministas y consistentes.

Paso 3. Desplegar la implementación real Finalmente se despliega la implementación real y se realiza el upgrade del proxy para apuntar a ella. La separación entre despliegue del proxy y upgrade final minimiza ventanas de riesgo y permite que la mayoría de transacciones de despliegue se ejecuten desde direcciones sin acceso a la clave privada del initialOwner; solo la operación final de upgrade requiere la autorización del owner, lo que facilita diseñar flujos con roles separados para deployers y superadmins.

Ejemplo de implementación Existen ejemplos en contratos de proyectos como Iden3 en módulos de despliegue, pero la idea descrita aquí se puede aplicar como patrón universal para sistemas de contratos arbitrarios que necesiten direcciones consistentes across redes EVM.

Consideraciones y mejoras Para fábricas singleton CREATE2 se puede usar CreateX o una fábrica CREATE2 permissionless que aporta mejoras. Todas las transacciones de despliegue hasta el proxy pueden ejecutarse desde cualquier cuenta salvo la operación de upgrade final. Convertir la initialOwner en una Smart Account que soporte delegación según EIP-7702 aporta flexibilidad para delegar derechos de upgrade sin exponer la clave privada original. Hay que tener en cuenta que algunas redes EVM compatibles, por ejemplo zkSync, pueden emplear un mecanismo de hashing de CREATE2 distinto, lo que provoca direcciones deterministas diferentes y rompe la unificación. También es posible asignar una salt CREATE2 personalizada a cada dirección consistente para obtener direcciones reconocibles y útiles durante el desarrollo e integración.

Seguridad y operativa El patrón minimiza riesgos de front running al separar el despliegue del proxy del upgrade final y al usar un singleton dummy por red. Recomendar buenas prácticas como custodiar la clave del initialOwner en soluciones seguras, usar cuentas inteligentes para delegación y auditar bytecode de proxy e implementación real antes del upgrade.

Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones empresariales y tecnología blockchain. Ofrecemos software a medida, aplicaciones a medida e integraciones avanzadas, con experiencia en inteligencia artificial y ciberseguridad. Proveemos servicios cloud aws y azure, servicios de inteligencia de negocio y consultoría en power bi. Implementamos soluciones de ia para empresas incluyendo agentes IA personalizados y automatización inteligente para flujos de trabajo críticos. Nuestro enfoque combina seguridad, escalabilidad y entrega ágil para que las organizaciones adopten tecnología puntera sin comprometer la gobernanza ni la protección de datos.

Palabras clave y posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi

Contacto y próximos pasos Si desea asesoría para implementar despliegues seguros y version agnostic a direcciones consistentes en múltiples redes EVM, o integrar inteligencia artificial, agentes IA, soluciones cloud y análisis con power bi en su stack, Q2BSTUDIO ofrece consultoría, desarrollo e integración a medida para su proyecto.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.