Precio de Bitcoin Precio de Bitcoin
Ctrl+D Precio de Bitcoin
ads
Casa > DAI > Info

zkSync 2.0: Hola Ethereum

Author:

Time:

Ante el mayor desafío técnico, estamos iniciando un sprint hacia la implementación de contratos inteligentes en un entorno compatible con EVM. La primera versión de testnet está disponible: ya puede usar un explorador de bloques para ver la actividad en zkSync 2.0. En esta publicación, explicamos cada componente clave en profundidad, brindamos actualizaciones de progreso y planes para la próxima versión. En términos de criptografía, se ha completado el conjunto de instrucciones de zkEVM y se han completado ambas implementaciones: en circuito y en el entorno de ejecución. En el lado del compilador, los contratos inteligentes escritos en Solidity y Zinc ahora pueden compilarse en el código de bytes zkEVM. En términos de infraestructura central, se completa la integración completa del nodo y el contrato inteligente compilado se puede implementar y ejecutar con éxito. Si bien la infraestructura zkEVM y core 2.0 está lista para ser expuesta, el compilador necesita más trabajo para cubrir adecuadamente todos los casos extremos. Para brindar una experiencia de desarrollador más completa, hemos decidido abrir el acceso a zkEVM, el compilador y el SDK central tan pronto como el compilador sea 100 % confiable. La mayoría de las cosas se ven y se sienten iguales. Aquí hay algunas diferencias importantes: ¡Los contratos inteligentes de Solidity admiten la mayoría de los códigos de operación en Ethereum! Sin embargo, hay algunas excepciones: los códigos de operación ADDMOD, SMOD, MULMOD, EXP y CREATE2 no son compatibles en esta versión, pero lo serán en el futuro. No admitimos el código de operación KECCAK256 por ahora, pero reemplazaremos automáticamente todas las llamadas a él con llamadas a otra función hash resistente a colisiones. KECCAK256 se presentará más adelante como precompilación. Decidimos no incluir el código de operación SELFDESTRUCT porque Ethereum planea eliminarlo. Es posible que eliminemos la compatibilidad con los códigos de operación XOR/AND/OR completos de 256 bits, ya que estos solo existen en el código Solidity compilado para máscaras de bits. Esto lo puede hacer el compilador usando otros códigos de operación. Tarifas En zkSync 2.0, hay un concepto diferente de gas. Los precios de transacción fluctuarán en función de los precios actuales del gas L1 (debido a la publicación de datos de llamadas) y los costos de generación de ZKP. Las llamadas de contrato inteligente tendrán la cantidad máxima de pasos zkEVM y parámetros de escritura de almacenamiento. La próxima versión de Web3 API incluirá nuestra implementación de Web3 API, que será compatible con el estándar Web3 definido por la documentación de Ethereum. Los eventos funcionarán de inmediato y todos los servicios se pueden integrar fácilmente. zkSync incluye características que L1 no incluye, como la noción de bloques comprometidos y finalizados. Por lo tanto, habrá otras formas de dar a los desarrolladores un control más preciso sobre los datos. El código del cliente Web3 recibirá los mismos datos que Ethereum, pero puede solicitar información especial utilizando el espacio de nombres `zksync_`. Towerbank, el banco panameño amigable con las criptomonedas, prohíbe a los clientes el uso de mezcladores de criptomonedas: Towerbank, el banco panameño amigable con las criptomonedas y BTC, dice que prohibirá a sus clientes el uso de mezcladores de criptomonedas después de que la Oficina de Control de Activos Extranjeros (OFAC) de EE. UU. comience a sancionar a Tornado Cash. CriptoNoticias informó que los usuarios de Towerbank que usan Tornado podrían enfrentar sanciones como la suspensión de la cuenta o más medidas punitivas. El medio citó a Gabriel Campa, jefe del departamento de encriptación y blockchain del banco, diciendo que los mezcladores de criptografía "a menudo se usan en actividades ilícitas". (cryptonews) [2022/8/14 12:23:46] Dado que zkSync tiene múltiples tipos de transacciones y usa firmas EIP712, el formato de los datos `eth_sendRawTransaction` será diferente de L1. Sin embargo, la codificación corresponde a Ethereum ABI, por lo que no es difícil soportarlo. Firma de transacciones Las transacciones en zkSync 2.0 se pueden autorizar de dos maneras (además del mecanismo de cola de prioridad): Los usuarios pueden firmar transacciones utilizando su billetera Ethereum normal (por ejemplo, Metamask o cualquier billetera WalletConnect) firmando un mensaje EIP712. Cualquier cuenta puede configurar una clave pública para crear nuestras firmas Schnorr internas para firmar transacciones. Esto permite que las billeteras basadas en contratos inteligentes interactúen con zkSync 2.0 sin el costo adicional de enviar mensajes L1. Mejoras en la eficiencia del almacenamiento Aplique superposiciones de ranuras solo una vez por fragmento. Esto significa que si varios usuarios interactúan con un solo contrato AMM, la ranura de almacenamiento del contrato AMM solo se sobrescribirá una vez. Esto permite que el clasificador reembolse el costo compartido de una sola escritura al usuario más tarde. Se planea un mecanismo de "precompilación", pero se lanzará en una fecha posterior. Planeamos admitir primero las primitivas de recuperación keccak256, sha256 hash y ECDSA. Dependiendo de las necesidades y la complejidad, se pueden considerar otras precompilaciones para su inclusión, como la función de ronda de Blake2f (casi inutilizable en Ethereum en su forma actual). Restricciones adicionales La primera iteración de zkSync 2.0 puede imponer un límite adicional de 32 llamadas de contrato inteligente por transacción hasta que se implementen los mecanismos de contabilidad adecuados. Habrá un límite estricto para el seguimiento de la ejecución, pero es comparable al límite actual del tamaño de bloque de Ethereum y no debería afectar a la mayoría de los protocolos. Puede haber más restricciones, pero nuestro objetivo es reducirlas al mínimo absoluto en la versión final. Comprensión profunda de la arquitectura zkSync 2.0 Chongqing profundizará la cooperación con Singapur en moneda digital y otros campos: Jinse Finance informó que, según la Oficina de Gestión de Proyectos de Demostración de Chongqing China-Singapur, durante el "segundo período de cinco años" de China -Proyecto de interconexión de Singapur, Chongqing Profundizará la cooperación "dual hub" con Singapur. En el campo de los servicios financieros, Chongqing promoverá la interconexión de los mercados financieros con Singapur en los campos de la gestión patrimonial transfronteriza y el reconocimiento mutuo de fondos, y profundizará la cooperación con Singapur en los campos de las finanzas verdes y la moneda digital. (Chinanews.com Chongqing) [2021/9/11 23:18:25] Es posible que haya oído hablar del trilema de la cadena de bloques, pero al escalar Ethereum, hay un cuarto factor: la programabilidad. Todas las soluciones de escalado actuales existen dentro del alcance de sacrificar algo de seguridad, descentralización y programabilidad por escalabilidad. El diseño de zkSync 2.0 combina los siguientes 2 avances tecnológicos para maximizar las 4 funciones: zkEVM: el motor que impulsa nuestro zkRollup compatible con EVM, el único con solución de soporte de contrato inteligente de seguridad y confiabilidad L1. zkPorter: un sistema de disponibilidad de datos fuera de la cadena que es 2 órdenes de magnitud más escalable que el resumen. (Imagen cortesía de zkSync) Dado que zkEVM y zkPorter son interoperables y componibles, zkSync 2.0 puede superar significativamente a todas las demás soluciones de escalado. El consenso actual es que la fragmentación de datos Eth2 llegará a fines de 2022 para proporcionar una capa de disponibilidad de datos exponencialmente más grande sin sacrificar la descentralización. La tecnología zkRollup de zkSync combinada con la fragmentación de datos Eth2 es el objetivo final, lograr más de 100 000 TPS sin sacrificar ninguno de los 4 factores. Árbol de estado El árbol de estado de zkSync 2.0 cubre el espacio completo de direcciones de 160 bits de Ethereum. Cada cuenta residirá en la parte zkRollup o en la parte zkPorter del estado. Las cuentas zkRollup y zkPorter son idénticas excepto por un componente: disponibilidad de datos garantizada. Los datos de transacciones de zkRollup se publican en Ethereum a través de calldata, los datos de transacciones de zkPorter se publican en la red zkSync Guardian y los titulares de tokens de zkSync participan en la prueba de equidad. El lugar donde se publican los datos es una compensación entre el costo y la seguridad. Las transacciones de zkPorter son mucho más baratas que las transacciones agregadas, pero tienen el potencial de congelar sus fondos. Sin embargo, la validez de las cuentas zkRollup y zkPorter está garantizada por pruebas de conocimiento cero y Ethereum. En otras palabras, los fondos en zkPorter solo se pueden congelar, no robar. La interoperabilidad y compatibilidad de las cuentas zkRollup y zkPorter brinda a cada usuario la oportunidad de convertirse en un ciudadano de primera clase en zkSync. Se puede acceder a Uniswap implementado en el lado zkRollup a través de la cuenta zkPorter para intercambiar por la tarifa más baja. zkSync 2.0 es un sistema diseñado para la participación de los usuarios en todo el espectro financiero. Criptografía Nuestra VM, más comúnmente conocida como zkEVM, no es una copia 1:1 de EVM, pero está diseñada para poder ejecutar el 99 % de los contratos escritos en Solidity y mantener su mismo comportamiento, como durante la recuperación y las excepciones. . Mientras tanto, zkEVM está escrito para generar eficientemente pruebas de conocimiento cero en circuitos. Esto se hizo sin cambios importantes en nuestro sistema de prueba; continuamos usando PLONK con puertas personalizadas y tablas de búsqueda (comúnmente conocidas como UltraPLONK) y la curva BN-254 de Ethereum. Esto es ventajoso porque el sistema de prueba se ha probado en batalla desde junio de 2020 en zkSync 1.0, así como en otros proyectos que utilizan el mismo sistema de prueba. Una vez más, nos complace anunciar que después de varios meses de arduo trabajo: el conjunto de instrucciones para zkEVM está completo e implementado en entornos de circuito y ejecución. Aquí hay una distinción importante: la implementación en el circuito y el entorno de ejecución están separados y tienen diferentes propósitos. El trabajo del circuito es generar pruebas de seguimientos de ejecución y proporcionar testigos, pero esto es muy lento. Por otro lado, el entorno de ejecución es una implementación directa de zkEVM en rust, que es eficiente y rápido. Si confiáramos en los circuitos para generar pruebas y ejecutarlas, las transacciones tardarían horas en finalizar. La separación de la generación de pruebas y la ejecución simple permite la liquidación instantánea de transacciones en zkSync. A continuación, nos enfocamos en unir zkEVM y el compilador y combinar recursividad: recursión entre bloques, lo que nos permite emitir una prueba para N bloques, y recursión dentro de un bloque, que agrega las diferencias de los bloques. . ¡Esta es la parte facil! Desde junio de 2020, la red principal zkSync 1.0 ha estado utilizando pruebas agregadas recursivamente entre bloques. Para obtener más información sobre la recursión intrabloque y cómo funciona nuestro zkEVM, vea este video explicativo. Compiladores (Imagen cortesía de zkSync) Estamos trabajando simultáneamente en dos interfaces de compilador para zkEVM: Yul y Zinc. Yul es una representación intermedia de Solidity que se compila en código de bytes para diferentes backends. Zinc es nuestro lenguaje basado en Rust para contratos inteligentes y circuitos de prueba de conocimiento cero de propósito general. Dado que el compilador se crea con el marco LLVM, se puede considerar que tiene un código de bytes Yul → LLVM IR de interfaz y un código de bytes LLVM IR → zkEVM de backend. La adopción de LLVM trae varias ventajas clave: El marco de optimización de LLVM no tiene paralelo: genera el código de bytes zkEVM más eficiente a partir de LLVM IR. Con las versiones más nuevas de Solidity o Zinc, la interfaz del compilador manejará todos los cambios, mientras que LLVM nos evitará tener que cambiar el backend del compilador. En el futuro, si un desarrollador desea escribir un contrato inteligente en Rust nativo o Javascript, solo necesita crear una interfaz de compilación para ese lenguaje, y el contrato inteligente funcionará de manera inmediata en zkSync. La seguridad del compilador es de suma importancia para nosotros y ha superado múltiples conjuntos de pruebas: pruebas léxicas, sintácticas y semánticas en los compiladores Zinc y Yul. Nuestras propias pruebas de integración de Zinc y Solidity a lo largo de todo el ciclo de vida del contrato inteligente: desde el análisis del código fuente hasta la implementación del contrato y la ejecución de transacciones en zkSync. Un extenso conjunto de pruebas integrado desde el repositorio de Solidity para nuestras herramientas de prueba de integración. Cada suite ya contiene miles de pruebas, y aumentaremos este número al menos en un orden de magnitud. Nuestros 2 compiladores han implementado y ejecutado con éxito contratos inteligentes simples en ambos idiomas. Pero hay más optimizaciones que deben realizarse, algunas declaraciones LLVM IR complejas deben convertirse a código de bytes zkEVM. Por lo tanto, decidimos no lanzar el compilador hasta que estuviera en un estado más robusto. Una vez que el compilador esté completo, nos centraremos en hacer que Zinc sea más expresivo y rico en funciones, y luego crearemos una interfaz de compilador de Rust para permitir la escritura de contratos inteligentes en Rust nativo. Infraestructura central El núcleo de zkSync 2.0 consta de varias funciones clave: Nodo completo Entorno de ejecución previo al circuito a través del código de bytes zkEVM de la máquina virtual El estado está disponible segundos después de que se envía la transacción, filtrando la posible inflación de bloques Transacciones claramente incorrectas (por ejemplo , fondos insuficientes para la transacción), ejecuta la transacción en el mempool y genera un bloque. Los probadores reciben testigos de bloque y generan pruebas de conocimiento cero, una interfaz de probador para la generación de pruebas en paralelo, un escalador automático de probador personalizado y la capacidad de crear y terminar máquinas de prueba según sea necesario. Interactor Una herramienta para ver e interactuar con Ethereum L1, calculando las tarifas de transacción en función de los precios de los tokens, los costos de generación de ZKP y los precios del gas L1. Paranoid supervisa Prometheus, elastic, sentry, uptime, varios sistemas de notificación de eventos independientes y servicios personalizados de verificación de estado. Esta infraestructura central es completamente funcional y ya integra el ejecutor zkEVM.

