Protección de la privacidad y seguridad de los datos: cuestiones de privacidad en blockchain, Lingbao: el grupo de mezcla de monedas perfecto basado en zkSNARK, Hawk: protección de la privacidad de los datos del contrato, marco Coco, Baby Zoe

capitulo diez


1. Cuestiones de privacidad de blockchain

1. Seudónimo y anonimato

El llamado seudónimo es una identidad que utilizamos en la red que no tiene nada que ver con la identidad real. En las transacciones de Bitcoin o Ethereum, los usuarios utilizan el valor hash de la clave pública como dirección de transacción. Por tanto, las transacciones en blockchain son seudónimas.
Anónimo : se refiere a la desvinculación. Debido a que los usuarios utilizan repetidamente hashes de clave pública como identificadores de transacciones, las transacciones obviamente pueden estar relacionadas. Entonces no hay anonimato.

2. Ataque de desanonimización: análisis de tablas de transacciones

Si un usuario utiliza diferentes direcciones para comerciar con Y dentro de un período de tiempo, el atacante puede clasificarlas en grupos de direcciones. Combinando las transacciones que ocurren directamente en la realidad para etiquetar el grupo de direcciones, se puede dibujar un diagrama de grupo de etiquetas y se puede realizar un análisis de transacciones para anonimizar la mayoría de las transacciones de blockchain.

2. Lingbao: un grupo de mezcla de divisas perfecto basado en zkSNARK

Zcash es una criptomoneda que utiliza prueba de conocimiento cero para construir un grupo de mezcla perfecto.

1. Prueba de conocimiento cero

Significa que el probador puede hacer creer al verificador que una determinada afirmación es correcta sin proporcionarle ninguna información útil.
zkSNARK es un método de prueba basado en la criptografía moderna que requiere un problema NP como problema difícil básico. ¡En p! =NP, adivinar por fuerza bruta la solución a un problema NP con un gran volumen de entrada se considera computacionalmente inviable, pero es más rápido verificar que una explicación corresponde a la solución del problema NP.
zkSNARK requiere que el probador le demuestre al verificador que conoce cierto conocimiento y construya una solución al problema NP correspondiente al contenido sin prueba. Este problema NP solo es relevante para el problema en este momento y no tiene nada que ver con el conocimiento específico que posee el probador. El problema NP utilizado por Zcash es el problema de aritmética cuadrática QAP (Problema de aritmética cuadrática). Durante la verificación, solo se toma un punto para verificar el valor de la función, por lo que el costo del tiempo de verificación es solo O (1).

2. El principio operativo del cambio de moneda.

Insertar descripción de la imagen aquí

