Zero Knowledge

🧠
← Todos los conceptos

Mantenerse al día y recopilar toda la información que aparece en el ecosistema de las crypto es una tarea monumental, pero hay veces en que las narrativas y el hype por ciertos proyectos o sectores específicos es más que notable. En los últimos meses hemos visto como las aplicaciones, desarrollos y las rondas de financiación de los proyectos relacionados con zero-knowledge han continuado presentes y están creciendo aun más.

Muchos de los grandes “pensadores” y OGs técnicos de crypto y blockchain (por ejemplo, Vitalik) creen que la tecnología de los zero-knowledge rollups (ZKRs) es fundamental para poder hacer que el ecosistema escale a niveles donde pueda servir a todo el planeta. Aunque la realidad es que esta tecnología no estará completamente desarrollada hasta dentro de 5-10 años, ya estamos viendo como hay algunas blockchains compatibles con ZKRs.

ZKP: Zero-Knowledge Proof (or Protocol)

En el mundo de la criptografía, un ZKP es un método por el cual una de las partes (probador) demuestra a otra (verificador) que una declaración o afirmación (normalmente matemática) es cierta, sin revelar nada más que la veracidad de la afirmación. En la industria que nos concierne, se refiere a verificar las keys de tu wallet, sin que nadie (excepto tú), ni siquiera el proveedor de servicios (Metamask, Coinbase Wallet…) pueda acceder a tus datos protegidos. Se dice que el verificador y el probador son honestos cuando siguen ambos el protocolo correctamente.

Una prueba ZK tiene tres características que la definen:

  • Completitud: si la declaración es verdadera, entonces el probador honesto puede convencer a un verificador de que posee conocimiento sobre la declaración de manera correcta.
  • Solidez: si la declaración es falsa, no existe un probador deshonesto que pueda engañar a un verificador honesto de que la declaración es verdadera, excepto con alguna probabilidad pequeña.
  • Conocimiento cero: si la declaración es verdadera, entonces lo único que aprende el verificador es que la afirmación es verdadera.

Las pruebas de conocimiento cero (ZKPs) no son pruebas en el sentido matemático del término, porque existe esa probabilidad que mencionábamos en el segundo punto, llamada error de solidez, en el que un probador engañoso puede convencer al verificador de una afirmación falsa.

Ejemplo: la cueva de Ali Baba

En la cueva están María y Victor, donde María será la probadora de la afirmación y Víctor el verificador de la misma. En nuestra historia, María ha descubierto una palabra mágica que permite usar una puerta mágica dentro de la cueva. La cueva tiene forma de anillo, con la entrada a un lado, y la puerta en el punto opuesto de la cueva, bloqueando el acceso a no ser que conozcan la palabra secreta. Víctor quiere saber si María sabe dicha palabra, pero como María es muy reservada no quiere desvelar su conocimiento (la palabra secreta) a Víctor (ni a nadie en general).

https://substackcdn.com/image/fetch/w_324,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa255dfc0-0223-472d-af57-843ce1a60d3e_773x541.png

Pongamos a los caminos a la izquierda y derecha desde la entrada las etiquetas de A y B respectivamente. Entonces, Víctor espera en la entrada mientras María entra y elige uno de los dos caminos, sin que Víctor pueda ver cual elige. Posteriormente, Víctor entra y grita a María el camino por el cual debe volver a la entrada. En el caso de que efectivamente conozca la palabra secreta, está claro, María abrirá la puerta y saldrá por el camino requerido por Víctor.

Sin embargo, supongamos ahora que no conoce realmente la palabra secreta. Entonces, solo podría volver por el camino indicado por Víctor en el caso de que coincida con el que ha usado para entrar. Como Víctor elegirá entre A o B, María tiene un 50% de probabilidad de acertar. Si repitieran esto varias veces, digamos unas 20 veces seguidas, entonces la probabilidad de que María acertara todas elecciones de camino de Victor sería ínfima (una de 2^20, o aproximadamente una en un millón).

Por tanto, si María sale de manera repetida por el camino que Víctor elige, Víctor puede concluir que es extremadamente probable que María, en efecto, conozca la palabra secreta, sin saber él en ningún momento cuál es.

