En primer lugar, aclaremos que cualquier hecho o acción puede probarse sin conocimiento alguno. Este concepto se desarrolló en el principios de los 80 en los trabajos de matemáticas y luego se aplicó en múltiples aplicaciones, encontrando su mejor ajuste en el área de la cadena de bloques. En este caso, una prueba de conocimiento cero (ZKP) hace referencia a un método criptográfico que permite a una parte demostrar la validez de una declaración a otra parte sin revelar ninguno de los datos subyacentes, y ambas partes estarán 100% seguras de que es cierta.
Aquí encontrará aún más formas de entender el ZKP y explicárselo incluso a un niño.
Este método, si se usa correctamente de la A a la Z, brinda a los participantes un paquete completo de beneficios de la cadena de bloques: seguridad y anonimato mejorados, protección de la sensibilidad de los datos, confiabilidad, escalabilidad, rapidez, bajo costo y libertad de uso. Estos son algunos comentarios sobre cómo ZK proof convierte cualquier cadena de bloques en un auténtico yo:
Attributes | STARK | SNARK | SNORK | Bulletproof |
Trusted setup | No | Yes | Yes | No |
Post-quantum security | Yes | No | No | No |
Prove | Actual data | Actual data | Actual data | Range |
Universality | No | No | Yes | No |
Prover-verifier Interaction | Multiple times | Once | Once | Depends |
Prove Size | Large | Small | Small | Small |
Hemos mencionado algunas formas de implementar ZK proof en la cadena de bloques, pero vamos a detallar algunas más para tener una visión más amplia.
La versatilidad de este método de computación hace que esté disponible para todos los participantes de la cadena de bloques y resuelve muchas incertidumbres haciendo que las zonas grises sean más confiables y transparentes. Y aunque sea supercomplejo a primera vista, aporta el gran avance en funcionalidad y eficiencia de muchos proyectos impulsados por Web3 o blockchain.
El método ZKP puede aportar suficientes cambios en la vida social, financiera y política de la humanidad si se implementa correctamente.
Este ejemplo de prueba de conocimiento cero permite transacciones privadas en una cadena de bloques pública y amplía las posibilidades para una sola persona en la escala de la cadena de bloques. Las transacciones con privacidad preservada garantizan que los montos de las transacciones, las direcciones del remitente y del destinatario y otros detalles confidenciales sean confidenciales mientras se mantiene la integridad de la cadena de bloques.
Las pruebas ZK se utilizan activamente para crear métodos de autenticación seguros y anónimos. Este es un método fiable y seguro para iniciar sesión o iniciar sesión sin compartir ninguna información personal con el servicio.
Los intercambios descentralizados pueden usar pruebas ZK para habilitar los intercambios atómicos, lo que permite a los usuarios comerciar con diferentes criptomonedas sin la necesidad de una autoridad central ni de revelar detalles comerciales. ¡Más libertad para un solo operador!
Utilice las pruebas de ZK para validar ciertas condiciones o cálculos dentro de los contratos inteligentes y, al mismo tiempo, mantener la privacidad de los datos subyacentes. No se necesitan partes adicionales.
Puede validar los datos fuera de la cadena y dar fe de su exactitud, lo que permite que las aplicaciones de la cadena de bloques interactúen con el mundo exterior de forma segura. Los ZKP pueden facilitar las interacciones sin confianza entre diferentes cadenas de bloques, lo que permite la interoperabilidad y preserva la privacidad.
Este método puede mejorar la escalabilidad de la cadena de bloques al permitir la verificación eficiente de cálculos complejos fuera de la cadena y, al mismo tiempo, proporcionar una prueba concisa de su exactitud.
Esta es, literalmente, la principal forma de mejorar la privacidad y la seguridad de las transacciones de criptomonedas, como garantizar el suministro total de tokens sin revelar los saldos de las carteras individuales.
Este método se puede utilizar para crear servicios de oráculo de cadena de bloques que proporcionen datos precisos fuera de la cadena a contratos inteligentes sin revelar los datos sin procesar.
¿Elecciones descentralizadas? ¡Mmmm, suena a democracia! Esta es la manera de derrotar la corrupción mediante la votación mediante sistemas de votación verificables y anónimos, garantizando que los votos se cuenten con precisión sin comprometer la privacidad de los votantes.
En las subastas gubernamentales que eliminan deliberadamente los esquemas corruptos, es importante mantener el anonimato de las partes, así como mantener el máximo control y una distribución estricta de las responsabilidades con respecto a la calidad de los productos. Las pruebas de ZK pueden ayudar a verificar la autenticidad e integridad de los productos en las cadenas de suministro sin revelar información confidencial.
Este método puede facilitar las auditorías al demostrar el cumplimiento de ciertas regulaciones o reglas sin exponer los datos confidenciales ni las propias personas de los auditores.
Los ZKP ayudan a las partes a compartir datos agregados (por ejemplo, estadísticas) sin revelar puntos de datos individuales, manteniendo la privacidad y permitiendo la toma de decisiones basadas en datos.
Las pruebas ZK pueden ayudar a diseñar mecanismos de incentivos y juegos con resultados verificables y, al mismo tiempo, mantener la privacidad de las estrategias de los jugadores. Esta aplicación puede ser un gran avance para muchos desafíos que aún son irresolubles.
Se podría pensar que eso es simplemente GUAU. El precio que se paga por esta flexibilidad y universalidad es el complejo trabajo matemático y de código que hay detrás. No solo hay que entender el concepto, sino que hay que adaptar sus principios a la realidad y hacer que funcione en diferentes condiciones y de la misma manera esperada.
Nos complace compartir más detalles sobre nuestro caso de ZkSync que hemos descrito brevemente anteriormente. Estamos entre las pocas empresas del mundo que pueden gestionar un producto con tecnología ZKP de principio a fin, creando el diseño y la arquitectura que mejor se adapten a sus necesidades.
Al equipo de ZKSync solo se le ocurrió una idea y logró la implementación completa de sus intenciones con las tecnologías más adecuadas y los enfoques innovadores.
En 2020, ZKSync, una de las primeras empresas con pruebas de conocimiento cero, se convirtió en una solución de escalado de nivel 2 para Ethereum que utilizaba zk-Rollups, una variante de las pruebas de conocimiento cero, para agregar y comprimir múltiples transacciones en una sola prueba, que luego se valida en cadena. Este enfoque mejora significativamente el rendimiento de las transacciones de Ethereum y reduce las comisiones, y fue la principal propuesta de valor de este proyecto.
Poco después del lanzamiento, ZKSync consiguió muchos socios importantes (DEx, por ejemplo) y se integró con más de 200 proyectos de Web3. Era más fácil delegar cualquier cantidad de transacciones en ZkSync que transmitir cada transacción a la red, pagar comisiones, esperar a que se validara, etc. Todo esto ocurre sin problemas de seguridad gracias a la funcionalidad básica basada en el método ZKP.
La solución detrás de esta plataforma simple, elegante y útil se basó en la arquitectura creada por los ingenieros de Dysnix. Se compone de:
Ahora, el equipo de ZkSync ha desarrollado ZkSync Era, el protocolo reinventado en comparación con la primera versión, pero en la misma infraestructura que creamos entonces, en 2020. Es fantástico recordar cómo nuestro esfuerzo de infraestructura se alineó con la arquitectura de una solución tan sólida.
Tras una breve introducción con los objetivos de nuestra cooperación, empezamos a negociar con algunos representantes de ventas de las capas subyacentes más populares: GCP, AWS y Azure Cloud. Buscábamos una oferta rentable de servidores de alta disponibilidad a los que se pudiera acceder en muchas variantes diferentes y durante unas pocas horas: de 10 a 200 servidores a petición, en función de la cantidad de pruebas.
Y GCP encontró algo que ofrecer para nuestra solicitud. Acordamos usar las instancias puntuales, que se usarán solo durante un breve período de tiempo y luego se cancelarán. También era la opción más barata y no perjudicaba la funcionalidad. Esta arquitectura de servidor se ajusta perfectamente a nuestras necesidades, ya que solo se usaron en la fase de prueba del trabajo con ZkSync. Proporcionan al proyecto un rendimiento extremadamente alto.
Es posible que haya oído hablar de nuestro producto PredictKube, que hemos creado en base a modelos de AI/ML. Admitimos que para crearlo nos inspiramos en proyectos como ZkSync.
Sin embargo, la solución de escalado que creamos para ZkSync no tenía nada que ver con la IA o el aprendizaje automático, ya que creamos un modelo matemático sólido que se ajustaba a todos los escenarios posibles, sin ningún esfuerzo adicional. El equipo de ZkSync lo implementó en el código y, hasta ahora, funciona sin problemas.
Pero había un problema.
Cumplimos con la limitación de rendimiento del centro de datos de GCP al lanzar muchos nodos. En el entorno de prueba, todo funcionó bastante bien: la ampliación de uno a cinco nodos se realizó sin problemas. Sin embargo, desde el punto de vista de la producción, cumplimos con las limitaciones del centro de datos y nuestros nodos estuvieron lanzándose durante mucho tiempo. Para resolver este problema, nuestros ingenieros decidieron usar el protocolo S3 aplicado a GCP Object Storage.
Gracias a las funciones de paralelización disponibles a través del protocolo S3, gestionamos el flujo de datos a través de múltiples objetos y réplicas entre el centro de datos y nuestro proyecto. De este modo, superamos el límite de 60 Gb/s y aumentamos la velocidad de lanzamiento del nuevo nodo para el probador zkSynx. Esto nos ayudó a cambiar el patrón de arranque de los nodos nuevos, pasando de ser iterativos, 5 veces y luego otros 5, a uno explosivo: todo lo que necesitamos a la vez y durante menos de una hora.
Cada transacción es segura y no se puede cambiar después de firmarla y enviarla a ZkSync para su aprobación y validación en el bloque. Todo lo que puede suceder con TX es que puede (o no) incluirse en el siguiente bloque.
La solución del algoritmo matemático para escalar cubre todas las necesidades del ZkSync. Incluso la carga de transacciones de gran volumen no afectará al funcionamiento del método ZKP.
Debido a la alta disponibilidad y las capacidades operativas, la validación como proceso pasó a ser cuestión de milisegundos para ZkSync. Eso es mucho, mucho más de lo que el propio Ethereum puede ofrecer.
Gracias a la arquitectura de servidor cuidadosamente seleccionada para ZkSync, ofrecen literalmente el mejor precio del mercado para la validación de transacciones. Con la implementación de dicho protocolo, los costos operativos también se mantienen bajos.
Para domesticar toda esta historia de probadores y verificadores, hay que tener una idea para la implementación. Como puede ver, el ámbito de aplicación es extremadamente amplio, pero aun así, eso no significa que todos estos ámbitos cuenten ya con la solución basada en blockchain mejor implementada y a prueba de conocimiento cero.
Basándose en la historia de ZkSync, verá que la idea correcta tiene un potencial de desarrollo que nutrirá su proyecto con nuevas etapas e implementaciones de productos.
Esperamos haber conseguido explicarle el significado de cero pruebas. ¡No dudes en pedirnos más detalles!