ZKP: La creación de puentes entre cadenas seguros y eficientes

CoinEx en Español
12 min readMar 21, 2023

--

Antecedentes

Desde el nacimiento de Bitcoin en 2009, la tecnología blockchain ha avanzado mucho. Aunque Bitcoin y Ethereum siguen dominando el mercado, han surgido muchas redes blockchain diferentes con funciones y aplicaciones únicas. Las cadenas de bloques no pueden interactuar entre sí porque están construidas con arquitecturas diferentes. A medida que los ecosistemas de cadenas de bloques, especialmente DeFi, siguen creciendo, tender puentes entre diferentes cadenas de bloques se ha convertido en un problema clave.

Los puentes entre cadenas han surgido como solución a ese mismo problema. Estas aplicaciones permiten que diferentes activos se muevan a través de múltiples cadenas de bloques. En algunos casos, los puentes entre cadenas incluso hacen realidad la interoperabilidad de la información. Al igual que un puente que atraviesa dos orillas de un río, los puentes entre cadenas transfieren activos de una cadena a otra sin problemas, lo que permite a los usuarios aprovechar las características únicas de las distintas redes de cadenas de bloques. Además, permiten a las aplicaciones transferir datos e información entre distintas cadenas. A pesar de sus méritos, los puentes entre cadenas también se enfrentan a desafíos, especialmente en términos de seguridad. Por ejemplo, en 2021, Poly Network fue pirateada, lo que provocó una pérdida de más de 600 millones de dólares en criptodivisas. En 2022, aproximadamente la misma cantidad de criptomoneda fue robada de Ronin Network, el puente entre cadenas de Axie Infinity. Estos casos demuestran que los puentes entre cadenas necesitan medidas de seguridad más exhaustivas para salvaguardar los activos y datos de los usuarios.

En los últimos años, las pruebas de conocimiento-cero (ZKP) han avanzado mucho en sus aplicaciones. La ZKP es una potente herramienta criptográfica que protege la privacidad de los datos de los usuarios y demuestra la eficacia de las soluciones de escalado Rollup. Además, ZKP también desempeña un papel vital y único en el diseño de puentes entre cadenas. Con estas pruebas concisas, la cadena de destino puede verificar eficazmente la transición de estado de la cadena de origen, lo que mitiga los riesgos de terceros no relacionados con la cadena de destino y la cadena de origen y mejora la seguridad de los puentes entre cadenas. Hoy repasaremos varios de los puentes de cadena cruzada más conocidos y explicaremos cómo se aplica la tecnología ZKP a los puentes de cadena cruzada estudiando varios puentes basados en ZKP.

Tipos de puentes entre cadenas

El criptoinvestigador 0xjim dividió una vez los puentes entre cadenas en cuatro categorías: Team Human, Team Economics, Team Security y Team Game Theory, según su diseño y mecanismos. En concreto, las cadenas Team Human están más centralizadas. Por ejemplo, Ronin Network consta de nueve nodos completos gestionados por entidades conocidas públicamente. Prueban la validez de una transacción mediante la verificación multifirma y, una vez superado un umbral, la transacción se considera verificada. En circunstancias normales, estos validadores no harán nada que pueda ser detectado como un comportamiento malicioso, pero con este enfoque centralizado, podrían ser atacados y convertirse en la mayor laguna legal, y podría ser desastroso si las claves privadas no se gestionan adecuadamente.

El siguiente es Team Economics, que incluye a Celer, Axelar y Thorchain. Son similares a las multisigs, pero con tokenómica. Para evitar la mal utilización, las cadenas de Team Economics exigen que los nodos (validadores) pongan en juego los tokens. En caso de infracción, la participación del validador se reducirá drásticamente. Así que, desde una perspectiva financiera, deben verificar la validez de las transacciones con honestidad.

El tercer tipo se denomina Team Security, que cubre las cadenas que utilizan TEE o MPC para hacer más seguras las transferencias entre cadenas. Por ejemplo, todos los nodos realizarían una verificación de cliente ligero encriptada fuera de la cadena en un TEE como Intel SGX para mantener la privacidad e integridad de la gestión de claves privadas.

Por último, está la Team Game Theory, que abarca LayerZero, Nomad y Synapse. Estos protocolos dividen el bridging en dos tareas separadas y desincentivan la coordinación entre los dos responsables. En el caso de LayerZero, los oráculos pasan las cabeceras de los bloques y los repetidores pasan las pruebas de las transacciones. Juntos, ambos realizan las tareas de un cliente ligero en la cadena.