Una aclaración sobre el caso en el que haya terceros presentes. Incluso si Victor tuviera una cámara que grabara todo el “experimento”, lo único que quedaría registrado es Víctor gritando “A” o “B”, y a María apareciendo por el camino correcto, lo cual no serviría para convencer a nadie (excepto a Víctor y María) de que María conoce la palabra, pues ambos podrían estar compinchados de antemano para seguir una secuencia predeterminada de caminos que va a gritar Víctor.

Lo único que haría que se perdiera el conocimiento cero de la prueba sería si, por ejemplo, se grabara un lanzamiento de moneda, según el cual Víctor elige el camino que va a gritar a María. Y aunque esto no revela la palabra a Víctor, hace posible que Víctor convenza a otros de que María tiene el conocimiento de la palabra, que es justamente lo que María quiere evitar.

Aplicaciones

Sistemas de autenticación

Mucha de la investigación en ZKPs fue motivada por sistemas de autenticación en los que un miembro quiere demostrar su identidad al otro miembro a través de información privada (como una contraseña) sin compartir con el segundo nada sobre el secreto. Este método se conoce como zero-knowledge password proof (ZKPP) y, por ejemplo, la compañía americana Cloudflare (un gigante de infraestructura y seguridad web) utiliza un tipo de ZKPPs como mecanismo privado de verificación web y de hecho han desarrollado otro método de **verificación** web alternativo a los molestos e intrusivos captchas basado en pruebas de conocimiento cero.

Blockchains

Las ZKPs ya se aplicaron a la ya desaparecida Zerocoin (ahora Firo), y al conocido protocolo Zerocash, que culminó en la aparición en 2016 de la criptomoneda Zcash. Zcash utiliza un mecanismo alternativo conocido como zk-SNARK (zero-knowledge succint non-interactive argument of knowledge), que en resumen, es un método particular de zks no-interactivos, donde la interacción entre el probador y el verificador no tiene por qué ser directa, y por tanto se puede generar la prueba off-line. El interés que genera Zcash proviene del hecho de que es un protocolo privado que permite ocultar la cantidad transaccionada, aunque esta privacidad añadida usando zks tiene un problema, y es que no se pueden detectar las monedas generadas tras errores de solidez del mecanismo zk, lo que a largo plazo puede causar hiperinflación.

En 2018, se introdujo una mejora a los zk no-interactivos llamada Bulletproofs. Esto sirvió de base del protocolo Mimblewimble y de la conocida Monero, que es famosa actualmente por ser la criptomoneda privada por excelencia, donde transacciones, carteras, importes, balances actuales e históricos están ocultos y no pueden ser descifrados. Tanto es así, que la división de investigación criminal de IRS (Hacienda en USA) ofreció una recompensa de hasta $625.000 para quien desarrollara herramientas que pudieran ayudar a rastrear transacciones en Monero, la red Lightning de Bitcoin y otros protocolos.

https://substackcdn.com/image/fetch/w_208,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff209b05c-d085-4bbb-b242-05c70253fd29_1280x1827.png

Desde el inicio de 2022 muchas cosas han cambiado, en enero Bitcoin se encontraba en $46.000 y ETH en $3.686, LUNA estaba cerca de los $100 y Do Kwon no era un fugitivo internacional.

Sin embargo, lo que no ha cambiado han sido las fees de ETH, es decir, el coste de una transacción en la red Ethereum. Para arreglar esto se están desarrollando y/o se han lanzado varias soluciones. En el roadmap de Ethereum se encuentran los rollups, teniendo por un lado los de tipo Optimistic (Optimism y Arbitrum) y por otro los Zero-Knowledge Rollups (ZKRs). Los Optimistic ya se han lanzado y han visto una actividad decente hasta el momento, lo que se incrementará en el futuro cuando Arbitrum lance su token y cuando salgamos del bear market.

