Zero-Knowledge Proof (ZKP) é uma tecnologia criptográfica introduzida pela primeira vez em um artigo intitulado “The Knowledge Complexity Of Interactive Proof Systems” no início dos anos 1980 por S.Goldwasser, S.Micali e C.Rackoff. Originalmente concebido como um modelo teórico, pretendia enfrentar o desafio de verificar afirmações matemáticas sem revelar qualquer evidência. Este conceito atraiu ampla atenção no mundo acadêmico por desafiar os limites das técnicas tradicionais de criptografia e oferecer uma nova abordagem para lidar com informações confidenciais.
Com o tempo, o ZKP evoluiu de um conceito teórico abstrato para protocolos concretos que podem ser integrados em diversas aplicações. No início do século 21, com o crescimento explosivo da internet e da comunicação digital, o potencial do ZKP começou a ser explorado no mundo real. Particularmente com a ascensão do blockchain e das criptomoedas, a ZKP demonstrou sua capacidade de aumentar a privacidade e a segurança, mantendo ao mesmo tempo a eficiência das transações e do processamento de dados.
Hoje, o ZKP não é apenas um tema importante na pesquisa criptográfica, mas também foi integrado em múltiplas plataformas e aplicações blockchain. Por exemplo, o aplicativo zk-SNARKs no Ethereum Layer2 oferece transações anônimas sem revelar detalhes da transação. Esta transição da teoria para a aplicação prática não só prova o valor prático do ZKP, mas também impulsiona a exploração de interações digitais mais eficientes e seguras. Com os avanços tecnológicos contínuos, o ZKP desempenha um papel cada vez mais crítico na proteção da privacidade pessoal, garantindo a segurança dos dados e estabelecendo sistemas digitais confiáveis.
Prova de Conhecimento Zero (ZKP) é um método de criptografia que permite que uma parte (o provador) prove a correção de uma declaração para outra parte (o verificador) sem revelar qualquer informação adicional, ou seja, sem divulgar qualquer conhecimento sobre o qual a correção de a afirmação depende. Este processo não só protege a privacidade do provador, mas também garante que o verificador não possa replicar o processo de prova ou utilizá-lo para obter qualquer informação adicional.
Diagrama conceitual de provas de conhecimento zero (fonte: ChainLink)
Os princípios básicos das Provas de Conhecimento Zero (ZKP) podem ser definidos pelos três atributos a seguir:
O princípio do ZKP é frequentemente compreendido através de exemplos simples: se eu precisar provar à pessoa A que tenho o número de telefone da pessoa B, não preciso revelar diretamente o número de B para A. Em vez disso, posso provar isso ligando para o número de B. . Assim que a chamada for completada, ela demonstra que realmente possuo o número de B, sem revelar qualquer informação sobre o número em si.
Em aplicações práticas, o ZKP geralmente requer construções matemáticas complexas, como equações polinomiais, curvas elípticas ou outros desafios matemáticos. A segurança destas construções baseia-se na dificuldade computacional de problemas como fatoração ou logaritmos discretos. Com o avanço da criptografia, surgiram diversas implementações de ZKP, como zk-SNARKs e zk-STARKs, oferecendo proteção eficaz à privacidade em diferentes contextos, especialmente nas áreas de blockchain e criptomoedas.
A forma básica de prova de conhecimento zero consiste em três elementos: testemunha, desafio e resposta.
Testemunha: Na prova de conhecimento zero, o provador quer demonstrar conhecimento de alguma informação oculta. Esta informação secreta funciona como “testemunha” da prova. O provador, com base no conhecimento da testemunha, formula um conjunto de perguntas que somente alguém com conhecimento da informação pode responder. Assim, o provador seleciona aleatoriamente uma questão para iniciar a prova, calcula a resposta e a envia ao verificador.
Desafio: O verificador escolhe aleatoriamente outra pergunta do conjunto e pede ao provador que a responda.
Resposta: O provador recebe a pergunta, calcula a resposta e a envia de volta ao verificador. A resposta do provador permite ao verificador verificar se o provador realmente tem acesso à testemunha. Para garantir que o provador não esteja apenas adivinhando cegamente e por acaso, o verificador seleciona outra pergunta para investigação. Ao repetir esse processo várias vezes, a probabilidade de o provador fabricar a verdade diminui bastante até que o verificador fique satisfeito.
No exemplo do telefonema acima mencionado, “Eu” sou a testemunha que não deseja divulgar informações, enquanto A é o verificador, e o desafio colocado é “Prove que 'eu' possuo o número de B”. O processo de resposta envolve “eu” ligando para o número de B para provar que realmente o tenho.
Conforme discutido anteriormente, as Provas de Conhecimento Zero (ZKP) oferecem inerentemente vantagens significativas no domínio da proteção da privacidade. Na era atual de sobrecarga de informações, os dados pessoais são frequentemente armazenados em plataformas de terceiros, aumentando o risco de violações de dados. Além disso, devido a barreiras técnicas e ao atraso nas sanções legais, a segurança da informação depende em grande parte de restrições éticas, tornando difícil para os utilizadores controlarem verdadeiramente as suas informações privadas. O advento da tecnologia ZKP fornece uma solução que protege a privacidade e aumenta a eficiência e a segurança da verificação.
Comparado a outras tecnologias de criptografia, o ZKP tem múltiplas vantagens:
Seja no domínio tradicional da Web 2.0 ou no domínio emergente da Web 3.0, as perspectivas de aplicação do ZKP são extensas.
Existem várias implementações de provas de conhecimento zero, como zk-SNARKs, zk-STARKs, PLONK e Bulletproofs. Cada tipo tem suas vantagens e desvantagens em termos de tamanho da prova, tempo de prova e tempo de verificação. Este artigo se concentra na introdução dos quatro tipos mais comumente usados em cenários de aplicativos.
zk-SNARKs, que significa “Argumento de conhecimento sucinto e não interativo de conhecimento zero”, são ferramentas criptográficas usadas para provar que alguém conhece uma informação sem revelar nenhuma informação em si. Em zk-SNARKs, “conhecimento zero” significa que o provador pode provar que uma afirmação é verdadeira sem fornecer qualquer informação além de sua correção. “Sucinta” refere-se ao pequeno tamanho da prova e à velocidade do processo de verificação. “Não interativo” significa que uma vez gerada uma prova, ela pode ser verificada por qualquer pessoa sem interação adicional entre o provador e o verificador. Os principais componentes dos zk-SNARKs incluem:
Os zk-SNARKs são usados em vários cenários de preservação de privacidade, como criptomoedas com transações anônimas, sistemas de votação seguros, autenticação com preservação de privacidade e compartilhamento de dados e tecnologias de escalabilidade de blockchain.
zk-STARKs, ou “Argumentos de Conhecimento Transparentes Escaláveis de Conhecimento Zero”, permitem que uma parte (o provador) prove a outra (o verificador) que conhece certas informações sem revelar a informação em si. Ao contrário dos zk-SNARKs, os zk-STARKs não requerem um processo de configuração confiável. Isto significa que não dependem da confidencialidade de determinadas informações privadas, uma característica muitas vezes considerada crucial para a segurança, uma vez que a configuração confiável pode ser uma vulnerabilidade sistémica.
Os zk-STARKs funcionam com base em conceitos de vários campos matemáticos, incluindo funções hash, cálculos polinomiais e teoria de correção de erros. Eles utilizam uma construção conhecida como “argumento transparente escalável de conhecimento zero”, permitindo a geração de provas sem uma configuração confiável. As aplicações potenciais dos zk-STARKs são semelhantes às dos zk-SNARKs, mas devido à sua escalabilidade e transparência, são particularmente adequados para aplicações de grande escala, incluindo criptomoedas que preservam a privacidade, tecnologias de escalabilidade de blockchain e verificação segura em computação em nuvem. .
PLONK, não uma sigla, refere-se aos sobrenomes de seus criadores. Ele foi projetado para fornecer uma solução ZKP universal e eficiente, especialmente em aplicações blockchain, como contratos inteligentes e transações protegidas por privacidade. O núcleo do PLONK é o uso de uma técnica de “ocultação homomórfica”, permitindo operações aritméticas em dados sem revelar os dados originais. Ele emprega um algoritmo especial – um esquema de comprometimento polinomial – para criar provas, permitindo que os provadores provem com eficiência que possuem os resultados de cálculo corretos para um conjunto de dados.
Uma característica fundamental do PLONK é a sua universalidade. Depois que os parâmetros são definidos para uma tarefa computacional específica (por meio de uma configuração confiável única), eles podem ser reutilizados diversas vezes para criar novas provas, sem a necessidade de novas configurações a cada vez. Isso torna o PLONK altamente eficiente na criação e verificação de provas e geralmente é projetado para suportar diversas tarefas computacionais em blockchain e outros sistemas distribuídos.
Bulletproofs, uma solução ZKP recentemente introduzida, não requer uma configuração confiável e é projetada especificamente para construir provas de intervalo e certos tipos de provas aritméticas. Proposto por Benedikt Bunz, Jonathan Bootle, Dan Boneh e outros em 2017, o Bulletproofs opera em construções matemáticas complexas, como criptografia homomórfica e criptografia de curva elíptica. Eles utilizam uma série de técnicas matemáticas para permitir que os provadores criem uma prova de alcance eficaz para um número sem revelar seu valor exato. Especialmente no domínio das criptomoedas, isso pode ser usado para provar que os valores das transações estão dentro de uma faixa legal, sem expor os valores reais das transações.
Devido ao seu recurso à prova de alcance, os Bulletproofs são amplamente utilizados nos campos de criptomoedas e blockchain, especialmente em moedas de privacidade como Monero, para ocultar valores de transações e, ao mesmo tempo, verificar a legitimidade das transações. Além disso, eles podem ser empregados em outras aplicações onde a privacidade numérica é necessária.
Vamos entender melhor essas quatro tecnologias diferentes de Prova de Conhecimento Zero (ZKP) – zk-SNARKs, zk-STARKs, PLONK e Bulletproofs – por meio de uma analogia com o mapa do tesouro.
Imagine que você tem um mapa do tesouro que leva à localização exata de um tesouro enterrado. Você quer provar a alguém que sabe onde está o tesouro sem revelar o conteúdo do mapa ou a localização real do tesouro.
zk-SNARKs: Você cria um quebra-cabeça complexo do mapa do tesouro. Você seleciona uma pequena peça-chave deste quebra-cabeça (uma prova) e mostra-a à outra parte, o suficiente para convencê-la de que você sabe como montar o quebra-cabeça completo, ou seja, a localização do tesouro, sem revelar todo o quebra-cabeça. No entanto, para fazer isso, você precisa de marcadores especiais de uma impressora confiável para provar que a peça do quebra-cabeça é genuína.
zk-STARKs: Você mostra uma parte do mapa do tesouro para a outra parte, dizendo que eles podem usar uma lupa especial (um algoritmo de verificação) para verificar aleatoriamente os detalhes do mapa para verificar se ele realmente aponta para o tesouro, sem precisar saber a localização exata do tesouro. Esta lupa é tão poderosa que mesmo as tecnologias futuras (computadores quânticos) não conseguem desvendar o segredo do seu mapa do tesouro.
PLONK: Desta vez, você cria um conjunto de enigmas, cada um apontando para a localização do tesouro. Você apresenta um método universal de verificação de soluções para esses enigmas (uma configuração universal) para a outra parte, suficiente para que eles acreditem que você sabe todas as respostas sem ter que resolver cada enigma individualmente.
À prova de balas: Você decide provar que conhece a localização aproximada do tesouro sem revelar sua posição exata. Você fornece uma série de soluções de problemas matemáticos que demonstram a extensão da localização do tesouro. Seu método não requer marcadores especiais ou técnicas de impressão, o que significa que não há necessidade de confiança inicial.
Nesta analogia:
Cada método tem suas vantagens em aplicações práticas, e a escolha depende do cenário específico da aplicação e das necessidades de segurança.
Antes de comparar, precisamos entender os critérios de avaliação dos ZKPs:
Agora, vamos comparar zk-SNARKs, zk-STARKs, PLONK e Bulletproofs com base nesses indicadores e discutir seus prós e contras.
Prós
Contras
Prós
Contras
Prós
Contras
Prós
Contras
Na Web3, existem muitos casos de aplicação de ZKP, e selecionamos dois casos típicos para estudo.
zk-Rollups são uma solução de Camada 2 que agrupa centenas ou milhares de transações fora da cadeia e gera uma prova zk-SNARK. Esta prova, juntamente com os dados da transação, é submetida à cadeia principal do Ethereum. Permite a validação de transações sem que a cadeia principal processe cada transação, reduzindo assim as taxas e aumentando o rendimento. zk-Sync Era e Starknet adotaram a tecnologia zk-rollup, e a Polygon introduziu recentemente o Polygon zk-EVM usando zk-rollups.
Uma demonstração de aplicação de zk-SNARKs na Camada 2 (Fonte: Simon Brown)
A prova de reserva cambial refere-se à verificação de saldos mantidos por bolsas de criptomoedas ou outras instituições financeiras, garantindo que os ativos registrados correspondam aos ativos reais mantidos. Inicialmente, as bolsas usavam árvores Merkle e empresas de auditoria terceirizadas para essa verificação, mas esse processo dependia de terceiros e poderia vazar dados privados de usuários, como saldos de contas. Exchanges como a Gate.io agora estão utilizando a tecnologia zk-SNARKs para provas de reserva, criptografando dados do usuário e obtendo números de ativos do usuário por meio de circuitos zk-SNARK, emitindo assim relatórios completos de prova de reserva.
As diversas soluções de tecnologia à prova de conhecimento zero destacam seu poderoso potencial na Web3. Da proteção da privacidade de dados ao dimensionamento do blockchain, o ZKP é importante para a construção de uma infraestrutura Web3 segura e eficiente. Embora diferentes abordagens tenham as suas vantagens e limitações, elas apontam coletivamente para um futuro digital mais confiável e protegido pela privacidade. À medida que a tecnologia avança, os desafios de otimização do desempenho e da segurança com o ZKP serão gradualmente superados, indicando o seu papel cada vez mais significativo no mundo digital.
Zero-Knowledge Proof (ZKP) é uma tecnologia criptográfica introduzida pela primeira vez em um artigo intitulado “The Knowledge Complexity Of Interactive Proof Systems” no início dos anos 1980 por S.Goldwasser, S.Micali e C.Rackoff. Originalmente concebido como um modelo teórico, pretendia enfrentar o desafio de verificar afirmações matemáticas sem revelar qualquer evidência. Este conceito atraiu ampla atenção no mundo acadêmico por desafiar os limites das técnicas tradicionais de criptografia e oferecer uma nova abordagem para lidar com informações confidenciais.
Com o tempo, o ZKP evoluiu de um conceito teórico abstrato para protocolos concretos que podem ser integrados em diversas aplicações. No início do século 21, com o crescimento explosivo da internet e da comunicação digital, o potencial do ZKP começou a ser explorado no mundo real. Particularmente com a ascensão do blockchain e das criptomoedas, a ZKP demonstrou sua capacidade de aumentar a privacidade e a segurança, mantendo ao mesmo tempo a eficiência das transações e do processamento de dados.
Hoje, o ZKP não é apenas um tema importante na pesquisa criptográfica, mas também foi integrado em múltiplas plataformas e aplicações blockchain. Por exemplo, o aplicativo zk-SNARKs no Ethereum Layer2 oferece transações anônimas sem revelar detalhes da transação. Esta transição da teoria para a aplicação prática não só prova o valor prático do ZKP, mas também impulsiona a exploração de interações digitais mais eficientes e seguras. Com os avanços tecnológicos contínuos, o ZKP desempenha um papel cada vez mais crítico na proteção da privacidade pessoal, garantindo a segurança dos dados e estabelecendo sistemas digitais confiáveis.
Prova de Conhecimento Zero (ZKP) é um método de criptografia que permite que uma parte (o provador) prove a correção de uma declaração para outra parte (o verificador) sem revelar qualquer informação adicional, ou seja, sem divulgar qualquer conhecimento sobre o qual a correção de a afirmação depende. Este processo não só protege a privacidade do provador, mas também garante que o verificador não possa replicar o processo de prova ou utilizá-lo para obter qualquer informação adicional.
Diagrama conceitual de provas de conhecimento zero (fonte: ChainLink)
Os princípios básicos das Provas de Conhecimento Zero (ZKP) podem ser definidos pelos três atributos a seguir:
O princípio do ZKP é frequentemente compreendido através de exemplos simples: se eu precisar provar à pessoa A que tenho o número de telefone da pessoa B, não preciso revelar diretamente o número de B para A. Em vez disso, posso provar isso ligando para o número de B. . Assim que a chamada for completada, ela demonstra que realmente possuo o número de B, sem revelar qualquer informação sobre o número em si.
Em aplicações práticas, o ZKP geralmente requer construções matemáticas complexas, como equações polinomiais, curvas elípticas ou outros desafios matemáticos. A segurança destas construções baseia-se na dificuldade computacional de problemas como fatoração ou logaritmos discretos. Com o avanço da criptografia, surgiram diversas implementações de ZKP, como zk-SNARKs e zk-STARKs, oferecendo proteção eficaz à privacidade em diferentes contextos, especialmente nas áreas de blockchain e criptomoedas.
A forma básica de prova de conhecimento zero consiste em três elementos: testemunha, desafio e resposta.
Testemunha: Na prova de conhecimento zero, o provador quer demonstrar conhecimento de alguma informação oculta. Esta informação secreta funciona como “testemunha” da prova. O provador, com base no conhecimento da testemunha, formula um conjunto de perguntas que somente alguém com conhecimento da informação pode responder. Assim, o provador seleciona aleatoriamente uma questão para iniciar a prova, calcula a resposta e a envia ao verificador.
Desafio: O verificador escolhe aleatoriamente outra pergunta do conjunto e pede ao provador que a responda.
Resposta: O provador recebe a pergunta, calcula a resposta e a envia de volta ao verificador. A resposta do provador permite ao verificador verificar se o provador realmente tem acesso à testemunha. Para garantir que o provador não esteja apenas adivinhando cegamente e por acaso, o verificador seleciona outra pergunta para investigação. Ao repetir esse processo várias vezes, a probabilidade de o provador fabricar a verdade diminui bastante até que o verificador fique satisfeito.
No exemplo do telefonema acima mencionado, “Eu” sou a testemunha que não deseja divulgar informações, enquanto A é o verificador, e o desafio colocado é “Prove que 'eu' possuo o número de B”. O processo de resposta envolve “eu” ligando para o número de B para provar que realmente o tenho.
Conforme discutido anteriormente, as Provas de Conhecimento Zero (ZKP) oferecem inerentemente vantagens significativas no domínio da proteção da privacidade. Na era atual de sobrecarga de informações, os dados pessoais são frequentemente armazenados em plataformas de terceiros, aumentando o risco de violações de dados. Além disso, devido a barreiras técnicas e ao atraso nas sanções legais, a segurança da informação depende em grande parte de restrições éticas, tornando difícil para os utilizadores controlarem verdadeiramente as suas informações privadas. O advento da tecnologia ZKP fornece uma solução que protege a privacidade e aumenta a eficiência e a segurança da verificação.
Comparado a outras tecnologias de criptografia, o ZKP tem múltiplas vantagens:
Seja no domínio tradicional da Web 2.0 ou no domínio emergente da Web 3.0, as perspectivas de aplicação do ZKP são extensas.
Existem várias implementações de provas de conhecimento zero, como zk-SNARKs, zk-STARKs, PLONK e Bulletproofs. Cada tipo tem suas vantagens e desvantagens em termos de tamanho da prova, tempo de prova e tempo de verificação. Este artigo se concentra na introdução dos quatro tipos mais comumente usados em cenários de aplicativos.
zk-SNARKs, que significa “Argumento de conhecimento sucinto e não interativo de conhecimento zero”, são ferramentas criptográficas usadas para provar que alguém conhece uma informação sem revelar nenhuma informação em si. Em zk-SNARKs, “conhecimento zero” significa que o provador pode provar que uma afirmação é verdadeira sem fornecer qualquer informação além de sua correção. “Sucinta” refere-se ao pequeno tamanho da prova e à velocidade do processo de verificação. “Não interativo” significa que uma vez gerada uma prova, ela pode ser verificada por qualquer pessoa sem interação adicional entre o provador e o verificador. Os principais componentes dos zk-SNARKs incluem:
Os zk-SNARKs são usados em vários cenários de preservação de privacidade, como criptomoedas com transações anônimas, sistemas de votação seguros, autenticação com preservação de privacidade e compartilhamento de dados e tecnologias de escalabilidade de blockchain.
zk-STARKs, ou “Argumentos de Conhecimento Transparentes Escaláveis de Conhecimento Zero”, permitem que uma parte (o provador) prove a outra (o verificador) que conhece certas informações sem revelar a informação em si. Ao contrário dos zk-SNARKs, os zk-STARKs não requerem um processo de configuração confiável. Isto significa que não dependem da confidencialidade de determinadas informações privadas, uma característica muitas vezes considerada crucial para a segurança, uma vez que a configuração confiável pode ser uma vulnerabilidade sistémica.
Os zk-STARKs funcionam com base em conceitos de vários campos matemáticos, incluindo funções hash, cálculos polinomiais e teoria de correção de erros. Eles utilizam uma construção conhecida como “argumento transparente escalável de conhecimento zero”, permitindo a geração de provas sem uma configuração confiável. As aplicações potenciais dos zk-STARKs são semelhantes às dos zk-SNARKs, mas devido à sua escalabilidade e transparência, são particularmente adequados para aplicações de grande escala, incluindo criptomoedas que preservam a privacidade, tecnologias de escalabilidade de blockchain e verificação segura em computação em nuvem. .
PLONK, não uma sigla, refere-se aos sobrenomes de seus criadores. Ele foi projetado para fornecer uma solução ZKP universal e eficiente, especialmente em aplicações blockchain, como contratos inteligentes e transações protegidas por privacidade. O núcleo do PLONK é o uso de uma técnica de “ocultação homomórfica”, permitindo operações aritméticas em dados sem revelar os dados originais. Ele emprega um algoritmo especial – um esquema de comprometimento polinomial – para criar provas, permitindo que os provadores provem com eficiência que possuem os resultados de cálculo corretos para um conjunto de dados.
Uma característica fundamental do PLONK é a sua universalidade. Depois que os parâmetros são definidos para uma tarefa computacional específica (por meio de uma configuração confiável única), eles podem ser reutilizados diversas vezes para criar novas provas, sem a necessidade de novas configurações a cada vez. Isso torna o PLONK altamente eficiente na criação e verificação de provas e geralmente é projetado para suportar diversas tarefas computacionais em blockchain e outros sistemas distribuídos.
Bulletproofs, uma solução ZKP recentemente introduzida, não requer uma configuração confiável e é projetada especificamente para construir provas de intervalo e certos tipos de provas aritméticas. Proposto por Benedikt Bunz, Jonathan Bootle, Dan Boneh e outros em 2017, o Bulletproofs opera em construções matemáticas complexas, como criptografia homomórfica e criptografia de curva elíptica. Eles utilizam uma série de técnicas matemáticas para permitir que os provadores criem uma prova de alcance eficaz para um número sem revelar seu valor exato. Especialmente no domínio das criptomoedas, isso pode ser usado para provar que os valores das transações estão dentro de uma faixa legal, sem expor os valores reais das transações.
Devido ao seu recurso à prova de alcance, os Bulletproofs são amplamente utilizados nos campos de criptomoedas e blockchain, especialmente em moedas de privacidade como Monero, para ocultar valores de transações e, ao mesmo tempo, verificar a legitimidade das transações. Além disso, eles podem ser empregados em outras aplicações onde a privacidade numérica é necessária.
Vamos entender melhor essas quatro tecnologias diferentes de Prova de Conhecimento Zero (ZKP) – zk-SNARKs, zk-STARKs, PLONK e Bulletproofs – por meio de uma analogia com o mapa do tesouro.
Imagine que você tem um mapa do tesouro que leva à localização exata de um tesouro enterrado. Você quer provar a alguém que sabe onde está o tesouro sem revelar o conteúdo do mapa ou a localização real do tesouro.
zk-SNARKs: Você cria um quebra-cabeça complexo do mapa do tesouro. Você seleciona uma pequena peça-chave deste quebra-cabeça (uma prova) e mostra-a à outra parte, o suficiente para convencê-la de que você sabe como montar o quebra-cabeça completo, ou seja, a localização do tesouro, sem revelar todo o quebra-cabeça. No entanto, para fazer isso, você precisa de marcadores especiais de uma impressora confiável para provar que a peça do quebra-cabeça é genuína.
zk-STARKs: Você mostra uma parte do mapa do tesouro para a outra parte, dizendo que eles podem usar uma lupa especial (um algoritmo de verificação) para verificar aleatoriamente os detalhes do mapa para verificar se ele realmente aponta para o tesouro, sem precisar saber a localização exata do tesouro. Esta lupa é tão poderosa que mesmo as tecnologias futuras (computadores quânticos) não conseguem desvendar o segredo do seu mapa do tesouro.
PLONK: Desta vez, você cria um conjunto de enigmas, cada um apontando para a localização do tesouro. Você apresenta um método universal de verificação de soluções para esses enigmas (uma configuração universal) para a outra parte, suficiente para que eles acreditem que você sabe todas as respostas sem ter que resolver cada enigma individualmente.
À prova de balas: Você decide provar que conhece a localização aproximada do tesouro sem revelar sua posição exata. Você fornece uma série de soluções de problemas matemáticos que demonstram a extensão da localização do tesouro. Seu método não requer marcadores especiais ou técnicas de impressão, o que significa que não há necessidade de confiança inicial.
Nesta analogia:
Cada método tem suas vantagens em aplicações práticas, e a escolha depende do cenário específico da aplicação e das necessidades de segurança.
Antes de comparar, precisamos entender os critérios de avaliação dos ZKPs:
Agora, vamos comparar zk-SNARKs, zk-STARKs, PLONK e Bulletproofs com base nesses indicadores e discutir seus prós e contras.
Prós
Contras
Prós
Contras
Prós
Contras
Prós
Contras
Na Web3, existem muitos casos de aplicação de ZKP, e selecionamos dois casos típicos para estudo.
zk-Rollups são uma solução de Camada 2 que agrupa centenas ou milhares de transações fora da cadeia e gera uma prova zk-SNARK. Esta prova, juntamente com os dados da transação, é submetida à cadeia principal do Ethereum. Permite a validação de transações sem que a cadeia principal processe cada transação, reduzindo assim as taxas e aumentando o rendimento. zk-Sync Era e Starknet adotaram a tecnologia zk-rollup, e a Polygon introduziu recentemente o Polygon zk-EVM usando zk-rollups.
Uma demonstração de aplicação de zk-SNARKs na Camada 2 (Fonte: Simon Brown)
A prova de reserva cambial refere-se à verificação de saldos mantidos por bolsas de criptomoedas ou outras instituições financeiras, garantindo que os ativos registrados correspondam aos ativos reais mantidos. Inicialmente, as bolsas usavam árvores Merkle e empresas de auditoria terceirizadas para essa verificação, mas esse processo dependia de terceiros e poderia vazar dados privados de usuários, como saldos de contas. Exchanges como a Gate.io agora estão utilizando a tecnologia zk-SNARKs para provas de reserva, criptografando dados do usuário e obtendo números de ativos do usuário por meio de circuitos zk-SNARK, emitindo assim relatórios completos de prova de reserva.
As diversas soluções de tecnologia à prova de conhecimento zero destacam seu poderoso potencial na Web3. Da proteção da privacidade de dados ao dimensionamento do blockchain, o ZKP é importante para a construção de uma infraestrutura Web3 segura e eficiente. Embora diferentes abordagens tenham as suas vantagens e limitações, elas apontam coletivamente para um futuro digital mais confiável e protegido pela privacidade. À medida que a tecnologia avança, os desafios de otimização do desempenho e da segurança com o ZKP serão gradualmente superados, indicando o seu papel cada vez mais significativo no mundo digital.