Los cuatro tipos de puentes se basan en la verificación fuera de la cadena y en la autenticación multifactor. En concreto, los tres primeros utilizan esencialmente su propia cadena/red PoS como testigo para transmitir información entre dos cadenas públicas cualesquiera. Este enfoque más rápido, barato y escalable facilita que estos puentes se conecten a más cadenas, pero el precio que deben pagar es que los usuarios y proveedores de liquidez tienen que confiar plenamente en los fondos o datos de los validadores externos. En otras palabras, confían en la seguridad del puente, más que en la de la cadena de origen o la de destino.

ZKP (Zero Knowledge Proof)

En los últimos años, hemos visto accidentes frecuentes en los puentes inter-cadena (cross-chain), lo que ha resultado en pérdidas financieras significativas. Esto destaca las vulnerabilidades que los supuestos de confianza adicionales introducen en los puentes inter-cadena. Como tal, el diseño más seguro para un puente inter-cadena es el mínimo de confianza, es decir, el puente solo hereda los atributos de seguridad de las dos cadenas conectadas sin confiar en ningún tercero. La verificación en la cadena (on-chain verification) es una forma efectiva de minimizar la confianza en los puentes inter-cadena. Para ser más específicos, la cadena de destino valida el consenso de la cadena de origen y confirma si la transacción especificada está incluida en la cadena de origen. Por ejemplo, los validadores de la cadena de destino pueden ejecutar un cliente ligero de la cadena de origen para verificar la raíz de Merkle enviada y verificar que la transacción ha obtenido firmas válidas de los validadores en la cadena de origen. Sin embargo, este enfoque ha sido difícil de adoptar porque la verificación en la cadena es bastante costosa. Los validadores en la cadena de destino pueden encontrar difícil ejecutar un cliente ligero para diferentes cadenas de origen, y algunas cadenas de destino pueden no admitir el esquema de firma adoptado por la cadena de origen. Por ejemplo, los validadores en el consenso de Ethereum PoS utilizan firmas BLS y el EVM no tiene la precompilación para la curva BLS12–381 utilizada en estas firmas, lo que hace que una implementación de Solidity de tal cliente ligero sea prohibitivamente costosa.

El progreso reciente en los sistemas ZKP ha hecho que la computación verificable sea más sucinta. Además, ZKP desempeña un papel único y vital en el diseño de puentes inter-cadena, al igual que cómo zk-SNARK impulsa la escalabilidad de los proyectos zkEVM. La computación verificable también puede generar pruebas de validez para estados de cadena, y estas pruebas de validez validan el consenso para clientes ligeros con eficiencia y bajos costos, lo que permite interoperabilidad con minimización de la confianza. De hecho, los puentes inter-cadena utilizan la sucintez de ZKP en lugar de su propiedad de conocimiento cero. En este sentido, para los puentes inter-cadena, los ZKP son similares a la prueba de validez de las soluciones de escalado Rollup.

Succinct Labs

Succinct Labs y Gnosis han co-lanzado un puente cruzado basado en SNARK que permite la interoperabilidad minimizando la confianza entre cualquier par de cadenas Ethereum PoS, como Ethereum y Gnosis Chain. Esto se logra desplegando un cliente ligero en forma de un contrato inteligente Solidity en la cadena que genera una prueba de validez para el estado de la cadena fuente mediante ZKPs sucintos. Este enfoque permite una verificación eficiente del cliente ligero, lo que facilita las comunicaciones entre cadenas cruzadas entre Ethereum y Gnosis Chain, lo que permite la interoperabilidad minimizando la confianza. El cliente ligero realiza un seguimiento de los encabezados de bloque de Ethereum en Gnosis, y viceversa, sin la necesidad de supuestos de confianza adicionales. Mientras tanto, un comité de sincronización de 512 validadores de Ethereum elegidos al azar cada 27 horas confirma si el estado de Ethereum es válido. Una vez que dos tercios o más de los validadores firman el encabezado de bloque, se considera que el estado de Ethereum es válido. Como tal, el esquema es esencialmente un puente PoS.

Succinct Labs genera zk-SNARKs a través de un cliente ligero utilizando el lenguaje de programación Circom y el sistema de prueba Groth16, lo que reduce el costo de la verificación en cadena. En lugar de verificar una firma BLS agregada, el cliente ligero verifica un solo zkSNARK Groth16. Además de eso, el cliente ligero también debe realizar un seguimiento de los validadores del comité de sincronización. Cada vez que el comité de sincronización vuelve a seleccionar nuevos validadores, los validadores actuales firman un encabezado de bloque que contiene el hash SSZ de la clave pública del próximo comité. Como el hash SSZ utiliza SHA-256, no es compatible con SNARK, y se deben calcular una gran cantidad de restricciones. Para resolver el problema, Succinct Labs creó un circuito que asigna el hash SSZ del próximo conjunto de validadores a un compromiso de Poseidón compatible con SNARK, que luego se almacena en la cadena y se utiliza como entrada para el SNARK de verificación de firma BLS para asegurarse de que la firma que se está verificando es de hecho de los validadores del comité de sincronización.