Nosotros venimos a hablar de los ZKRs. Todavía están en desarrollo (desde hace años) pues su implementación es difícil e involucran criptografía y matemática complejas, además de requerir de una computación bastante intensiva para crear las pruebas necesarias para las transacciones, previamente a ser empaquetadas y ser transmitidas a la red base de ETH (esto nos debería sonar un poco de la explicación de Lightning Network…).

Hay varios tipos de ZKRs, pero hay un tipo en particular, conocidos como zkEVMs, que se consideran actualmente el “santo grial” de las soluciones de escalabilidad zk, y hacen referencia a ZKPs que se ejecutan en un entorno equivalente a una Ethereum Virtual Machine (una máquina virtual de Ethereum), es decir, un entorno que permite compatibilidad absoluta con los smart contracts de ETH, las herramientas para desarrolladores ya existentes, y todos los recursos del ya establecido y amplio ecosistema Ethereum.

Explicación de los zkEVMs de Polygon: Aplicable a otros equipos y proyectos

https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F61c1526f-334c-4c89-8210-a155066f93f6_1024x842.png

Los líderes actuales del sector zk son zkSync y StarkWare (StarkEx/StarkNet) y ambos han anunciado que lanzarán sus tokens en poco tiempo. La demanda para estos proyectos será notable como hemos visto con el lanzamiento de OP (el token de Optimism) y como dejan entrever las múltiples rondas de financiación y valoraciones. Además, en cuanto estas L2s empiecen a lanzar incentivos, la liquidez empezará a migrar a estas redes, creando presión alcista para los tokens, que además tendrán casos de uso de gobernanza (descentralización), *staking (*seguridad y validación) y para pagar las fees. A continuación os dejamos unos resúmenes sobre los principales proyectos y timelines para varios de ellos, además de algunas estrategias sobre cómo aprovechar los potenciales airdrops de algunos de ellos.

zkSync

  • Desarrollado por Matter Labs, es un ZKR que utiliza zk-SNARKs con compatibilidad zkEVM y que lleva activo desde Junio de 2020.
  • En el último blog detallaban que “con la integración de las pruebas de validación, zkSync 2.0 es ya oficialmente un zkEVM que funciona al completo sobre una testnet pública”. El 28/10 lanzaron la mainnet con una capacidad limitada y sin proyectos externos o usuarios, mientras monitorizan, auditan y hacen pruebas. Sus próximos objetivos son:
    • Q4 2022: apertura a protocolos y desarrolladores en alpha, sin acceso a usuarios.
    • Final de 2022: apertura de la red a usuarios externos
  • token: confirmado. Algunas estrategias para el airdrop aquí.
  • Lista de proyectos que están construyendo sobre zkSync aquí, algunos conocidos son Uniswap, Nansen, Balancer, Frax, Gnosis, Alchemix… Un dashboard de Dune con estadísticas interesantes de la red aquí.

StarkWare - desarrolladores de StarkNet y StarkEx

StarkNet

  • Una red L2 que utiliza zkSTARKS y está actualemente *live* en mainnet. Utilizan su propio lenguaje de programación llamado Cairo. Ya está en funcionamiento el bridge para transferir los activos a StarkNet: StarkGate.
  • Estrategias para el airdrop del futuro token aquí. Por desgracia, los tokenomics son horribles: 10.000 millones de tokens ya distribuidos a los diversos participantes, y no habrá airdrops hasta 2023.

StarkEx

  • Un solución ZKR SaaS (software-as-a-service) potenciada por el lenguaje de programación Cairo, que lleva en mainnet desde 2020. Según StarkEx, el rollup tiene $461M depositados, ha procesado 260M de transacciones, con un volumen acumulado de $732B y se han minteado mas de 79M de NFTs.

Polygon

Polygon trabaja actualmente en tres iniciativas distintas de escalabilidad ZKR:

  • Polygon Miden: “un ZKR basado en zk-STARKs, con soporte a smart contracts arbitrarios” - en desarrollo.
  • Polygon Zero: “ofrece las modalidades ‘rollup’ y ‘validium’, dando a los usuarios acceso a mayor número de transacciones por segundo y menores comisiones” - en desarrollo.
  • Polygon Hermez: “un rollup zkEVM open-source optimizado para transacciones seguras, y de bajo coste”. Mientras Miden y Zero continuan en el fondo, Hermez ha atraído la atención con su lanzamiento en *testnet* pública el pasado 10 de Octubre.

