Red de conocimiento de abogados - Derecho de sociedades - Documento de protección de la privacidad del contrato inteligente: esquema de protección de la privacidad de NIZK

Documento de protección de la privacidad del contrato inteligente: esquema de protección de la privacidad de NIZK

Este artículo es publicado conjuntamente por Matrix Elements, la Academia China de Ciencias y expertos en criptografía de la Universidad de Wuhan, que presenta un sistema de contrato inteligente distribuido para proteger saldos y transferir activos bajo el sistema de cuentas. En el documento, se utiliza el cifrado homomórfico y la prueba de conocimiento cero para proteger la privacidad del usuario. En comparación con el esquema de protección de la privacidad anterior, el rendimiento del esquema ha mejorado enormemente y se puede utilizar mejor en escenarios como la financiación de la cadena de suministro.

El documento propone:

1. Un esquema para proteger los saldos de los usuarios y los montos de las transacciones bajo contratos inteligentes, que es demostrablemente seguro bajo el modelo de oráculo aleatorio.

2. Un esquema eficiente de prueba de conocimiento cero, NIZK (conocimiento cero no interactivo), que mejora la eficiencia del tiempo de generación de pruebas a expensas de un mayor tamaño de prueba.

Comparación: zk-SNARK (Zerocash) & NIZK (DSC)

Cifrado homomórfico HE (cifrado homomórfico): permite a los usuarios actualizar los saldos de las cuentas directamente en texto cifrado.

Prueba de conocimiento cero ZK (conocimiento cero): Demuestra la corrección de la transacción. Para garantizar equivalencia y suficiente, el receptor debe recibir V cuando el remitente reduce V, demostrando que el remitente tiene un saldo de cuenta mayor que V para enviar al receptor.

Trabajos relacionados con la protección de la privacidad de blockchain: Monero (Monero), RingCT (firma de anillo), Zerocoin, Zerocash

1. Mapeo bilineal

2. Cifrado homomórfico

puede garantizar que la operación de actualización del saldo se realice en estado de texto cifrado. E(1)+E(2)=E(3)

Esta es una variante del esquema ElGamal, pero no sé por qué se introduce h. Puede ser para mayor seguridad y. El equilibrio es numérico y el espacio de texto sin formato es relativamente pequeño en comparación, por lo que el texto sin formato m se puede resolver.

3. El difícil problema basado en

es también una variante del problema del logaritmo discreto.

4. Esquema de firma Boneh-Boyen

6. Prueba de conocimiento cero NIZK

Este artículo utiliza una prueba de conocimiento cero no interactiva y un modelo A. en el que se utiliza CRS (cadena de referencia común) generada por un tercero confiable, sin utilizar la clave de certificación PK y la clave de verificación VK.

CRS se puede generar solo una vez y usarse para generar múltiples pruebas

7. La forma de transacción de A que envía t monedas a B:

El programa de verificación directamente usos Los contratos inteligentes se implementan en la cadena de bloques y pueden verificar y realizar operaciones de transferencia de activos automáticamente.

1. Configuración

Ingrese el parámetro de seguridad n y genere el parámetro público del sistema PP. Se utiliza el esquema de firma Boneh-Boyen y el PP ya contiene la prueba de conocimiento cero. CRS

Inicialización de cada participante: utilice el esquema de cifrado homomórfico anterior para cifrar su propio saldo y almacene solo el texto cifrado del saldo en el modelo de cuenta.

El tamaño del espacio de texto sin formato considerado aquí es [0,20^30)

Para aquellos que tienen la clave privada, pueden descifrar fácilmente el texto sin formato, es decir, la cuenta. valor del saldo.

3. Transferencia

A envía t monedas a B:

x representa el extracto de transferencia, que contiene las claves públicas de A y B, y la cuenta saldo de A El texto cifrado generado por cifrado homomórfico y el texto cifrado generado por cifrado homomórfico utilizando las claves públicas de A y B respectivamente para t.

w representa el testigo, que incluye la clave privada de A, el número aleatorio utilizado al generar el texto cifrado, el saldo de la cuenta de A y el monto de la transferencia

π es la prueba generada

(x, PP, π) se carga en la cadena de bloques y el programa de verificación verifica su validez.

4. Canjear

El programa de verificación se implementa en la cadena de bloques Después de recibir la entrada correspondiente, verifica su validez: si no es válido, se ignora si es válido; , la transacción se hace pública (el monto de la transacción está encriptado) y se actualizan los saldos de las cuentas del remitente y del destinatario.

5. Seguridad