Cuando el usuario quiere gastar esta moneda, a diferencia de Bitcoin, que requiere una firma, el usuario debe: proporcionar el número de serie y usar zkSNARK para demostrar que conoce la clave privada del usuario que generó un determinado compromiso que existe en la lista de compromisos. (pero no revela el compromiso específico.
Los mineros solo necesitan verificar la prueba de conocimiento cero del iniciador de la transacción, confirmar que un determinado iniciador de la transacción puede usar un determinado compromiso en la lista de compromisos y colocar el número de secuencia correspondiente del compromiso en la lista. En este proceso, el minero no sabe qué compromiso utilizó específicamente el usuario, sino que sólo sabe que se ha utilizado un determinado compromiso. La unicidad del número de serie garantiza que el mismo compromiso no se pueda utilizar dos veces (para evitar doble gasto) El usuario también puede canjear la operación para ponerla en el pool
de monedas mixtas Retirar el cambio.

3. Hawk: Proteger la privacidad de los datos del contrato

La solución de nota cero protege la privacidad de la identidad, el monto y otra información de ambas partes de la transacción, pero no puede proteger la privacidad del contenido del contrato blockchain.
La computación multipartita es una clase de algoritmos clásicos en criptografía, diseñados específicamente para resolver el problema de múltiples entidades que colaboran para usar secretos para calcular sin revelar los secretos. Como el problema millonario de Yao Qizhi.
La computación confiable es una tecnología que utiliza hardware para implementar una caja negra confiable para la computación multipartita, como Intel SGX.
El proyecto Hawk se basa en la plataforma de contrato inteligente de Ethereum y, en este momento, la parte del contrato también utiliza el lenguaje Serpent. Combina inteligentemente zkSNARK con computación multipartita o computación confiable.
El contrato en un sistema Hawk típico se divide en partes de contrato público y contrato privado. La parte del contrato privado es responsable de procesar la entrada del usuario y combinar el cálculo de múltiples partes y la prueba de conocimiento cero para ocultar la identidad del usuario y el valor específico de los datos de entrada. Esta parte se ejecuta en el nodo administrador, que también es la lógica principal. del contrato, y el contrato público Parte de él expresa la lógica de un depósito para garantizar que ninguna parte comercial pueda retirarse a mitad de camino, de lo contrario pagará una indemnización por daños y perjuicios.
Para proporcionar un entorno de ejecución que proteja la privacidad, Hawk recurre a las operaciones de acuñación y vertido en Zcash. Los usuarios pueden usar estas dos operaciones para ocultar sus propias direcciones; luego, siempre que el objetivo de la dirección de acuñación esté configurado en la dirección del contrato inteligente, el minero recibe la transacción. Posteriormente, se utilizará el cálculo multipartito o el cálculo confiable para ejecutar el contrato inteligente y calcular el resultado correcto. En comparación con la computación multipartita, la computación confiable es más eficiente. Sin embargo, debido a la necesidad de utilizar hardware informático especializado y confiable, la universalidad y la descentralización no son tan buenas como las primeras.
A diferencia de Ethereum, Hawk también propuso cómo dividir los contratos inteligentes en partes de contratos públicos y partes de contratos privados. El primero garantiza la equidad y el segundo se utiliza para garantizar la ejecución del contrato y la privacidad. Sin embargo, Hawk no puede garantizar la privacidad del código del contrato, solo la privacidad de la entrada del código del contrato.

4. Marco de coco

Para resolver las deficiencias de la falta de versatilidad de Quorum y la incapacidad de Hawk para cifrar el código del contrato, en teoría, el marco Coco se puede utilizar para proteger la privacidad de cualquier sistema blockchain.
El marco Coco aprovecha al máximo el entorno de ejecución confiable TEE . Utilizando la función de certificación y la naturaleza de caja negra de TEE, si el código blockchain probado se coloca completamente en la caja negra del hardware confiable para su ejecución, entonces el estado de ejecución de la cadena de bloques será confiable y completamente inaccesible para el mundo exterior.
Ventajas del marco Coco: flexibilidad, privacidad poderosa; mayor eficiencia: los mecanismos de consenso ineficientes se pueden reemplazar por otros más eficientes, como Raft, etc.

1. Introducción al entorno TEE

Entorno de ejecución confiable (TEE). El entorno TEE no sólo puede probar la exactitud del código introducido, sino también garantizar que los datos internos durante el tiempo de ejecución sean invisibles para el mundo exterior y no puedan ser manipulados, garantizando así la confidencialidad e integridad de los códigos clave y los datos del protocolo blockchain, lo que hace que las aplicaciones blockchain puedan ejecutarse de manera eficiente en nodos miembros totalmente confiables.

5. Ruta técnica de protección de la privacidad de Ethereum: Baby Zoe

Coco es para cadenas de alianza y requiere hardware especial. El equipo de Ethereum adopta un enfoque tradicional basado en criptografía para la protección de la privacidad. En comparación con Zcash, Zoe ha realizado muchas simplificaciones, conservando solo las operaciones de curva elíptica relacionadas con la verificación en transferencias anónimas y reutilizando los parámetros de inicialización públicos en Zcash, y solo agregando libsnark (código zkSNARK) a la versión C++ de Ethereum. Biblioteca) código relacionado para ayudar en la generación de contratos.
El modo de funcionamiento de ZoE es muy similar al de moneda cero. Sin embargo, en comparación con las transferencias ordinarias, el coste de las transferencias seguirá siendo mucho mayor.
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_53982314/article/details/124475831
Recomendado
Clasificación