zkSync
Last updated
Last updated
Autor - Kairos - Mar '25
La escalabilidad es uno de los mayores desafíos de la tecnología blockchain. Se refiere a escalabilidad como la capacidad de procesar un número creciente de transacciones; cuando la acumulación de operaciones aumenta, se generan órdenes pendientes, esto hace que las redes sean más lentas y costosas.
Las soluciones basadas en ZK nos ofrecen una manera eficiente de abordar estos problemas. Dentro del mundo de la privacidad en Ethereum y su ecosistema, ZK sobresale con una solución de capa 2 llamada zkSync. En este artículo exploraremos su ecosistema, su funcionamiento y como nos podemos involucrar en el.
Un protocolo de capa 2 basado en zk-Rollups, desarrollado por Matter Labs, una empresa fundada por Alex Gluchowski. Permite mayor escalabilidad y menores costos en Ethereum. Gracias a esta composición, zkSync puede manejar aproximadamente 20,000 transacciones por segundo. Actualmente, el equipo trabaja para alcanzar las 100,000 TPS en futuras versiones.
Implementa una máquina virtual compatible con Ethereum, zkEVM, para permitir la ejecución eficiente de contratos inteligentes en su capa 2. En esta VM, utiliza zk-SNARKs como su principal método de validación debido a su menor tamaño de prueba, lo que reduce los costos en Ethereum.
zkSync se integra por estos componentes cruciales.
Implementación de nodo: Es el principal responsable de percibir las transacciones de los usuarios manteniendo el estado fuera de la cadena. Además, gestiona la agregación de transacciones en lotes y su posterior envío a la cadena una vez sellados.
Circuitos ZK: Representan construcciones matemáticas que definen la lógica computacional verificable. En zkSync, establecen las reglas de computación para la ejecución de EraVM.
Prover: Genera pruebas criptográficas que certifican la validez de las transacciones procesadas fuera de la cadena. Estas pruebas pueden verificarse en Ethereum, asegurando que solo se acepten transacciones correctas.
Contratos inteligentes: Constituyen la parte on-chain del zkRollup. Verifican las pruebas enviadas por el prover y actualizan el estado de la blockchain de Ethereum. También gestionan interacciones clave entre Ethereum y zkSync, como depósitos, retiros y mensajería entre capas.
zkSync no es 100% igual a la EVM, introduce una serie de cambios, optimizando la ejecución de contratos inteligentes, la administración de cuentas y la interoperabilidad dentro de su ecosistema.
Despliegue del contrato y ejecución de las instrucciones EVM:
En Ethereum Mainnet, el despliegue de contratos se realiza mediante transacciones que incluyen el bytecode del contrato. En contraste, zkSync utiliza un enfoque basado en el hash del bytecode, lo que significa que el contract deployer es el único responsable de la implementación de contratos en la red. En Ethereum, las funciones create
y create2
permiten crear nuevos contratos directamente con código personalizado. Pero en zkSync, esto funciona diferente: el compilador se encarga de manejarlo automáticamente porque no hay una separación clara entre el código que se guarda y el código que se ejecuta. Esto significa que los desarrolladores no pueden controlar estos procesos de la misma manera y deben adaptar su forma de trabajar para evitar errores.
Derivación de direcciones en zkEVM:
Una diferencia importante radica en la derivación de direcciones. Debido a que zkSync utiliza una versión modificada de la EVM, la dirección generada a partir del mismo bytecode en Ethereum y en zkSync será diferente.
Esto significa que, aunque un contrato con el mismo código sea desplegado en ambas redes, tendrá una dirección distinta en cada una. Sin embargo, si zkEVM alcanza la paridad con la EVM en el futuro, este esquema de derivación podría cambiar para igualarse al de Ethereum.
Gestión de nonces:
Ethereum asigna un nonce a cada cuenta, el cual se incrementa con cada transacción o despliegue de contrato. En zkSync, existen dos tipos de nonces con propósitos distintos:
Nonce de transacción: Utilizado para validar transacciones y prevenir ataques de repetición.
Nonce de despliegue: Solo se incrementa cuando un contrato es implementado exitosamente.
Otra diferencia importante es que, en Ethereum, un contrato recién creado comienza con un nonce de 1, mientras que en zkSync inicia en 0. Además, si el despliegue de un contrato falla en Ethereum, su nonce se incrementa de todos modos, mientras que en zkSync se mantiene sin cambios.
Uso de librerías y vínculo de código:
Ethereum permite vincular librerías en tiempo de despliegue, lo que brinda mayor flexibilidad en la implementación de contratos. Sin embargo, en zkSync, todas las librerías deben estar optimizadas e integradas en el código antes de la compilación. Esto significa que los desarrolladores deben definir las direcciones de las librerías en la configuración del proyecto antes de compilar el contrato.
Precompilaciones y costos de gas:
Ethereum y zkSync tienen funciones especiales para hacer cálculos más rápido, pero no todas las funciones de Ethereum están en zkSync. Si un desarrollador quiere usar una que no existe en zkSync, tendrá que encontrar otra forma de hacerlo.
Además, algunas funciones cuestan más o menos gas en zkSync que en Ethereum. Si no se planea bien, una transacción podría salir más cara de lo esperado. Por eso, es importante conocer estas diferencias antes de escribir un contrato en zkSync.
Account Abstraction:
Uno de los cambios más importantes es la Account Abstraction nativa, en comparación con Ethereum, donde esta funcionalidad solo está disponible a través de EIP-4337. En zkSync, todas las cuentas, incluidas las EOAs (Externally Owned Accounts), funcionan como smart contract accounts, eliminando la distinción entre ambos tipos.
Esto permite una mayor flexibilidad y abre la puerta a innovaciones como firmas múltiples, recuperación social y pagos automatizados desde cualquier cuenta.
A medida que las necesidades de escalabilidad en blockchain crecen, surge ZK Stack, un framework modular diseñado para facilitar la implementación y personalización de blockchains interoperables basadas en tecnología ZK. Todas las cadenas construidas con este framework forman parte de un ecosistema conocido como Elastic Chain, que permite la conexión fluida entre múltiples rollups mediante Hyperbridges, asegurando interoperabilidad sin necesidad de confianza adicional.
Los Hyperbridges son mecanismos que permiten la comunicación directa entre rollups dentro de la Elastic Chain sin depender de intermediarios. Utilizan pruebas de conocimiento cero (ZK-proofs) para sincronizar estados de manera segura y eficiente, garantizando interoperabilidad sin necesidad de confianza adicional.
Este modelo permite que múltiples cadenas ZK operen en paralelo y logren consenso en Ethereum, optimizando la validación de transacciones y reduciendo costos operativos. Su enfoque modular favorece a los desarrolladores con personalización de sus blockchains sin perder compatibilidad con ZK Stack. Además, redefine la forma en que los activos y la información fluyen entre redes descentralizadas, impulsando una nueva era de escalabilidad.
Es una red adicional de cadenas ZK (rollups, validiums y volitions), protegida criptográficamente e interoperable con una experiencia de usuario similar a Ethereum. Inspirada en el concepto de elasticidad económica, permite escalar proporcionalmente a la demanda sin fragmentar la liquidez.
La Elastic Chain opera como un conjunto de ZK-Chains autónomas, interconectadas de forma nativa a nivel de protocolo. Esto asegura que múltiples cadenas funcionen como una sola, evitando la fragmentación de liquidez y mejorando la interoperabilidad sin comprometer rendimiento, verificación o descentralización.
Para evitar la fragmentación de liquidez y garantizar interoperabilidad, zkSync ha diseñado una arquitectura basada en contratos inteligentes en Ethereum y una red de comunicación eficiente entre cadenas. Sus principales componentes son:
ZK Router: Maneja los registros de la cadena, facilita interacciones críticas y mantiene la liquidez dentro de la red mediante contratos inteligentes en Ethereum.
ZK Gateway: Funciona como un middleware, facilitando la interconectividad total entre Ethereum y las cadenas ZK.
ZK Chains: Proporcionan finalidad más rápida en la conexión con Ethereum. Utilizan ZK-rollups creados con ZK Stack, operando de manera autónoma pero siempre conectadas a ZK Gateway y a los contratos inteligentes en Ethereum.
ZK Nation es el modelo de gobernanza descentralizada de zkSync, similar a una DAO, pero con un enfoque en seguridad y toma de decisiones eficiente. La ZK Nation se compone de:
Asamblea de Tokens: Grupo conformado por los titulares de tokens que pueden votar en las decisiones clave del protocolo.
Consejo de Seguridad: Órgano encargado de garantizar la seguridad y estabilidad del ecosistema.
Guardianes: Funcionan de manera similar a una DAO, asegurando que las decisiones sean tomadas no solo por los desarrolladores, sino también por la comunidad.
Este modelo de gobernanza tiene como objetivo descentralizar el control del protocolo y permitir que los usuarios participen activamente en la evolución de ZKsync.
Para participar en la gobernanza, los usuarios deben utilizar el token ZK y el poder de voto asociado. Para activar este poder de voto, los tokens ZK deben ser delegados a una dirección en ZKsync, que puede pertenecer al propio usuario, a otra persona o a una institución involucrada en la red. La entidad que controle esta dirección tendrá la capacidad de votar sobre las propuestas de gobernanza de ZK Nation.
Es importante destacar que la delegación no altera la propiedad del token, pero sí transfiere el derecho de voto a la dirección elegida.
zkSync se posiciona como una de las soluciones más avanzadas para escalar Ethereum, logrando una combinación óptima entre privacidad, bajos costos y escalabilidad mediante zk-Rollups, Su cadena elástica y su gobernanza descentralizada, zkSync no solo mejora la velocidad y el costo de las transacciones, sino que también preserva la seguridad de la red de Ethereum. A medida que el ecosistema evoluciona, zkSync se posiciona como una pieza clave en la adopción masiva de la blockchain.