La prueba de conocimiento cero (ZKP) es una parte importante de la criptografía moderna. Se refiere a la capacidad del probador para convencer al verificador de que una hipótesis es correcta sin proporcionar al verificador ninguna información útil.
**La prueba de conocimiento cero es esencialmente un acuerdo que involucra a dos o más partes, es decir, una serie de pasos que dos o más partes necesitan para completar una tarea. **El probador prueba al verificador y le hace creer que él/ella sabe o tiene cierto mensaje, pero no revelará ninguna información sobre el mensaje probado al verificador durante el proceso de prueba. En términos sencillos, el probador no solo puede probar lo que quiere probar, sino también revelar información "cero" al verificador al mismo tiempo.
Ya hay muchos materiales chinos que han introducido más conceptos de pruebas de conocimiento cero, por lo que no entraré en detalles aquí.
La aplicación principal de la prueba de conocimiento cero en el campo de la cadena de bloques
Dos características importantes de la tecnología de prueba de conocimiento cero son los factores principales para su aplicación en el campo de la cadena de bloques:
**La prueba de conocimiento cero puede proteger la privacidad de los datos y probar su validez sin revelar la información de los datos. **
**La prueba de conocimiento cero puede probar una gran cantidad de datos al generar una pequeña cantidad de prueba, lo que juega un papel importante en la compresión de la cantidad de datos y la mejora del rendimiento. **
Por lo tanto, las dos direcciones de la prueba de conocimiento cero son: protección de la privacidad y expansión de la cadena de bloques. Se describen respectivamente los siguientes:
protección de privacidad
La protección de la privacidad siempre ha sido un concepto extremadamente importante en blockchain, que representa la capacidad de proteger las transacciones y los participantes en una red distribuida.
Blockchain siempre ha abogado por el anonimato, los participantes no necesitan usar sus nombres reales en la mayoría de las transacciones, pero pueden reutilizar hashes de clave pública como identificadores de transacción para identificar a los participantes. Sin embargo, estas transacciones son seudónimas en lugar de verdaderamente anónimas. De forma predeterminada, cada transacción de un usuario es pública y, una vez que la dirección de un usuario está bloqueada, se puede usar para revisar el origen de los fondos, calcular la posición de la posición e incluso analizar las actividades en la cadena del usuario.
La tecnología de prueba de conocimiento cero puede confirmar la validez de las transacciones mediante el envío de pruebas sin revelar ninguna información y realizar la anonimización completa de la información de la transacción. En la etapa de desarrollo del cifrado que enfatiza los problemas de privacidad, muchos desarrolladores están comprometidos con la exploración de cadenas públicas privadas. La protección de la privacidad y las capacidades de compresión de datos de la prueba de conocimiento cero son las principales razones para convertirse en una tecnología de componente de cadena pública. Durante este tiempo, proyectos como Zcash y Monero han logrado resultados excepcionales. Tomando Zcash como ejemplo, Zcash inicialmente adoptó el protocolo Pinocchio y cambió al sistema de prueba Groth16 en 2019.
Las direcciones de la billetera Zcash se dividen en direcciones ocultas y direcciones transparentes. Las transacciones entre direcciones transparentes no son diferentes de las transacciones de Bitcoin (BTC): el remitente, el destinatario y el monto de la transacción son visibles públicamente; las transacciones entre direcciones ocultas también aparecen en la cadena de bloques pública, pero la dirección de la transacción, el monto del fondo y los campos de notas están encriptados, y zk-SNARK probará la validez de la transacción de acuerdo con las reglas de consenso de la red; además, también se pueden realizar transacciones entre direcciones ocultas y direcciones transparentes.
Zcash es compatible con auditorías y normativas, al mismo tiempo que preserva la privacidad de las transacciones. El remitente y el receptor de una transacción de dirección oculta pueden revelar los detalles de la transacción a terceros para necesidades de atestiguar, cumplimiento o auditoría.
Escalabilidad
El "triángulo imposible" es un problema eterno que enfrentan las cadenas de bloques L1 como Ethereum. Las diferentes cadenas siempre encuentran un equilibrio entre descentralización, seguridad y escalabilidad.
Ethereum se enfoca más en la descentralización y la seguridad, por lo que debe enfrentar limitaciones de escalabilidad. Las altas tarifas de gasolina y los largos tiempos de confirmación de transacciones en Ethereum afectan gravemente la experiencia del usuario. Por lo tanto, su equipo central de desarrollo y su comunidad han estado explorando varias soluciones de escalabilidad.
Hay dos formas de escalar una cadena de bloques:
** Escale la propia cadena de bloques L1, ya sea aumentando el tamaño del bloque o fragmentando. **Los nodos de la red blockchain se dividen en varios fragmentos relativamente independientes.
La escala de procesamiento de un solo fragmento es pequeña e incluso solo almacena parte del estado de la red. Pero en teoría, bajo la condición de que múltiples fragmentos procesen transacciones en paralelo, se mejorará el rendimiento de toda la red. Sin embargo, este enfoque sacrifica la descentralización.
2. **Transfiera las transacciones en la red L1 a la capa L2, L2 recopila las transacciones y luego las envía a la red L1 para su liquidación. **De esta manera, solo paga gas una vez por lote de transacciones, en lugar de pagar gas por transacción.
Como resultado, los costos del gas se comparten por igual entre todas las transacciones, lo que reduce efectivamente el costo por transacción. De esta forma, L1 se convierte en la capa de liquidación de todas las transacciones ejecutadas en L2. Las soluciones de escalado L2 pueden resolver problemas de escalabilidad L1 sin sacrificar la descentralización y la seguridad.
Por supuesto, la solución de escalado L2 también ha experimentado la evolución del canal estatal a Plasma y luego a Rollup. Actualmente, Rollup es la solución L2 más convencional y potencial.
Resumen se refiere a realizar cálculos complejos y mantenimiento de estado fuera de la cadena primero, y luego guardar datos relacionados con cambios de estado en la cadena mediante el uso de CALLDATA más económico a través de llamadas de contrato, y resumir y empaquetar una gran cantidad de transacciones en una sola transacción, y finalmente mejorar TPS bajo la premisa de garantizar la disponibilidad de los datos.
El denominador común de las soluciones de resumen es el énfasis en la disponibilidad de datos en cadena. Es decir, cualquiera puede restaurar el estado global en función de los datos guardados en la cadena, eliminando así los riesgos de seguridad causados por problemas de disponibilidad de datos.
Además de comprimir la cantidad de cálculo en la cadena, otro aspecto de la prueba de conocimiento cero es garantizar la exactitud de los datos.
La solución ZK Rollup comenzó en la segunda mitad de 2018. La clave de esta solución es ZK. El cambio de estado de cada solución ZK Rollup requiere una prueba de conocimiento cero proporcionada y verificada por un contrato en la cadena principal.
El estado solo se puede cambiar si se verifica. Es decir, los cambios de estado de ZK Rollup dependen estrictamente de pruebas criptográficas. (Nota: para obtener una explicación detallada del principio de ZK Rollup, consulte "Una perspectiva clara sobre los métodos de capas y cadenas cruzadas" de Li Hua)
Por supuesto, existen otras soluciones acumuladas, como la acumulación optimista formada en la segunda mitad de 2019. No requiere una validación rigurosa de cada cambio de estado.
Primero asume con optimismo que cada cambio es correcto y luego desafía el cambio dentro de un cierto límite de tiempo. Si el desafío tiene éxito, prueba que hay un problema con el envío anterior, el remitente será castigado y el estado se revertirá.
Es decir, el cambio de estado del Rollup optimista depende de incentivos económicos y juegos.
El problema pendiente de ZK Rollup es que es difícil lograr la programabilidad, pero el desarrollo tecnológico en los últimos dos años parece romper este cuello de botella, y la implementación de zkEVM puede lograr la programabilidad; el tema más preocupante del optimista Rollup parece ser cuando los fondos regresan de la Capa 2, debido a demoras durante el período de desafío, los intermediarios están disponibles para brindar servicios prepagos.
Por lo tanto, la solución optimista de resumen es más rápida de implementar. Pero zkEVM puede tener aún más potencial.
Solución de estrella en ascenso a prueba de conocimiento cero
En los primeros proyectos de prueba de conocimiento cero, aunque Zcash y Monero funcionaron bien en términos de protección de la privacidad, solo pueden usarse como un medio de almacenamiento de valor y es difícil cooperar con otras aplicaciones.
Como se mencionó anteriormente, gracias a los esfuerzos de muchos desarrolladores, las pruebas de conocimiento cero se pueden usar para la informática general y combinarse con contratos inteligentes para explorar el mayor potencial de la tecnología de prueba de conocimiento cero. A continuación se presentan principalmente los dos proyectos lanzados este año.
Aleo: cadena pública informática de privacidad general
El proyecto Aleo se estableció formalmente en 2019 y sus miembros incluyen criptógrafos, ingenieros, diseñadores y operadores de clase mundial de compañías como Google, Amazon y Facebook, así como universidades de investigación como UC Berkeley, Johns Hopkins, NYU, y Cornell.
Aleo creó el sistema zkCloud para proteger identidades y transacciones, y las identidades protegidas pueden interactuar directamente entre sí (como transferencias de activos) o programarse a través de contratos inteligentes. En una cadena de bloques pública típica, los programas se ejecutan en una "máquina virtual" (VM) global ejecutada por cada nodo de la red. Por lo tanto, cada nodo de la red debe recalcular (y aprobar colectivamente) cada paso de un programa dado, lo cual es ineficiente, ralentiza y aumenta los costos para los usuarios. zkCloud resuelve estas limitaciones al separar la ejecución de la aplicación del mantenimiento del estado de la cadena de bloques (en la cadena + fuera de la cadena), combinado con pruebas recursivas de conocimiento cero, lo que permite a Aleo lograr una programabilidad completa y protección de la privacidad, y con una transacción más alta. rendimiento
Aleo creó un lenguaje de programación llamado Leo, que es más amigable y proporciona un mejor entorno para los desarrolladores de aplicaciones a prueba de conocimiento cero. Leo es un lenguaje de programación de tipo estático inspirado en Rust, diseñado para escribir aplicaciones íntimas.
En la actualidad, la red Aleo ha pasado por tres rondas de prueba y actualmente está guiando activamente el desarrollo de la ecología, alentando a la comunidad a participar en la construcción de aplicaciones ecológicas a través de puntos.
Aleo es una cadena pública y su Prover participa en la construcción de la red a través de la prueba de conocimiento cero. En el Test3 temprano, había más de 400.000 tarjetas gráficas participando en la prueba. Como red de prueba, esta es una escala muy grande. Aleo originalmente planeó estar en línea en el tercer trimestre de este año, de acuerdo con la situación actual, se estima que pueda estar en línea a fines del tercer trimestre o el cuarto trimestre. Atencion sostenida.
Desplazamiento: solución nativa zk de EVM
Scroll Tech tiene como objetivo construir un zk-Rollup compatible con Ethereum y construir una red de prueba sólida. Después de meses de exploración, han logrado importantes avances técnicos.
Los objetivos de Scroll incluyen:
Cree un zk-Rollup que sea totalmente compatible con EVM. Admite la verificación directa de bloques de Ethereum al verificar la consistencia e integridad de cada código de operación durante la ejecución de EVM. De esta forma, los contratos inteligentes L1 se pueden migrar sin problemas a Scroll sin ninguna modificación.
Realizar y estandarizar la externalización de la certificación de Capa 2. Scroll diseña un poderoso mecanismo de subcontratación que incentiva a los verificadores a generar pruebas de conocimiento cero para ellos. El equipo de Scroll planea estandarizar este esquema para el campo más amplio de la informática fuera de la cadena. Esto abrirá un nuevo mercado de pruebas. Los desarrolladores pueden implementar contratos complejos en Scroll sin tener en cuenta el límite de gas. Muchas aplicaciones nuevas se pueden implementar fuera de la cadena y las pruebas se pueden enviar dentro de la cadena. Con este fin, el equipo también construyó el probador GPU y ASIC más rápido del mundo. El objetivo a largo plazo es lograr la descentralización total y reducir el impacto de MEV.
Actualice a un nuevo sistema de prueba. Scroll planea emplear un nuevo sistema de prueba de conocimiento cero en capas. La primera capa es una capa de generación de prueba eficiente con optimización de circuitos personalizados y algoritmos de prueba eficientes en hardware. La segunda capa es una capa de verificación eficiente con pruebas concisas y algoritmos de verificación compatibles con EVM. En comparación con las soluciones existentes, el sistema tiene el potencial de admitir programas más grandes y más funciones que EVM, como la protección de la privacidad.
Estos avances de Scroll Tech son significativos en el campo de las soluciones de escalado zk-Rollup y Layer 2, lo que demuestra su compromiso con la compatibilidad, la eficiencia y la descentralización.
En su prueba Alpha, Scroll ya ha conectado una gran cantidad de aplicaciones, cumpliendo su promesa de que las aplicaciones EVM se pueden migrar directamente a Scroll. Se espera que Scroll mainnet se lance dentro de 3 meses. Después de que se lance la red principal Scroll, se realizará una red Prover descentralizada, lo que brindará a todos más oportunidades para participar.
Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
Aplicación de tecnología a prueba de conocimiento cero
Qué es la prueba de conocimiento cero
La prueba de conocimiento cero (ZKP) es una parte importante de la criptografía moderna. Se refiere a la capacidad del probador para convencer al verificador de que una hipótesis es correcta sin proporcionar al verificador ninguna información útil.
**La prueba de conocimiento cero es esencialmente un acuerdo que involucra a dos o más partes, es decir, una serie de pasos que dos o más partes necesitan para completar una tarea. **El probador prueba al verificador y le hace creer que él/ella sabe o tiene cierto mensaje, pero no revelará ninguna información sobre el mensaje probado al verificador durante el proceso de prueba. En términos sencillos, el probador no solo puede probar lo que quiere probar, sino también revelar información "cero" al verificador al mismo tiempo.
Ya hay muchos materiales chinos que han introducido más conceptos de pruebas de conocimiento cero, por lo que no entraré en detalles aquí.
La aplicación principal de la prueba de conocimiento cero en el campo de la cadena de bloques
Dos características importantes de la tecnología de prueba de conocimiento cero son los factores principales para su aplicación en el campo de la cadena de bloques:
Por lo tanto, las dos direcciones de la prueba de conocimiento cero son: protección de la privacidad y expansión de la cadena de bloques. Se describen respectivamente los siguientes:
protección de privacidad
La protección de la privacidad siempre ha sido un concepto extremadamente importante en blockchain, que representa la capacidad de proteger las transacciones y los participantes en una red distribuida.
Blockchain siempre ha abogado por el anonimato, los participantes no necesitan usar sus nombres reales en la mayoría de las transacciones, pero pueden reutilizar hashes de clave pública como identificadores de transacción para identificar a los participantes. Sin embargo, estas transacciones son seudónimas en lugar de verdaderamente anónimas. De forma predeterminada, cada transacción de un usuario es pública y, una vez que la dirección de un usuario está bloqueada, se puede usar para revisar el origen de los fondos, calcular la posición de la posición e incluso analizar las actividades en la cadena del usuario.
La tecnología de prueba de conocimiento cero puede confirmar la validez de las transacciones mediante el envío de pruebas sin revelar ninguna información y realizar la anonimización completa de la información de la transacción. En la etapa de desarrollo del cifrado que enfatiza los problemas de privacidad, muchos desarrolladores están comprometidos con la exploración de cadenas públicas privadas. La protección de la privacidad y las capacidades de compresión de datos de la prueba de conocimiento cero son las principales razones para convertirse en una tecnología de componente de cadena pública. Durante este tiempo, proyectos como Zcash y Monero han logrado resultados excepcionales. Tomando Zcash como ejemplo, Zcash inicialmente adoptó el protocolo Pinocchio y cambió al sistema de prueba Groth16 en 2019.
Las direcciones de la billetera Zcash se dividen en direcciones ocultas y direcciones transparentes. Las transacciones entre direcciones transparentes no son diferentes de las transacciones de Bitcoin (BTC): el remitente, el destinatario y el monto de la transacción son visibles públicamente; las transacciones entre direcciones ocultas también aparecen en la cadena de bloques pública, pero la dirección de la transacción, el monto del fondo y los campos de notas están encriptados, y zk-SNARK probará la validez de la transacción de acuerdo con las reglas de consenso de la red; además, también se pueden realizar transacciones entre direcciones ocultas y direcciones transparentes.
Zcash es compatible con auditorías y normativas, al mismo tiempo que preserva la privacidad de las transacciones. El remitente y el receptor de una transacción de dirección oculta pueden revelar los detalles de la transacción a terceros para necesidades de atestiguar, cumplimiento o auditoría.
Escalabilidad
El "triángulo imposible" es un problema eterno que enfrentan las cadenas de bloques L1 como Ethereum. Las diferentes cadenas siempre encuentran un equilibrio entre descentralización, seguridad y escalabilidad.
Ethereum se enfoca más en la descentralización y la seguridad, por lo que debe enfrentar limitaciones de escalabilidad. Las altas tarifas de gasolina y los largos tiempos de confirmación de transacciones en Ethereum afectan gravemente la experiencia del usuario. Por lo tanto, su equipo central de desarrollo y su comunidad han estado explorando varias soluciones de escalabilidad.
Hay dos formas de escalar una cadena de bloques:
La escala de procesamiento de un solo fragmento es pequeña e incluso solo almacena parte del estado de la red. Pero en teoría, bajo la condición de que múltiples fragmentos procesen transacciones en paralelo, se mejorará el rendimiento de toda la red. Sin embargo, este enfoque sacrifica la descentralización. 2. **Transfiera las transacciones en la red L1 a la capa L2, L2 recopila las transacciones y luego las envía a la red L1 para su liquidación. **De esta manera, solo paga gas una vez por lote de transacciones, en lugar de pagar gas por transacción.
Como resultado, los costos del gas se comparten por igual entre todas las transacciones, lo que reduce efectivamente el costo por transacción. De esta forma, L1 se convierte en la capa de liquidación de todas las transacciones ejecutadas en L2. Las soluciones de escalado L2 pueden resolver problemas de escalabilidad L1 sin sacrificar la descentralización y la seguridad.
Por supuesto, la solución de escalado L2 también ha experimentado la evolución del canal estatal a Plasma y luego a Rollup. Actualmente, Rollup es la solución L2 más convencional y potencial.
Resumen se refiere a realizar cálculos complejos y mantenimiento de estado fuera de la cadena primero, y luego guardar datos relacionados con cambios de estado en la cadena mediante el uso de CALLDATA más económico a través de llamadas de contrato, y resumir y empaquetar una gran cantidad de transacciones en una sola transacción, y finalmente mejorar TPS bajo la premisa de garantizar la disponibilidad de los datos.
El denominador común de las soluciones de resumen es el énfasis en la disponibilidad de datos en cadena. Es decir, cualquiera puede restaurar el estado global en función de los datos guardados en la cadena, eliminando así los riesgos de seguridad causados por problemas de disponibilidad de datos.
Además de comprimir la cantidad de cálculo en la cadena, otro aspecto de la prueba de conocimiento cero es garantizar la exactitud de los datos.
La solución ZK Rollup comenzó en la segunda mitad de 2018. La clave de esta solución es ZK. El cambio de estado de cada solución ZK Rollup requiere una prueba de conocimiento cero proporcionada y verificada por un contrato en la cadena principal.
El estado solo se puede cambiar si se verifica. Es decir, los cambios de estado de ZK Rollup dependen estrictamente de pruebas criptográficas. (Nota: para obtener una explicación detallada del principio de ZK Rollup, consulte "Una perspectiva clara sobre los métodos de capas y cadenas cruzadas" de Li Hua)
Por supuesto, existen otras soluciones acumuladas, como la acumulación optimista formada en la segunda mitad de 2019. No requiere una validación rigurosa de cada cambio de estado.
Primero asume con optimismo que cada cambio es correcto y luego desafía el cambio dentro de un cierto límite de tiempo. Si el desafío tiene éxito, prueba que hay un problema con el envío anterior, el remitente será castigado y el estado se revertirá.
Es decir, el cambio de estado del Rollup optimista depende de incentivos económicos y juegos.
El problema pendiente de ZK Rollup es que es difícil lograr la programabilidad, pero el desarrollo tecnológico en los últimos dos años parece romper este cuello de botella, y la implementación de zkEVM puede lograr la programabilidad; el tema más preocupante del optimista Rollup parece ser cuando los fondos regresan de la Capa 2, debido a demoras durante el período de desafío, los intermediarios están disponibles para brindar servicios prepagos.
Por lo tanto, la solución optimista de resumen es más rápida de implementar. Pero zkEVM puede tener aún más potencial.
Solución de estrella en ascenso a prueba de conocimiento cero
En los primeros proyectos de prueba de conocimiento cero, aunque Zcash y Monero funcionaron bien en términos de protección de la privacidad, solo pueden usarse como un medio de almacenamiento de valor y es difícil cooperar con otras aplicaciones.
Como se mencionó anteriormente, gracias a los esfuerzos de muchos desarrolladores, las pruebas de conocimiento cero se pueden usar para la informática general y combinarse con contratos inteligentes para explorar el mayor potencial de la tecnología de prueba de conocimiento cero. A continuación se presentan principalmente los dos proyectos lanzados este año.
Aleo: cadena pública informática de privacidad general
El proyecto Aleo se estableció formalmente en 2019 y sus miembros incluyen criptógrafos, ingenieros, diseñadores y operadores de clase mundial de compañías como Google, Amazon y Facebook, así como universidades de investigación como UC Berkeley, Johns Hopkins, NYU, y Cornell.
Aleo creó el sistema zkCloud para proteger identidades y transacciones, y las identidades protegidas pueden interactuar directamente entre sí (como transferencias de activos) o programarse a través de contratos inteligentes. En una cadena de bloques pública típica, los programas se ejecutan en una "máquina virtual" (VM) global ejecutada por cada nodo de la red. Por lo tanto, cada nodo de la red debe recalcular (y aprobar colectivamente) cada paso de un programa dado, lo cual es ineficiente, ralentiza y aumenta los costos para los usuarios. zkCloud resuelve estas limitaciones al separar la ejecución de la aplicación del mantenimiento del estado de la cadena de bloques (en la cadena + fuera de la cadena), combinado con pruebas recursivas de conocimiento cero, lo que permite a Aleo lograr una programabilidad completa y protección de la privacidad, y con una transacción más alta. rendimiento
Aleo creó un lenguaje de programación llamado Leo, que es más amigable y proporciona un mejor entorno para los desarrolladores de aplicaciones a prueba de conocimiento cero. Leo es un lenguaje de programación de tipo estático inspirado en Rust, diseñado para escribir aplicaciones íntimas.
En la actualidad, la red Aleo ha pasado por tres rondas de prueba y actualmente está guiando activamente el desarrollo de la ecología, alentando a la comunidad a participar en la construcción de aplicaciones ecológicas a través de puntos. Aleo es una cadena pública y su Prover participa en la construcción de la red a través de la prueba de conocimiento cero. En el Test3 temprano, había más de 400.000 tarjetas gráficas participando en la prueba. Como red de prueba, esta es una escala muy grande. Aleo originalmente planeó estar en línea en el tercer trimestre de este año, de acuerdo con la situación actual, se estima que pueda estar en línea a fines del tercer trimestre o el cuarto trimestre. Atencion sostenida.
Desplazamiento: solución nativa zk de EVM
Scroll Tech tiene como objetivo construir un zk-Rollup compatible con Ethereum y construir una red de prueba sólida. Después de meses de exploración, han logrado importantes avances técnicos.
Los objetivos de Scroll incluyen:
Estos avances de Scroll Tech son significativos en el campo de las soluciones de escalado zk-Rollup y Layer 2, lo que demuestra su compromiso con la compatibilidad, la eficiencia y la descentralización.
En su prueba Alpha, Scroll ya ha conectado una gran cantidad de aplicaciones, cumpliendo su promesa de que las aplicaciones EVM se pueden migrar directamente a Scroll. Se espera que Scroll mainnet se lance dentro de 3 meses. Después de que se lance la red principal Scroll, se realizará una red Prover descentralizada, lo que brindará a todos más oportunidades para participar.