La tecnología aún está en etapa de desarrollo y el puente de tokens en la red de prueba se ha lanzado para demostración entre Ethereum y Gnosis, pero aún no se ha utilizado para proteger activos reales. Además, debe tenerse en cuenta que el nivel de seguridad de la tecnología aún no ha alcanzado el del consenso de Ethereum.

Electron Labs

Electron Labs es un protocolo de cadena cruzada que protege la comunicación de cadena cruzada a través de clientes ligeros ZK. Su objetivo es conectar Ethereum con el ecosistema Cosmos (así como con otras cadenas EVM) utilizando los protocolos IBC y la tecnología zk-SNARK. Proyectos similares a Electron Labs son Polymer y Gerege.

Normalmente, Cosmos IBC despliega clientes ligeros en forma de contratos inteligentes en las cadenas de origen y destino para verificar transacciones de cadena cruzada. De manera similar, para conectar IBC con Ethereum, los desarrolladores deben ejecutar el cliente ligero de Tendermint en Ethereum como un contrato inteligente de Solidity. Sin embargo, resulta ser una operación extremadamente costosa en términos de gas ya que requiere la verificación de cientos de firmas Ed25519 en solidity, y los precompilados de Ed25519 no están disponibles en Ethereum. Por lo tanto, en lugar de verificar las firmas Ed25519 directamente en Ethereum, Electron Labs utiliza una solución alternativa: construye una prueba de conocimiento cero (ZKP) de la validez de la firma fuera de la cadena y verifica la prueba en la cadena.

Los módulos de cliente ligero en la cadena de Ethereum incluirán un verificador de prueba ZK en lugar de un verificador de firmas Ed25519. El relé, en lugar de enviar el encabezado completo del cliente ligero, solo enviará la prueba de validez del mismo. En Electron Labs, se ha construido una biblioteca basada en Circom que genera una prueba zk-SNARK para un lote de firmas Ed25519, lo que hace que sea más económico verificar esas firmas en Ethereum.

Positron es el primer puente de Electron, que se lanzó entre las testnets Goerli y NEAR. El puente se utiliza para demostrar la implementación de ZKPs y clientes ligeros en la cadena. Durante las pruebas públicas, los límites de velocidad de los nodos RPC causaron latencia en el procesamiento de transacciones en Positron, lo que provocó el retraso de cientos de transacciones durante varias horas. Desde entonces, se ha resuelto el problema.

zkBridge

zkBridge es un puente de cadena cruzada sin confianza, sin permisos, extensible, universal y eficiente. Cualquier nodo puede unirse libremente a la red para retransmitir los encabezados de bloque, generar pruebas y reclamar recompensas. Para ser más específicos, zkBridge consta de una red de retransmisión de encabezados de bloque y un contrato actualizador. En la red de retransmisión de encabezados de bloque, los retransmisores recuperan los encabezados de bloque de la cadena de origen, generan pruebas de validez de los encabezados de bloque y envían los encabezados junto con las pruebas al contrato actualizador que se configura en la cadena de destino. Para el contrato actualizador, los encabezados de bloque correspondientes de la cadena de origen se almacenan una vez que las pruebas asociadas pasan la verificación. Además, el contrato actualizador también mantiene un estado de cliente ligero. Una vez que se agrega un nuevo encabezado de bloque, el contrato renueva el estado de cliente ligero como otros clientes ligeros en la cadena de origen. El contrato actualizador también expone una función a las aplicaciones, a través de la cual una aplicación en la cadena de destino puede obtener el encabezado de bloque de una altura dada en la cadena de origen. Después de obtener la información del encabezado de bloque, la aplicación puede realizar más verificaciones y construir sus propias funciones.

Para una generación rápida de pruebas y un bajo costo de verificación de pruebas en la cadena, zkBridge utiliza un sistema de prueba recursiva de 2 capas. En la primera capa, el puente utiliza deVirgo, una versión distribuida del sistema de prueba Virgo. deVirgo combina la suma distribuida y el compromiso polinómico distribuido para lograr una paralelización óptima, y es capaz de acelerar la generación de pruebas por órdenes de magnitud cuando se ejecuta en máquinas distribuidas. En la segunda capa, zkBridge utiliza Groth16 para demostrar que la prueba generada previamente por deVirgo realmente demuestra los encabezados de bloque correspondientes.