Tags:

DAI
Opiniones sobre invertir en el proyecto "Second Layer Expansion" de Ethereum

En una sesión de preguntas y respuestas reciente, muchos lectores preguntaron acerca de invertir en el escalado de Capa 2. Escribí sobre la inversión en la expansión de la segunda capa en el artículo de marzo.

RBI reitera el enfoque clave en el comercio de criptomonedas

Tuiteando noticias, según Bloomberg News, el gobernador del Banco de la Reserva de India (RBI), Shaktikanta Das.

Observación dorada | Toro lento O giro bajista, ¿dónde va el cifrado bajo el impacto continuo?

Desde la fuerte caída del 19 de mayo, el mercado de cifrado en general ha mostrado una tendencia a la baja de conmociones. Bajo una serie de malas noticias, la recuperación se retrasó y el rebote fue limitado.Además.

zkSync 2.0: Hola Ethereum

Ante el mayor desafío técnico, estamos iniciando un sprint hacia la implementación de contratos inteligentes en un entorno compatible con EVM. La primera versión de testnet está disponible: ya puede usar un explorador.

Observación dorada | Los intercambios de criptomonedas coreanos enfrentarán más restricciones

Los intercambios de criptomonedas coreanos enfrentan más problemas ya que el regulador financiero de Corea del Sur planea prohibir el comercio cruzado.

Interpretación: Choques del mercado, los mineros de Ethereum aumentan los salarios

Un mayo tumultuoso ha terminado, sin que Bitcoin (BTC) ni Ethereum (ETH) recuperen pérdidas desde sus máximos. Mientras los mineros chinos de Bitcoin todavía esperan ansiosamente la política para supervisar la limpiez.

Tres minutos para entender la diferencia entre ERC-20 y ERC-721

A menudo vemos el término "ERC-20" en los informes de los medios de la industria, que es un protocolo estándar en Ethereum. Además de ERC-20.

ads