WEB3DEV

Cover image for Prova de Conhecimento Zero — Delegação de Privacidade de Provadores
Adriano P. Araujo
Adriano P. Araujo

Posted on • Atualizado em

Prova de Conhecimento Zero — Delegação de Privacidade de Provadores

Ao assistir aos vídeos do zkSummit7 recentemente, o primeiro tópico chamou minha atenção:

https://www.youtube.com/watch?v=SCIuwh9ya8U

Delegação de Privacidade Eficiente de Provadores zkSNARK, a apresentação que Pratyush Mishra fez foi excelente, explicando claramente o motivo da lógica de desenho e implementação da delegação. Se você estiver interessado neste tópico, fique à vontade para assistir ao vídeo e ler este artigo para entender a Delegação de Privacidade Eficiente do Provador zkSNARK.

Vamos primeiro revisar o modelo de aplicação da situação zkSNARK: o Provador cria e envia a prova ao Verificador, para verificação. Observe que a prova é gerada localmente no Provador.

Com mais e mais aplicativos ZKP, eis a situação: não é eficiente gerar delegação de circuito localmente do lado do Provador, porque leva muito tempo para executar os circuitos, ou a capacidade de computação do Provador é limitada. Naturalmente, as pessoas pensavam em terceirizar o trabalho do ZKP.

No entanto, há um grande problema: vazamento de informações. O ZKP foi originalmente projetado para proteger a privacidade das informações. No entanto, um simples protocolo de terceirização pode vazar informações privadas. O objetivo deste tópico é descobrir como terceirizar a delegação do ZKP, garantindo a privacidade:

Existem dois objetivos: 1 / A eficiência da prova. Se utilizar um protocolo complexo, não há sentido no trabalho do delegador se esse for mais lento que o Provador. ( O trabalho do delegador deve ser muito menor do que provar. ) 2 / ( A testemunha do delegador deve estar oculta do trabalhador. ) Todas as informações originais da testemunha devem ser protegidas.

As pessoas podem dizer que o problema pode ser resolvido com o homomorfismo. No entanto, essa não é uma boa opção, devido ao seu custo.

Ele é capaz de terceirizar o proof work para ZKP com o método de privacidade baseado em valor de campo.

Em outras palavras, desde que pelo menos o trabalhador 1 seja honesto, a privacidade da prova é segura. Em seguida, vejamos a viabilidade do protocolo zkSNARK.

O atual protocolo de delegação de privacidade suporta um sistema de provas baseado no PIOP, que possui duas características: 1 / utilizando o KZG e os esquemas de compromisso polinomial interno - do produto - / utilizando a estrutura do PIOP. Para o desempenho, há mais dados de suporte fornecidos até o final da apresentação.

Todo o design é baseado no MPC:

Hora de considerar alguns detalhes. A cumplicidade do sistema de prova precisa ser considerada ao utilizar o MPC. Todo o sistema de prova pode ser visto como duas partes: 1 / PIOP 2 / Compromisso polinomial.

Antes de entrar em detalhes sobre como cada parte utiliza o MPC para implementar a delegação, vamos revisar a estrutura do protocolo Prova de Conhecimento Zero, com o PIOP e o compromisso polinomial.

Após a geração dos compromissos polinomiais, os pontos aleatórios de Consulta são retornados do Oracle com as entradas desses valores de compromisso. Para que esses pontos de consulta possam ser usados para abrir polinômios e verificar. Antes de entrar em detalhes, existem alguns conhecimentos básicos sobre ações secretas aditivas.

Se o compartilhamento secreto for separado em várias partes e o protocolo suportar homomorfismo aditivo, o protocolo oferecerá suporte à delegação de privacidade. Com a implementação do MPC para as duas partes principais da Prova de Conhecimento Zero -, podemos implementar a Delegação de Prova de Conhecimento Zero .

Todo o processo é mostrado abaixo:

Vamos dar uma olhada nas duas implementações do MPC. Vamos começar com o MPC por delegar os provadores do PIOP:

Existem tipos principais de computação 4 para PIOP: os três primeiros são todos lineares ( têm homomorfismo aditivo ); no entanto, o tipo polinomial mults não possui homomorfismo aditivo. Normalmente, existem três etapas para calcular a multiplicação de dois polinômios:

Use FFT para obter valores polinomiais em um domínio 2d. Depois de obter o produto dos valores polinomiais, recupere o coeficiente polinomial do produto via iFFT. O primeiro e o terceiro passo são o homomorfismo, mas o segundo passo não. Imagine o seguinte: todos os trabalhadores múltiplos querem obter algumas ações secretas do produto polinomial, sem expor todas as ações secretas. Sob essa circunstância, esses trabalhadores podem enviar as ações secretas parciais de volta ao Delegado. Como o Delegado pode acessar todas as ações secretas, o Delegado pode enviar o resultado redistribuído de volta aos trabalhadores depois de colocar as ações secretas no processo de interpolação polinomial e re-multiplicação TAG1.

Com o Delegado no jogo, o processo PIOP pode ser delegado:

Agora, vamos dar uma olhada no esquema de compromisso de polímeros. Esta parte é linear, tornando o processo mais natural:

Até o final da apresentação, alguns dados básicos de teste são fornecidos:

Por meio da Delegação de Prova de Conhecimento Zero, é possível obviamente aumentar o desempenho e o tamanho dos circuitos.

Resumo:

Com mais e mais aplicativos ZKP, a Delegação de Privacidade da Prova de Conhecimento Zero - se tornou cada vez mais importante. Em algumas cenas, como a da terceirização com eficiência do trabalho de prova, garantindo a privacidade dos dados, é um tópico significativo, quando leva muito tempo para criar uma prova local. A apresentação do zkSummit7 apresentou uma solução: combinando com o MPC, a Delegação de Privacidade de Provadores pode ser implementada com o PIOP + Compromisso Polinomial do ZKP.


Este artigo foi escrito por Trapdoor-Tech e traduzido por Adriano P. de Araujo. O original em inglês pode ser encontrado aqui

Top comments (0)