=nil; Foundation

Enfocándose en el desarrollo de tecnología ZK, =nil; Foundation; fue establecida en abril de 2018 con el objetivo de apoyar y promover la investigación y el desarrollo de sistemas de gestión de bases de datos y criptografía aplicada. Busca proporcionar soluciones técnicas completas para blockchains y protocolos, permitiéndoles generar ZKPs según sus necesidades. Entre los inversores detrás del proyecto se encuentran el inversor institucional líder Polychain, así como las tendencias en los protocolos ZK StarkWare y Mina Protocol.

Recientemente, l=nil; Foundation presentó un compilador de lenguaje de programación convencional llamado zkLLVM, que no involucra zkVM y puede compilar código de implementación EVM existente escrito en C++ o Rust. Con zkLLVM, los desarrolladores pueden construir rápidamente aplicaciones como zkRollup, zkBridge y zkOracle con bajos costos. Además, dado que generar pruebas SNARK/STARKS requiere una gran potencia de cálculo, =nil; Foundation; ha establecido el Mercado de Pruebas ZK para ayudar a los equipos a simplificar su trabajo y externalizar ciertos tipos de cálculo a terceros, permitiendo a los solicitantes de pruebas publicar solicitudes de pruebas para cualquier circuito predefinido y proporcionando un mercado competitivo con licitaciones abiertas. Finalmente, los generadores de pruebas del Mercado de Pruebas ejecutan órdenes y devuelven pruebas recién generadas.

Anteriormente, crearon zkBridge entre Mina-Ethereum y Solana-Ethereum. Usando zkLLVM, los desarrolladores pueden compilar directamente códigos escritos en lenguajes de programación convencionales como C++ y Rust en circuitos, generar las pruebas de estado o consenso necesarias y establecer zkBridge. Por ejemplo, Mina Protocol y Ethereum usan zkLLVM para generar los circuitos de prueba de estado auxiliares de Mina y los verificadores in-EVM, lo que permite la verificación de bajo costo del estado de Mina en EVM.

Conclusion

Hoy repasamos varios proyectos que construyen puentes entre cadenas con tecnología ZKP. Todos estos proyectos están explorando cómo usar la ZKPs para generar pruebas de validez y lograr una verificación de consenso de light-client eficiente y de bajo costo, lo que permite la interoperabilidad sin confianza. Aunque todavía se encuentran en una etapa muy temprana y a menudo están limitados a ciertas cadenas, estos proyectos ofrecen una solución innovadora al problema de la interoperabilidad que enfrentan las blockchains. Creemos que a medida que la tecnología ZKP siga avanzando, la industria blockchain presenciará la aparición de más soluciones de interoperabilidad entre cadenas con un rendimiento de seguridad sólido.

Acerca de CoinEx

Haciendo más fácil el trading de criptomonedas.

CoinEx es una plataforma global y profesional de intercambio de criptomonedas y sus derivados. Se fundó en diciembre de 2017 como parte del Grupo ViaBTC, que posee uno de los pools de minería de BTC más grandes del mundo. CoinEx soporta el trading de futuros, trading spot, trading de margen y swap, además de operaciones financieras; y nuestros servicios llegan a usuarios globales en más de 200 países/regiones con varios idiomas disponibles, como el español, inglés, chino, coreano, persa, y más.

Llega a CoinEx a través de:
Sitio web | Registro | Discord | Facebook | Instagram | Publish0x | Telegram | Telegram Noticias | Twitter | YouTube
API | Descarga la APP

El Grupo ViaBTC es

CoinEx Charity: Fondo de caridad basado en la blockchain.
CoinEx Exchange: Intercambio de criptomonedas y sus derivados.
CoinEx Smart Chain: Sistema descentralizado de cadena pública.
OneSwap: Intercambio descentralizado.
ViaBTC Capital: Plataforma de inversión que integra capital.
ViaBTC Pool: Pool de minería de múltiples criptomonedas.
ViaWallet: Billetera móvil de múltiples criptomonedas.

ViaBTC: haciendo del mundo un lugar mejor.

--

--

CoinEx en Español
CoinEx en Español

Written by CoinEx en Español

CoinEx.com es un proveedor global y profesional de servicios de intercambio de monedas digitales. CoinEx, hace más fácil el trading de criptomonedas.

No responses yet