*Reenviar el Título Original 'Cómo ZKP y ZK-Rollups ayudan a resolver el problema de escalabilidad: una revisión de la cadena de bloques zkSync'
En este artículo, explicaremos qué es la tecnología de prueba de conocimiento cero y hablaremos sobre una blockchain popular, zkSync: cómo funcionan las transacciones en zkSync y las principales diferencias con la Máquina Virtual Ethereum (EVM). También discutiremos las ventajas y desventajas de esta blockchain, que creemos que podría tener un futuro prometedor.
ZkSync es una blockchain de segundo nivel (Capa 2 — L2) para Ethereum, diseñada para abordar los problemas de altas tarifas y limitada capacidad de procesamiento (Transacciones Por Segundo — TPS) en la red de Ethereum. Esta plataforma emplea la tecnología ZK-Rollup, que utiliza Pruebas de Conocimiento Cero (ZKP) para agrupar múltiples transacciones fuera de la red principal (L1). Solo las pruebas criptográficas de la corrección de las transacciones y sus datos comprimidos se envían a L1, mejorando significativamente la eficiencia y reduciendo costos.
Desarrollado por Matter Labs, zkSync se anuncia como un producto totalmente de código abierto (100% de código abierto), gestionado por la comunidad. Según Cryptorank, el proyecto ya ha atraído atención, recaudando inversiones de $458 millones. A largo plazo, Matter Labs tiene como objetivo crear un ecosistema integral. Actualmente, dos blockchains están operativos: zkSync Lite, que procesa pagos en ETH y tokens ERC20, y zkSync Era, que soporta contratos inteligentes completos. Los planes futuros incluyen el lanzamiento de un sistema de hipercadena (L3), asegurando alta seguridad. El objetivo de Matter Labs es escalar la tecnología a un nivel que atraerá a los próximos mil millones de usuarios de blockchain.
ZkSync representa un nuevo enfoque para resolver el problema de escalabilidad conocido como el trilema de la cadena de bloques. Este proyecto, al igual que otras soluciones de Capa 2 (L2), busca encontrar un equilibrio entre seguridad, escalabilidad y descentralización en las redes blockchain.
Ethereum se centra en la seguridad y la descentralización, haciendo hincapié en su estatus como un protocolo peer-to-peer con nodos distribuidos por todo el mundo. Para obtener la información más reciente sobre la distribución de nodos, consulte NodeWatch.
Para mantener la descentralización en la red, cada nodo debe verificar todas las transacciones. Esto ralentiza inherentemente la red. Además, bajo una carga de red alta, las transacciones pueden volverse bastante costosas y requerir un tiempo significativo para procesarse.
La tarea principal para aumentar el TPS de la red Ethereum sin aumentar la carga en los nodos fue la introducción de Fragmentaciónen combinación con la transición al consenso PoS (Prueba de Participación). Esto implicó dividir a los validadores en subgrupos para procesar segmentos separados de la red, reduciendo así la carga general y aumentando el rendimiento. Sin embargo, la comunidad se ha centrado en soluciones de Capa 2, considerando su rápido desarrollo.
Además de la idea de implementar Sharding en Ethereum, han surgido otras soluciones de escalabilidad, como:
Así como tecnologías basadas en Pruebas de Conocimiento Cero (ZKP), incluyendo:
Se puede encontrar información más detalladaaquí.
Aunque Sharding todavía está en desarrollo, se planea la bifurcación dura de Dencun para principios de 2024, que implementaráProto-Danksharding. Este paso intermedio tiene como objetivo mejorar las soluciones de Capa 2, haciendo que el almacenamiento de datos en L1 sea más económico. Así, Proto-Danksharding promete reducir los costos de transacción en L2, como un paso hacia una solución de Fragmentación completa.
A primera vista, las blockchains L2 pueden parecer similares, ya que su tarea principal es aumentar el número de transacciones fuera de L1 mientras delegan el papel de garante de seguridad a L1. Los desarrolladores de tales blockchains a menudo afirman que sus soluciones son las más rápidas, confiables y simples. En realidad, cada enfoque de escalabilidad tiene sus matices y compromisos inevitables con respecto a la velocidad de las transacciones, el nivel de seguridad o el grado de descentralización. Las soluciones totalmente centralizadas también son comunes. Todos estos aspectos nos devuelven a los problemas fundamentales del trilema de las blockchains.
En este artículo, se proponen criterios clave para evaluar los protocolos utilizados en las soluciones de Capa 2. Incluyen:
¡Importante! El artículo está escrito por Matter Labs y, en mi opinión, algunas cosas están "exageradas" a favor de zkRollup (ya que hay un claro conflicto de interés), pero eso no es tan importante, lo principal es ver qué diferencias existen entre los protocolos de Capa-2.
A continuación proporcionaré una tabla, y aquí describiré brevemente su contenido.
Con el rendimiento, es sencillo. TPS (Transacciones Por Segundo) indica la capacidad de la red, y en el contexto de escalabilidad, es el parámetro más crucial.
Aspectos económicos:
A continuación se muestra una tabla comparativa de las principales soluciones basadas en ZKP:
Para una comprensión más detallada de las Pruebas de Conocimiento Cero (ZKP), recomiendo consultar este artículoen nuestroblockchain-wiki, creado por desarrolladores para desarrolladores a los que les encantan las pruebas y profundizan en los detalles.
La operación de ZK-Rollups se puede representar a un alto nivel de la siguiente manera:
En el contexto de la arquitectura de zkSync, el proceso se ve así:
Los validadores en ZK-Rollups juegan un papel clave, empaquetando transacciones en bloques y generando Pruebas de Conocimiento Cero para ellas. Una característica del sistema es que los validadores físicamente no pueden robar fondos. El daño potencial más significativo que pueden causar es una pausa temporal en la red.
Nota: En la Era zkSync, el papel de los validadores lo desempeñan los operadores.
Los desarrolladores de zkSync destacan las siguientes garantías de su arquitectura:
Las transacciones en la era de zkSync pasan por varios estados clave, diferentes de las confirmaciones habituales de Rollup en L1:
Además del número de bloque, las transacciones en zkSync también muestran el número de paquete. Originalmente, parámetros como block.number, block.timestamp y blockhash se tomaron de L1. Sin embargo, después,una actualización, estos valores ahora se obtendrán de L2. A pesar de esto, los desarrolladores planean proporcionar métodos para acceder a los datos desde L1.
La compatibilidad de las soluciones L2 basadas en ZKP con Ethereum es una tarea compleja. Esto se debe a que Ethereum no fue diseñado originalmente para una interacción óptima con ZKP. Como resultado, al desarrollar dichos sistemas, se debe encontrar un compromiso entre el rendimiento y el potencial de escalabilidad, por un lado, y la compatibilidad con Ethereum y EVM, por otro. Artículo de Vitalik Buterin Los diferentes tipos de ZK-EVMsdiscute estos aspectos en detalle y destaca diferentes niveles de compatibilidad.
zkSync eligió uno de los caminos más desafiantes, apuntando a un alto rendimiento pero con compatibilidad limitada tanto con Ethereum como con EVM. Para obtener bytecode compatible con zkEVM, el LLVMEl proyecto se utiliza con un conjunto de compiladores y optimizadores propietarios. En el caso de Solidity y Yul, después del compilador solc estándar, el código pasa por varias etapas más antes de convertirse en bytecode zkEVM. El diagrama a continuación ilustra todas las etapas de este proceso (descrito con más detalle aquí):
¡Importante! Se admiten optimizaciones en zksolc.
El bytecode compilado específicamente para EVM no es compatible con zkEVM. Esto significa que las direcciones de contratos inteligentes idénticos en Ethereum y zkSync serán diferentes. Sin embargo, los desarrolladores planean resolver este problema en el futuro.
Una de las ventajas significativas de este enfoque es la independencia de lenguajes de programación específicos. En el futuro, los desarrolladores de zkSync prometen añadir soporte para lenguajes como Rust y C++. Es importante que la demora en las actualizaciones y la integración de innovaciones entre compiladores de alto nivel (por ejemplo, solc) y compiladores de plataforma (por ejemplo, zksolc) sea mínima. Inicialmente, se tuvo la idea de crear su propio lenguaje de programación, Zinc, pero por el momento, el equipo está centrado en el soporte de lenguajes de programación más populares.
El problema de la compatibilidad de los compiladores zk con las herramientas existentes de desarrollo y depuración para contratos inteligentes de Solidity y Vyper es significativo. Plataformas de desarrollo actuales como Remix, Hardhat y Foundry no admiten compiladores zk de forma nativa, lo que crea dificultades al trabajar con ellos. Sin embargo, solucionesestán siendo desarrollados que prometen facilitar el proceso de migración de proyectos y adaptación a nuevas tecnologías.
El artículo de Vitalik Buterin menciona que es probable que Ethereum se esfuerce por mejorar la compatibilidad con ZKP a nivel de protocolo con el tiempo. De manera similar, las soluciones L2 con ZKP se adaptarán para una mejor compatibilidad con Ethereum. Como resultado, en el futuro, las diferencias entre estos sistemas pueden volverse casi imperceptibles, asegurando una integración y transición más fluidas para los desarrolladores.
¡Importante! ¡El protocolo está siendo desarrollado activamente; siempre consulte la última versión de la documentación!
zkEVM difiere de EVM y a pesar de los esfuerzos de los desarrolladores por ocultar estas diferencias "bajo el capó", hay características importantes a considerar al escribir contratos inteligentes:
Para una comprensión profunda de cómo trabajar con zkEVM, se recomienda estudiar la documentación, incluida la sección Seguridad y mejores prácticas.
La abstracción de cuentas en zkSync ofrece varias ventajas clave sobre ERC-4337:
La infraestructura de zkSync Era está ganando rápidamente impulso e incluye actualmente docenas de protocolos: Puentes, DeFi, protocolos de infraestructura y más. (La lista actual se puede ver aquí).
Otra ventaja es la compatibilidad con monederos de Ethereum, como MetaMask o TrustWallet.
El protocolo zkSync comenzó su desarrollo con el lanzamiento de zkSync Lite, dirigido únicamente a transferencias de ether y tokens ERC-20, sin la capacidad de implementar protocolos completos. Esta etapa fue un paso importante en el desarrollo, pero solo precedió la llegada de zkSync Era, una solución L2 completa para Ethereum, que teóricamente también se puede adaptar a otras blockchains L1. Sin embargo, las ambiciones de zkSync no se detienen ahí, ya que los planes de desarrollo incluyen el lanzamiento de las llamadas hypercadenas.
Hyperchains, or “fractal scaling,” consist of ZKP networks, each forming its own blocks and proofs. These proofs are then collected together and posted on the main L1 network. Each of these networks is a complete copy of the entire system and can be considered its “fractal”.
La singularidad de las hyperchains es que pueden ser creadas e implementadas de forma independiente. Para mantener la coherencia y la compatibilidad, cada hyperchain debe utilizar un motor zkEVM común, parte del stack ZK (siendo zkSync Era el primer hyperchain). Esto permite que las hyperchains hereden su seguridad de L1, garantizando su fiabilidad y eliminando la necesidad de medidas adicionales de confianza y seguridad.
Hyperchains representan un enfoque innovador para escalar las redes blockchain, reduciendo la carga en la red principal y aumentando la velocidad de procesamiento de transacciones. Aspectos clave de este enfoque incluyen:
Más sobre todo esto se puede encontrar aquí.
El protocolo zkSync parece muy prometedor y tiene un gran potencial, aunque en la actualidad, el lanzamiento en esta blockchain todavía está asociado con una serie de riesgos que deben ser considerados. Desarrollar para zkSync actualmente es más desafiante que para blockchains que son mucho más compatibles con EVM y el stack de desarrollo de EVM. Sin embargo, quizás en el futuro, esta diferencia se volverá insignificante o desaparecerá por completo.
*Reenviar el Título Original 'Cómo ZKP y ZK-Rollups ayudan a resolver el problema de escalabilidad: una revisión de la cadena de bloques zkSync'
En este artículo, explicaremos qué es la tecnología de prueba de conocimiento cero y hablaremos sobre una blockchain popular, zkSync: cómo funcionan las transacciones en zkSync y las principales diferencias con la Máquina Virtual Ethereum (EVM). También discutiremos las ventajas y desventajas de esta blockchain, que creemos que podría tener un futuro prometedor.
ZkSync es una blockchain de segundo nivel (Capa 2 — L2) para Ethereum, diseñada para abordar los problemas de altas tarifas y limitada capacidad de procesamiento (Transacciones Por Segundo — TPS) en la red de Ethereum. Esta plataforma emplea la tecnología ZK-Rollup, que utiliza Pruebas de Conocimiento Cero (ZKP) para agrupar múltiples transacciones fuera de la red principal (L1). Solo las pruebas criptográficas de la corrección de las transacciones y sus datos comprimidos se envían a L1, mejorando significativamente la eficiencia y reduciendo costos.
Desarrollado por Matter Labs, zkSync se anuncia como un producto totalmente de código abierto (100% de código abierto), gestionado por la comunidad. Según Cryptorank, el proyecto ya ha atraído atención, recaudando inversiones de $458 millones. A largo plazo, Matter Labs tiene como objetivo crear un ecosistema integral. Actualmente, dos blockchains están operativos: zkSync Lite, que procesa pagos en ETH y tokens ERC20, y zkSync Era, que soporta contratos inteligentes completos. Los planes futuros incluyen el lanzamiento de un sistema de hipercadena (L3), asegurando alta seguridad. El objetivo de Matter Labs es escalar la tecnología a un nivel que atraerá a los próximos mil millones de usuarios de blockchain.
ZkSync representa un nuevo enfoque para resolver el problema de escalabilidad conocido como el trilema de la cadena de bloques. Este proyecto, al igual que otras soluciones de Capa 2 (L2), busca encontrar un equilibrio entre seguridad, escalabilidad y descentralización en las redes blockchain.
Ethereum se centra en la seguridad y la descentralización, haciendo hincapié en su estatus como un protocolo peer-to-peer con nodos distribuidos por todo el mundo. Para obtener la información más reciente sobre la distribución de nodos, consulte NodeWatch.
Para mantener la descentralización en la red, cada nodo debe verificar todas las transacciones. Esto ralentiza inherentemente la red. Además, bajo una carga de red alta, las transacciones pueden volverse bastante costosas y requerir un tiempo significativo para procesarse.
La tarea principal para aumentar el TPS de la red Ethereum sin aumentar la carga en los nodos fue la introducción de Fragmentaciónen combinación con la transición al consenso PoS (Prueba de Participación). Esto implicó dividir a los validadores en subgrupos para procesar segmentos separados de la red, reduciendo así la carga general y aumentando el rendimiento. Sin embargo, la comunidad se ha centrado en soluciones de Capa 2, considerando su rápido desarrollo.
Además de la idea de implementar Sharding en Ethereum, han surgido otras soluciones de escalabilidad, como:
Así como tecnologías basadas en Pruebas de Conocimiento Cero (ZKP), incluyendo:
Se puede encontrar información más detalladaaquí.
Aunque Sharding todavía está en desarrollo, se planea la bifurcación dura de Dencun para principios de 2024, que implementaráProto-Danksharding. Este paso intermedio tiene como objetivo mejorar las soluciones de Capa 2, haciendo que el almacenamiento de datos en L1 sea más económico. Así, Proto-Danksharding promete reducir los costos de transacción en L2, como un paso hacia una solución de Fragmentación completa.
A primera vista, las blockchains L2 pueden parecer similares, ya que su tarea principal es aumentar el número de transacciones fuera de L1 mientras delegan el papel de garante de seguridad a L1. Los desarrolladores de tales blockchains a menudo afirman que sus soluciones son las más rápidas, confiables y simples. En realidad, cada enfoque de escalabilidad tiene sus matices y compromisos inevitables con respecto a la velocidad de las transacciones, el nivel de seguridad o el grado de descentralización. Las soluciones totalmente centralizadas también son comunes. Todos estos aspectos nos devuelven a los problemas fundamentales del trilema de las blockchains.
En este artículo, se proponen criterios clave para evaluar los protocolos utilizados en las soluciones de Capa 2. Incluyen:
¡Importante! El artículo está escrito por Matter Labs y, en mi opinión, algunas cosas están "exageradas" a favor de zkRollup (ya que hay un claro conflicto de interés), pero eso no es tan importante, lo principal es ver qué diferencias existen entre los protocolos de Capa-2.
A continuación proporcionaré una tabla, y aquí describiré brevemente su contenido.
Con el rendimiento, es sencillo. TPS (Transacciones Por Segundo) indica la capacidad de la red, y en el contexto de escalabilidad, es el parámetro más crucial.
Aspectos económicos:
A continuación se muestra una tabla comparativa de las principales soluciones basadas en ZKP:
Para una comprensión más detallada de las Pruebas de Conocimiento Cero (ZKP), recomiendo consultar este artículoen nuestroblockchain-wiki, creado por desarrolladores para desarrolladores a los que les encantan las pruebas y profundizan en los detalles.
La operación de ZK-Rollups se puede representar a un alto nivel de la siguiente manera:
En el contexto de la arquitectura de zkSync, el proceso se ve así:
Los validadores en ZK-Rollups juegan un papel clave, empaquetando transacciones en bloques y generando Pruebas de Conocimiento Cero para ellas. Una característica del sistema es que los validadores físicamente no pueden robar fondos. El daño potencial más significativo que pueden causar es una pausa temporal en la red.
Nota: En la Era zkSync, el papel de los validadores lo desempeñan los operadores.
Los desarrolladores de zkSync destacan las siguientes garantías de su arquitectura:
Las transacciones en la era de zkSync pasan por varios estados clave, diferentes de las confirmaciones habituales de Rollup en L1:
Además del número de bloque, las transacciones en zkSync también muestran el número de paquete. Originalmente, parámetros como block.number, block.timestamp y blockhash se tomaron de L1. Sin embargo, después,una actualización, estos valores ahora se obtendrán de L2. A pesar de esto, los desarrolladores planean proporcionar métodos para acceder a los datos desde L1.
La compatibilidad de las soluciones L2 basadas en ZKP con Ethereum es una tarea compleja. Esto se debe a que Ethereum no fue diseñado originalmente para una interacción óptima con ZKP. Como resultado, al desarrollar dichos sistemas, se debe encontrar un compromiso entre el rendimiento y el potencial de escalabilidad, por un lado, y la compatibilidad con Ethereum y EVM, por otro. Artículo de Vitalik Buterin Los diferentes tipos de ZK-EVMsdiscute estos aspectos en detalle y destaca diferentes niveles de compatibilidad.
zkSync eligió uno de los caminos más desafiantes, apuntando a un alto rendimiento pero con compatibilidad limitada tanto con Ethereum como con EVM. Para obtener bytecode compatible con zkEVM, el LLVMEl proyecto se utiliza con un conjunto de compiladores y optimizadores propietarios. En el caso de Solidity y Yul, después del compilador solc estándar, el código pasa por varias etapas más antes de convertirse en bytecode zkEVM. El diagrama a continuación ilustra todas las etapas de este proceso (descrito con más detalle aquí):
¡Importante! Se admiten optimizaciones en zksolc.
El bytecode compilado específicamente para EVM no es compatible con zkEVM. Esto significa que las direcciones de contratos inteligentes idénticos en Ethereum y zkSync serán diferentes. Sin embargo, los desarrolladores planean resolver este problema en el futuro.
Una de las ventajas significativas de este enfoque es la independencia de lenguajes de programación específicos. En el futuro, los desarrolladores de zkSync prometen añadir soporte para lenguajes como Rust y C++. Es importante que la demora en las actualizaciones y la integración de innovaciones entre compiladores de alto nivel (por ejemplo, solc) y compiladores de plataforma (por ejemplo, zksolc) sea mínima. Inicialmente, se tuvo la idea de crear su propio lenguaje de programación, Zinc, pero por el momento, el equipo está centrado en el soporte de lenguajes de programación más populares.
El problema de la compatibilidad de los compiladores zk con las herramientas existentes de desarrollo y depuración para contratos inteligentes de Solidity y Vyper es significativo. Plataformas de desarrollo actuales como Remix, Hardhat y Foundry no admiten compiladores zk de forma nativa, lo que crea dificultades al trabajar con ellos. Sin embargo, solucionesestán siendo desarrollados que prometen facilitar el proceso de migración de proyectos y adaptación a nuevas tecnologías.
El artículo de Vitalik Buterin menciona que es probable que Ethereum se esfuerce por mejorar la compatibilidad con ZKP a nivel de protocolo con el tiempo. De manera similar, las soluciones L2 con ZKP se adaptarán para una mejor compatibilidad con Ethereum. Como resultado, en el futuro, las diferencias entre estos sistemas pueden volverse casi imperceptibles, asegurando una integración y transición más fluidas para los desarrolladores.
¡Importante! ¡El protocolo está siendo desarrollado activamente; siempre consulte la última versión de la documentación!
zkEVM difiere de EVM y a pesar de los esfuerzos de los desarrolladores por ocultar estas diferencias "bajo el capó", hay características importantes a considerar al escribir contratos inteligentes:
Para una comprensión profunda de cómo trabajar con zkEVM, se recomienda estudiar la documentación, incluida la sección Seguridad y mejores prácticas.
La abstracción de cuentas en zkSync ofrece varias ventajas clave sobre ERC-4337:
La infraestructura de zkSync Era está ganando rápidamente impulso e incluye actualmente docenas de protocolos: Puentes, DeFi, protocolos de infraestructura y más. (La lista actual se puede ver aquí).
Otra ventaja es la compatibilidad con monederos de Ethereum, como MetaMask o TrustWallet.
El protocolo zkSync comenzó su desarrollo con el lanzamiento de zkSync Lite, dirigido únicamente a transferencias de ether y tokens ERC-20, sin la capacidad de implementar protocolos completos. Esta etapa fue un paso importante en el desarrollo, pero solo precedió la llegada de zkSync Era, una solución L2 completa para Ethereum, que teóricamente también se puede adaptar a otras blockchains L1. Sin embargo, las ambiciones de zkSync no se detienen ahí, ya que los planes de desarrollo incluyen el lanzamiento de las llamadas hypercadenas.
Hyperchains, or “fractal scaling,” consist of ZKP networks, each forming its own blocks and proofs. These proofs are then collected together and posted on the main L1 network. Each of these networks is a complete copy of the entire system and can be considered its “fractal”.
La singularidad de las hyperchains es que pueden ser creadas e implementadas de forma independiente. Para mantener la coherencia y la compatibilidad, cada hyperchain debe utilizar un motor zkEVM común, parte del stack ZK (siendo zkSync Era el primer hyperchain). Esto permite que las hyperchains hereden su seguridad de L1, garantizando su fiabilidad y eliminando la necesidad de medidas adicionales de confianza y seguridad.
Hyperchains representan un enfoque innovador para escalar las redes blockchain, reduciendo la carga en la red principal y aumentando la velocidad de procesamiento de transacciones. Aspectos clave de este enfoque incluyen:
Más sobre todo esto se puede encontrar aquí.
El protocolo zkSync parece muy prometedor y tiene un gran potencial, aunque en la actualidad, el lanzamiento en esta blockchain todavía está asociado con una serie de riesgos que deben ser considerados. Desarrollar para zkSync actualmente es más desafiante que para blockchains que son mucho más compatibles con EVM y el stack de desarrollo de EVM. Sin embargo, quizás en el futuro, esta diferencia se volverá insignificante o desaparecerá por completo.