La dedicación de Polygon a la escalabilidad mediante ZKRs es más que evidente con las adquisiciones por aproximadamente $650M de compañías ZK (Mir y Hermez Network). Token: $MATIC. Además Polygon ya ha confirmado que se utilizará en las tres soluciones de escalabilidad.

Scroll

  • ZKR L2 equivalente a un zkEVM. Actualmente en la fase 2 de desarrollo tras la prueba de concepto, en la que se acercan a la testnet. Al tratarse de una zkEVM, el 10/10 anunciaron que ya se pueden lanzar smart contracts en la testnet usando herramientas de ETH - además de ofrecer soporte para los tokens ERC20, ERC721 y ERC1155.
  • token: muy probablemente lo lanzarán para competir e incentivar a los usuarios a usar su solución frente a competidores como los anteriores (MATIC; zkSync…), pero sin detalles todavía.

ImmutableX

  • Hace uso de StarkEx (una de las soluciones de StarkWare). IMX es uno de los protocolos líderes que hacen uso de tecnología ZK, y sus aplicaciones se centran en gaming y NFTs.
  • Algunos casos de uso actuales son Gods Unchained, Iluvium ($ILV), además de su asociación con Turner Sports y la colección de TikTok Top Moments. También, el marketplace de NFTs creado por GameStop, se lanzó sobre la red de ImmutableX.
  • Token: IMX - $390M de market cap y $1375M de dilución total.

Espresso

Se trata de otra L1 (como ETH o BTC) que utiliza un mecanismo ZKR. Recibieron $32M en financiación en marzo. Se describen a ellos mismo como “una blockchain layer-1 basada en consenso proof-of-stake y un mecanismo ZKR”. Lo que resulta en una “solución única que proporciona escalabilidad y privacidad”.

Han desarrollado CAPE (Configurable Asset Privacy for Ethereum) - una opción que permite a los usuarios personalizar las privacidad de sus activos en la red ETH y los usuarios/desarrolladores pueden usar CAPE para “crear nuevos activos en la red ETH y wrappear tokens existentes para que tengan las propiedades de privacidad que desees”. CAPE está activa en la testnet Goerli de ETH mientras el resto del equipo avanza con su blockchain.

Otros proyectos:

Aztec Network, Aleo (levantaron más de $200M), MINA, Bedrock de Optimism (y su futura estrategia ZK), e igual para Arbitrum (si deciden lanzar una solución ZK), Iron Fish, zkBridge, y muchos más que se han subido al tren de los ZKRs…

Para concluir:

Que los ZKRs sean la nueva tendencia y además se sigan lanzando (lentamente) durante los próximos meses (y trimestres), nos llevan a que la competencia en el sector de soluciones de escalabilidad de Ethereum sigue creciendo de manera imparable. La arquitectura modular de la blockchain se convertirá en una necesidad clara, pero al mismo tiempo determinar quiénes serán los ganadores dentro de esta amplia variedad de soluciones se convierte en algo cada vez más complicado.

Todas estas soluciones se unen al tema de la escalabilidad (en general, no solo en Ethereum) del que ya hemos hablado en otras ocasiones y que incluyen (sin limitarse a) una lista de competidores como Cosmos, Celestia, Eclipse, Arbitrum, AVAX (y sus subnets), iniciativas de escalabilidad en Solana, Optimism, todas las soluciones venideras de Polygon, y las appchains.

Habiendo dicho todo esto (que menuda chapilla os hemos dado), los ZKRs y la escalabilidad de ETH se encuentran todavía en sus primeras fases, y deberían recibir un empujón en algún punto del año que viene con EIP-4844 (”proto-danksharding”) que aumenta la capacidad de los rollups en varios órdenes. No os preocupéis si todo esto os parece una locura (lo es), porque estaremos aquí en el futuro para manteneros al tanto y actualizaros conforme sigan avanzando y progresando estas nuevas tecnologías.