Prova de Conhecimento Zero (PCZ) é uma técnica criptográfica proposta pela primeira vez por S. Goldwasser, S. Micali e C. Rackoff no início da década de 1980 em um artigo intitulado “A Complexidade do Conhecimento dos Sistemas de Prova InterativaNo artigo, foi conceitualizado como um modelo teórico para resolver o problema de verificar declarações matemáticas sem revelar a evidência. Este conceito atraiu ampla atenção na academia porque desafia os limites das técnicas criptográficas tradicionais e fornece novos métodos para processar informações sensíveis.
Com o tempo, a ZKP evoluiu de um conceito teórico abstrato para protocolos concretos que podem ser integrados em várias aplicações. Em 2010, Groth publicou um artigo intitulado “Argumentos de Conhecimento Zero Não-Interativos Baseados em Pares CurtoQue se tornou o marco teórico para zk-SNARK (Argumento Zero-Conhecimento Sucinto Não-Interativo de Conhecimento), uma solução importante em ZKP. O progresso mais importante na aplicação da prova de conhecimento zero é o sistema de prova de conhecimento zero usado pela Z-cash em 2015, que fornece proteção de privacidade para transações e quantias. Posteriormente, zk-SNARK combinado com contratos inteligentes, estendendo sua aplicação para uma variedade mais ampla de cenários de aplicação.
A ZKP tradicional adere a três princípios:
O princípio de ZKP pode ser compreendido através de um exemplo simples: Se eu precisar provar para A que tenho o número de telefone de B, não preciso revelar diretamente o número de telefone de B. Em vez disso, posso ligar diretamente para o número de telefone de B e provar que tenho o número de telefone de B depois de completar a ligação. Esse processo não irá vazar o número de telefone de B.
zk-SNARK aprimora ainda mais esses princípios com as seguintes características:
No artigo de Groth, ele propôs um método de prova de conhecimento zero não interativo baseado em emparelhamentos para transformar um problema computacional em um Programa Aritmético Quadrático (QAP). Este método utiliza criptografia de curva elíptica e funções de hash para construir uma prova eficaz. Designs subsequentes de zk-SNARK geralmente envolvem quatro etapas.
Para ilustrar com um exemplo simples, suponha que você tenha um mapa do tesouro que pode guiá-lo até a localização exata de um tesouro enterrado. Você deseja provar a alguém que conhece a localização do tesouro, mas não quer revelar o conteúdo do mapa do tesouro ou a localização real do tesouro. Se você usar a tecnologia zk-SNARK, precisará criar um quebra-cabeça complexo do mapa do tesouro. Você escolhe um pequeno pedaço do quebra-cabeça crucial (uma prova) e mostra para a outra pessoa, convencendo-os de que você sabe como todo o quebra-cabeça, ou seja, a localização do tesouro, se encaixa sem revelar todo o quebra-cabeça. No entanto, para fazer isso, você precisa obter algumas marcas especiais de uma gráfica confiável, que são usadas para provar a autenticidade da sua peça do quebra-cabeça.
A discussão anterior mencionou que zk-SNARK permite definir uma string de referência comum, o que significa que as restrições podem ser definidas no circuito em execução. Tomando a reserva da Gate.io como exemplo, ele define cinco restrições principais no circuito, como mostrado abaixo:
① Antes de inserir os ativos líquidos do usuário na árvore de Merkle, o nó correspondente ao ID do usuário está vazio.
② Calcular os ativos/passivos totais do usuário com base na lista de ativos do usuário e no preço de cada ativo. Os ativos totais devem ser maiores do que os passivos totais.
③ Adicione os ativos/passivos do usuário aos ativos/passivos da exchange.
④ Calcular o hash de estado do usuário usando o ID do usuário, ativos/passivos totais e lista de ativos. Inserir o estado do usuário na árvore de Merkle para obter uma nova Raiz de Merkle.
⑤ O valor de hash do nó raiz da árvore antes do usuário anterior criar uma operação de usuário deve ser igual ao valor de hash após o usuário subsequente criar uma operação de usuário.
(A operação ① pode evitar que os dados do nó sejam falsos, a operação ② pode evitar contas com saldo negativo, e a operação ⑤ pode garantir que os dados do usuário não sejam alterados antes e depois da operação.)
Isso garante a resolução do problema de saldo negativo. Os dados da exchange só precisam passar pelo circuito para realizar automaticamente verificações de restrição e obter o número do ativo. No entanto, essa solução requer certa potência de computação e condições de hardware. Leva 15 dias para calcular a prova de ativos de 10 milhões de usuários em uma máquina de 32 núcleos com 128GB de RAM. O cálculo da Prova de Reservas pode ser paralelizado. Se houver 10 máquinas, leva apenas 1,5 dias.
Ao definir restrições relevantes, zk-SNARK pode evitar a ocorrência de problemas de valor negativo e proteger melhor a privacidade e segurança dos usuários. A Prova de Reservas da Gate.io agora pode comprovar as taxas de reserva para mais de 100 moedas, e os usuários podem visualizá-la com um simples clique.linkNa próxima lição, vamos levá-lo a verificar a segurança dos seus ativos em 3 minutos.
Prova de Conhecimento Zero (PCZ) é uma técnica criptográfica proposta pela primeira vez por S. Goldwasser, S. Micali e C. Rackoff no início da década de 1980 em um artigo intitulado “A Complexidade do Conhecimento dos Sistemas de Prova InterativaNo artigo, foi conceitualizado como um modelo teórico para resolver o problema de verificar declarações matemáticas sem revelar a evidência. Este conceito atraiu ampla atenção na academia porque desafia os limites das técnicas criptográficas tradicionais e fornece novos métodos para processar informações sensíveis.
Com o tempo, a ZKP evoluiu de um conceito teórico abstrato para protocolos concretos que podem ser integrados em várias aplicações. Em 2010, Groth publicou um artigo intitulado “Argumentos de Conhecimento Zero Não-Interativos Baseados em Pares CurtoQue se tornou o marco teórico para zk-SNARK (Argumento Zero-Conhecimento Sucinto Não-Interativo de Conhecimento), uma solução importante em ZKP. O progresso mais importante na aplicação da prova de conhecimento zero é o sistema de prova de conhecimento zero usado pela Z-cash em 2015, que fornece proteção de privacidade para transações e quantias. Posteriormente, zk-SNARK combinado com contratos inteligentes, estendendo sua aplicação para uma variedade mais ampla de cenários de aplicação.
A ZKP tradicional adere a três princípios:
O princípio de ZKP pode ser compreendido através de um exemplo simples: Se eu precisar provar para A que tenho o número de telefone de B, não preciso revelar diretamente o número de telefone de B. Em vez disso, posso ligar diretamente para o número de telefone de B e provar que tenho o número de telefone de B depois de completar a ligação. Esse processo não irá vazar o número de telefone de B.
zk-SNARK aprimora ainda mais esses princípios com as seguintes características:
No artigo de Groth, ele propôs um método de prova de conhecimento zero não interativo baseado em emparelhamentos para transformar um problema computacional em um Programa Aritmético Quadrático (QAP). Este método utiliza criptografia de curva elíptica e funções de hash para construir uma prova eficaz. Designs subsequentes de zk-SNARK geralmente envolvem quatro etapas.
Para ilustrar com um exemplo simples, suponha que você tenha um mapa do tesouro que pode guiá-lo até a localização exata de um tesouro enterrado. Você deseja provar a alguém que conhece a localização do tesouro, mas não quer revelar o conteúdo do mapa do tesouro ou a localização real do tesouro. Se você usar a tecnologia zk-SNARK, precisará criar um quebra-cabeça complexo do mapa do tesouro. Você escolhe um pequeno pedaço do quebra-cabeça crucial (uma prova) e mostra para a outra pessoa, convencendo-os de que você sabe como todo o quebra-cabeça, ou seja, a localização do tesouro, se encaixa sem revelar todo o quebra-cabeça. No entanto, para fazer isso, você precisa obter algumas marcas especiais de uma gráfica confiável, que são usadas para provar a autenticidade da sua peça do quebra-cabeça.
A discussão anterior mencionou que zk-SNARK permite definir uma string de referência comum, o que significa que as restrições podem ser definidas no circuito em execução. Tomando a reserva da Gate.io como exemplo, ele define cinco restrições principais no circuito, como mostrado abaixo:
① Antes de inserir os ativos líquidos do usuário na árvore de Merkle, o nó correspondente ao ID do usuário está vazio.
② Calcular os ativos/passivos totais do usuário com base na lista de ativos do usuário e no preço de cada ativo. Os ativos totais devem ser maiores do que os passivos totais.
③ Adicione os ativos/passivos do usuário aos ativos/passivos da exchange.
④ Calcular o hash de estado do usuário usando o ID do usuário, ativos/passivos totais e lista de ativos. Inserir o estado do usuário na árvore de Merkle para obter uma nova Raiz de Merkle.
⑤ O valor de hash do nó raiz da árvore antes do usuário anterior criar uma operação de usuário deve ser igual ao valor de hash após o usuário subsequente criar uma operação de usuário.
(A operação ① pode evitar que os dados do nó sejam falsos, a operação ② pode evitar contas com saldo negativo, e a operação ⑤ pode garantir que os dados do usuário não sejam alterados antes e depois da operação.)
Isso garante a resolução do problema de saldo negativo. Os dados da exchange só precisam passar pelo circuito para realizar automaticamente verificações de restrição e obter o número do ativo. No entanto, essa solução requer certa potência de computação e condições de hardware. Leva 15 dias para calcular a prova de ativos de 10 milhões de usuários em uma máquina de 32 núcleos com 128GB de RAM. O cálculo da Prova de Reservas pode ser paralelizado. Se houver 10 máquinas, leva apenas 1,5 dias.
Ao definir restrições relevantes, zk-SNARK pode evitar a ocorrência de problemas de valor negativo e proteger melhor a privacidade e segurança dos usuários. A Prova de Reservas da Gate.io agora pode comprovar as taxas de reserva para mais de 100 moedas, e os usuários podem visualizá-la com um simples clique.linkNa próxima lição, vamos levá-lo a verificar a segurança dos seus ativos em 3 minutos.