Zero-Knowledge Proof (ZKP) é uma tecnologia criptográfica introduzida pela primeira vez num artigo intitulado “The Knowledge Complexity Of Interactive Proof Systems” no início dos anos 80 por S.Goldwasser, S.Micali e C.Rackoff. Originalmente concebido como um modelo teórico, visava enfrentar o desafio de verificar afirmações matemáticas sem revelar qualquer evidência. Este conceito chamou a atenção generalizada no mundo académico por desafiar os limites das técnicas tradicionais de encriptação e oferecer uma nova abordagem ao tratamento de informações sensíveis.
Com o tempo, o ZKP evoluiu de um conceito teórico abstrato para protocolos concretos que podem ser integrados em várias aplicações. No início do século XXI, 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 o aumento da blockchain e das criptomoedas, a ZKP demonstrou a sua capacidade de aumentar a privacidade e a segurança, mantendo a eficiência das transações e do processamento de dados.
Hoje, o ZKP não é apenas um tópico quente na investigação criptográfica mas também foi integrado em várias plataformas e aplicações blockchain. Por exemplo, a aplicação do 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 conduz a exploração de interações digitais mais eficientes e seguras. Com os contínuos avanços tecnológicos, o ZKP desempenha um papel cada vez mais crítico na proteção da privacidade pessoal, na garantia da segurança dos dados e no estabelecimento de sistemas digitais confiáveis.
A Prova de Conhecimento Zero (ZKP) é um método de encriptação que permite a uma parte (o provador) provar a exatidão de uma declaração a outra parte (o verificador) sem revelar qualquer informação adicional, ou seja, sem revelar qualquer conhecimento do qual depende a exatidão da declaração. Este processo não só protege a privacidade do provador mas também garante que o verificador não pode replicar o processo de prova ou usá-lo para obter qualquer informação adicional.
Diagrama Conceptual de Provas de Conhecimento Zero (Fonte: ChainLink)
Os princípios fundamentais das Provas de Conhecimento Zero (ZKP) podem ser definidos pelos três atributos a seguir:
O princípio do ZKP é muitas vezes compreendido através de exemplos simples: Se preciso provar à pessoa A que tenho o número de telefone da pessoa B, não preciso revelar diretamente o número do B a A. Em vez disso, posso provar isso ligando para o número de B. Uma vez que a chamada se conecta, demonstra que eu realmente possuo o número B, sem divulgar nenhuma informação sobre o próprio número.
Em aplicações práticas, o ZKP requer normalmente 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 fatorização ou logaritmos discretos. Com o avanço da criptografia, surgiram várias implementações do ZKP, como o zk-SNARKs e o zk-Starks, oferecendo proteção de privacidade eficaz em diferentes contextos, especialmente nos campos de blockchain e criptomoedas.
A forma básica de prova de conhecimento zero consiste em três elementos: testemunho, desafio e resposta.
Testemunha: Na prova de conhecimento zero, o provador quer demonstrar conhecimento de algumas informações ocultas. Esta informação secreta funciona como a “testemunha” da prova. O provador, com base no seu conhecimento da testemunha, estabelece um conjunto de perguntas que só alguém com conhecimento da informação pode responder. Assim, o provador selecciona aleatoriamente uma pergunta para iniciar a prova, calcula a resposta e envia-a ao verificador.
Desafio: O verificador escolhe aleatoriamente outra pergunta do set e pede ao provador que a responda.
Resposta: O provador recebe a pergunta, calcula a resposta e envia-a 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 está apenas a adivinhar cegamente corretamente por acaso, o verificador seleciona outra pergunta para consulta. Ao repetir este processo várias vezes, a probabilidade de o provador fabricar a verdade reduz muito até que o verificador esteja satisfeito.
No exemplo de chamada telefónica acima mencionado, “eu” sou a testemunha relutante em divulgar informações, enquanto A é o verificador, e o desafio colocado é “Prove que 'eu' possuo o número B.” O processo de resposta envolve “eu” ligar uma chamada ao número B para provar que realmente o tenho.
Como 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 às 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.
Em comparação com outras tecnologias de encriptação, 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, tais como zk-SNARKS, zk-Starks, PLONK e Bulletproofs. Cada tipo tem as suas vantagens e desvantagens em termos de tamanho da prova, tempo de prova e tempo de verificação. Este artigo centra-se na introdução dos quatro tipos mais utilizados em cenários de aplicação.
ZK-SNARKS, que representa “Zero-Knowledge Succinct Non-Interactive Argumento do Conhecimento”, são ferramentas criptográficas utilizadas para provar que alguém conhece uma informação sem revelar nenhuma das informações em si. No zk-SNARKS, “conhecimento zero” significa que o provador pode provar que uma afirmação é verdadeira sem fornecer nenhuma informação que não seja a sua exatidão. “Succinidade” refere-se ao pequeno tamanho da prova e à velocidade do processo de verificação. “Não interativo” significa uma vez que uma prova é gerada, pode ser verificada por qualquer pessoa sem interação adicional entre o provador e o verificador. Os principais componentes do zk-SNARKs incluem:
Os zk-SNARKs são utilizados em vários cenários de preservação da privacidade, tais como criptomoedas com transações anónimas, sistemas de votação seguros, autenticação e partilha de dados que preservam a privacidade e tecnologias de escalabilidade blockchain.
ZK-Starks, ou “Argumentos de Conhecimento Transparentes Escaláveis com Zero Knowledge”, permitem que uma parte (o provador) prove a outra (o verificador) que conhece certas informações sem revelar a própria informação. Ao contrário do zk-SNARKs, os zk-Starks não exigem um processo de configuração fidedigno. Isto significa que não dependem da confidencialidade de certas informações privadas, uma funcionalidade muitas vezes considerada crucial para a segurança, uma vez que a configuração fidedigna pode ser uma vulnerabilidade sistémica.
O ZK-STARK funciona com base em conceitos de vários campos matemáticos, incluindo funções hash, cálculos polinomiais e teoria da correcção de erros. Utilizam uma construção conhecida como “argumento transparente escalável de conhecimento zero”, permitindo a geração de provas sem uma configuração fidedigna. As aplicações potenciais do zk-Starks são semelhantes às dos zk-SNARKs, mas devido à sua escalabilidade e transparência, são particularmente adequadas para aplicações de grande escala, incluindo criptomoedas que preservam a privacidade, tecnologias de escalabilidade blockchain e verificação segura em computação em nuvem.
PLONK, não uma sigla, refere-se aos sobrenomes dos seus criadores. Foi concebido para fornecer uma solução ZKP universal e eficiente, especialmente em aplicações blockchain, tais como contratos inteligentes e transações protegidas pela 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. Emprega um algoritmo especial - um esquema de compromisso polinomial - para criar provas, permitindo que os provadores provem eficientemente que têm os resultados de cálculo corretos para um conjunto de dados.
Uma característica chave do PLONK é a sua universalidade. Uma vez que os parâmetros são definidos para uma tarefa computacional específica (através de uma configuração fidedigna única), podem ser reutilizados várias vezes para criar novas provas, sem a necessidade de novas configurações de cada vez. Isto torna o PLONK altamente eficiente na criação e verificação de provas e é muitas vezes concebido para suportar várias tarefas computacionais em blockchain e outros sistemas distribuídos.
Bulletproofs, uma solução ZKP recém-introduzida, não requer uma configuração confiável e são especificamente concebidos para a construção de provas de alcance e certos tipos de provas aritméticas. Proposto por Benedikt Bunz, Jonathan Bootle, Dan Boneh e outros em 2017, os Bulletproofs operam em construções matemáticas complexas como a encriptação homomórfica e a criptografia de curva elíptica. Aproveitam 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 o seu valor exato. Especialmente no domínio da criptomoeda, isso pode ser usado para provar que os valores das transações estão dentro de um intervalo legal sem expor os valores reais das transações.
Devido à sua característica à prova de gama, os Bulletproofs são amplamente utilizados nos campos de criptomoeda e blockchain, particularmente em moedas de privacidade como o Monero, para ocultar os valores das transações enquanto verifica a legitimidade das transações. Além disso, podem ser empregados noutras aplicações onde é necessária a privacidade numérica.
Vamos entender melhor estas quatro tecnologias diferentes de Prova de Conhecimento Zero (ZKP) — ZK-SNARKS, ZK-Starks, PLONK e Bulletproof — através de uma analogia do mapa do tesouro.
Imagine que tem um mapa do tesouro que leva à localização exata de um tesouro enterrado. 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: Cria um quebra-cabeças complexo do mapa do tesouro. Seleciona uma pequena peça chave deste puzzle (uma prova) e mostra-a à outra parte, suficiente para convencê-la de que sabe como montar o puzzle completo, ou seja, a localização do tesouro, sem revelar todo o puzzle. No entanto, para fazer isso, precisa de marcadores especiais de uma impressora de confiança para provar que a sua peça do puzzle é genuína.
zk-Starks: Mostra uma parte do mapa do tesouro à outra parte, dizendo-lhes que podem usar uma lupa especial (um algoritmo de verificação) para verificar aleatoriamente os detalhes do mapa para verificar se realmente aponta para o tesouro, sem a necessidade de saber a localização exata do tesouro. Esta lupa é tão poderosa que nem as tecnologias futuras (computadores quânticos) podem decifrar o segredo do seu mapa do tesouro.
PLONK: Desta vez, cria um conjunto de enigmas, cada um apontando para a localização do tesouro. Apresenta um método universal de verificação de soluções para estes enigmas (uma configuração universal) à outra parte, suficiente para eles acreditarem que sabe todas as respostas sem ter de resolver cada enigma individualmente.
Bulletproof: Decida provar que sabe o alcance aproximado da localização do tesouro sem revelar a sua posição exata. Fornece uma série de soluções de problemas matemáticos que demonstram o alcance da localização do tesouro. O seu método não requer marcadores especiais ou técnicas de impressão, o que significa que não há exigência inicial de confiança.
Nesta analogia:
Cada método tem as suas compensações 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 de perceber os critérios para avaliar os ZKPs:
Agora, vamos comparar zk-SNARKs, ZK-Starks, PLONK e Bulletproofs com base nestes indicadores e discutir os seus prós e contras.
Prós
Cons
Prós
Cons
Prós
Cons
Prós
Cons
Na Web3, existem muitos casos de aplicação de ZKP, e selecionamos dois casos típicos para estudo.
Os zk-Rollups são uma solução de Camada 2 que empacota 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. O ZK-Sync Era e o 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 detidos por bolsas de criptomoedas ou outras instituições financeiras, garantindo que os ativos registados correspondam aos ativos reais detidos. Inicialmente, as bolsas usavam árvores Merkle e firmas de auditoria terceirizadas para esta verificação, mas este processo dependia de terceiros e poderia vazar dados privados do utilizador, como saldos de contas. Trocas como o Gate.io estão agora a utilizar a tecnologia ZK-SNARKS para provas de reserva, encriptar dados do utilizador e obter números de activos do utilizador através de circuitos zk-SNARK, emitindo assim relatórios completos de prova de reserva.
As diversas soluções da tecnologia de prova de conhecimento zero destacam o seu poderoso potencial na Web3. Da proteção da privacidade de dados ao escalonamento de blockchain, o ZKP é importante para construir uma infraestrutura Web3 segura e eficiente. Embora diferentes abordagens tenham as suas vantagens e limitações, apontam coletivamente para um futuro digital mais confiável e protegido pela privacidade. À medida que a tecnologia avança, os desafios de otimizar o desempenho e a segurança com o ZKP serão gradualmente ultrapassados, indicando o seu papel cada vez mais significativo no mundo digital.
Zero-Knowledge Proof (ZKP) é uma tecnologia criptográfica introduzida pela primeira vez num artigo intitulado “The Knowledge Complexity Of Interactive Proof Systems” no início dos anos 80 por S.Goldwasser, S.Micali e C.Rackoff. Originalmente concebido como um modelo teórico, visava enfrentar o desafio de verificar afirmações matemáticas sem revelar qualquer evidência. Este conceito chamou a atenção generalizada no mundo académico por desafiar os limites das técnicas tradicionais de encriptação e oferecer uma nova abordagem ao tratamento de informações sensíveis.
Com o tempo, o ZKP evoluiu de um conceito teórico abstrato para protocolos concretos que podem ser integrados em várias aplicações. No início do século XXI, 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 o aumento da blockchain e das criptomoedas, a ZKP demonstrou a sua capacidade de aumentar a privacidade e a segurança, mantendo a eficiência das transações e do processamento de dados.
Hoje, o ZKP não é apenas um tópico quente na investigação criptográfica mas também foi integrado em várias plataformas e aplicações blockchain. Por exemplo, a aplicação do 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 conduz a exploração de interações digitais mais eficientes e seguras. Com os contínuos avanços tecnológicos, o ZKP desempenha um papel cada vez mais crítico na proteção da privacidade pessoal, na garantia da segurança dos dados e no estabelecimento de sistemas digitais confiáveis.
A Prova de Conhecimento Zero (ZKP) é um método de encriptação que permite a uma parte (o provador) provar a exatidão de uma declaração a outra parte (o verificador) sem revelar qualquer informação adicional, ou seja, sem revelar qualquer conhecimento do qual depende a exatidão da declaração. Este processo não só protege a privacidade do provador mas também garante que o verificador não pode replicar o processo de prova ou usá-lo para obter qualquer informação adicional.
Diagrama Conceptual de Provas de Conhecimento Zero (Fonte: ChainLink)
Os princípios fundamentais das Provas de Conhecimento Zero (ZKP) podem ser definidos pelos três atributos a seguir:
O princípio do ZKP é muitas vezes compreendido através de exemplos simples: Se preciso provar à pessoa A que tenho o número de telefone da pessoa B, não preciso revelar diretamente o número do B a A. Em vez disso, posso provar isso ligando para o número de B. Uma vez que a chamada se conecta, demonstra que eu realmente possuo o número B, sem divulgar nenhuma informação sobre o próprio número.
Em aplicações práticas, o ZKP requer normalmente 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 fatorização ou logaritmos discretos. Com o avanço da criptografia, surgiram várias implementações do ZKP, como o zk-SNARKs e o zk-Starks, oferecendo proteção de privacidade eficaz em diferentes contextos, especialmente nos campos de blockchain e criptomoedas.
A forma básica de prova de conhecimento zero consiste em três elementos: testemunho, desafio e resposta.
Testemunha: Na prova de conhecimento zero, o provador quer demonstrar conhecimento de algumas informações ocultas. Esta informação secreta funciona como a “testemunha” da prova. O provador, com base no seu conhecimento da testemunha, estabelece um conjunto de perguntas que só alguém com conhecimento da informação pode responder. Assim, o provador selecciona aleatoriamente uma pergunta para iniciar a prova, calcula a resposta e envia-a ao verificador.
Desafio: O verificador escolhe aleatoriamente outra pergunta do set e pede ao provador que a responda.
Resposta: O provador recebe a pergunta, calcula a resposta e envia-a 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 está apenas a adivinhar cegamente corretamente por acaso, o verificador seleciona outra pergunta para consulta. Ao repetir este processo várias vezes, a probabilidade de o provador fabricar a verdade reduz muito até que o verificador esteja satisfeito.
No exemplo de chamada telefónica acima mencionado, “eu” sou a testemunha relutante em divulgar informações, enquanto A é o verificador, e o desafio colocado é “Prove que 'eu' possuo o número B.” O processo de resposta envolve “eu” ligar uma chamada ao número B para provar que realmente o tenho.
Como 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 às 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.
Em comparação com outras tecnologias de encriptação, 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, tais como zk-SNARKS, zk-Starks, PLONK e Bulletproofs. Cada tipo tem as suas vantagens e desvantagens em termos de tamanho da prova, tempo de prova e tempo de verificação. Este artigo centra-se na introdução dos quatro tipos mais utilizados em cenários de aplicação.
ZK-SNARKS, que representa “Zero-Knowledge Succinct Non-Interactive Argumento do Conhecimento”, são ferramentas criptográficas utilizadas para provar que alguém conhece uma informação sem revelar nenhuma das informações em si. No zk-SNARKS, “conhecimento zero” significa que o provador pode provar que uma afirmação é verdadeira sem fornecer nenhuma informação que não seja a sua exatidão. “Succinidade” refere-se ao pequeno tamanho da prova e à velocidade do processo de verificação. “Não interativo” significa uma vez que uma prova é gerada, pode ser verificada por qualquer pessoa sem interação adicional entre o provador e o verificador. Os principais componentes do zk-SNARKs incluem:
Os zk-SNARKs são utilizados em vários cenários de preservação da privacidade, tais como criptomoedas com transações anónimas, sistemas de votação seguros, autenticação e partilha de dados que preservam a privacidade e tecnologias de escalabilidade blockchain.
ZK-Starks, ou “Argumentos de Conhecimento Transparentes Escaláveis com Zero Knowledge”, permitem que uma parte (o provador) prove a outra (o verificador) que conhece certas informações sem revelar a própria informação. Ao contrário do zk-SNARKs, os zk-Starks não exigem um processo de configuração fidedigno. Isto significa que não dependem da confidencialidade de certas informações privadas, uma funcionalidade muitas vezes considerada crucial para a segurança, uma vez que a configuração fidedigna pode ser uma vulnerabilidade sistémica.
O ZK-STARK funciona com base em conceitos de vários campos matemáticos, incluindo funções hash, cálculos polinomiais e teoria da correcção de erros. Utilizam uma construção conhecida como “argumento transparente escalável de conhecimento zero”, permitindo a geração de provas sem uma configuração fidedigna. As aplicações potenciais do zk-Starks são semelhantes às dos zk-SNARKs, mas devido à sua escalabilidade e transparência, são particularmente adequadas para aplicações de grande escala, incluindo criptomoedas que preservam a privacidade, tecnologias de escalabilidade blockchain e verificação segura em computação em nuvem.
PLONK, não uma sigla, refere-se aos sobrenomes dos seus criadores. Foi concebido para fornecer uma solução ZKP universal e eficiente, especialmente em aplicações blockchain, tais como contratos inteligentes e transações protegidas pela 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. Emprega um algoritmo especial - um esquema de compromisso polinomial - para criar provas, permitindo que os provadores provem eficientemente que têm os resultados de cálculo corretos para um conjunto de dados.
Uma característica chave do PLONK é a sua universalidade. Uma vez que os parâmetros são definidos para uma tarefa computacional específica (através de uma configuração fidedigna única), podem ser reutilizados várias vezes para criar novas provas, sem a necessidade de novas configurações de cada vez. Isto torna o PLONK altamente eficiente na criação e verificação de provas e é muitas vezes concebido para suportar várias tarefas computacionais em blockchain e outros sistemas distribuídos.
Bulletproofs, uma solução ZKP recém-introduzida, não requer uma configuração confiável e são especificamente concebidos para a construção de provas de alcance e certos tipos de provas aritméticas. Proposto por Benedikt Bunz, Jonathan Bootle, Dan Boneh e outros em 2017, os Bulletproofs operam em construções matemáticas complexas como a encriptação homomórfica e a criptografia de curva elíptica. Aproveitam 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 o seu valor exato. Especialmente no domínio da criptomoeda, isso pode ser usado para provar que os valores das transações estão dentro de um intervalo legal sem expor os valores reais das transações.
Devido à sua característica à prova de gama, os Bulletproofs são amplamente utilizados nos campos de criptomoeda e blockchain, particularmente em moedas de privacidade como o Monero, para ocultar os valores das transações enquanto verifica a legitimidade das transações. Além disso, podem ser empregados noutras aplicações onde é necessária a privacidade numérica.
Vamos entender melhor estas quatro tecnologias diferentes de Prova de Conhecimento Zero (ZKP) — ZK-SNARKS, ZK-Starks, PLONK e Bulletproof — através de uma analogia do mapa do tesouro.
Imagine que tem um mapa do tesouro que leva à localização exata de um tesouro enterrado. 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: Cria um quebra-cabeças complexo do mapa do tesouro. Seleciona uma pequena peça chave deste puzzle (uma prova) e mostra-a à outra parte, suficiente para convencê-la de que sabe como montar o puzzle completo, ou seja, a localização do tesouro, sem revelar todo o puzzle. No entanto, para fazer isso, precisa de marcadores especiais de uma impressora de confiança para provar que a sua peça do puzzle é genuína.
zk-Starks: Mostra uma parte do mapa do tesouro à outra parte, dizendo-lhes que podem usar uma lupa especial (um algoritmo de verificação) para verificar aleatoriamente os detalhes do mapa para verificar se realmente aponta para o tesouro, sem a necessidade de saber a localização exata do tesouro. Esta lupa é tão poderosa que nem as tecnologias futuras (computadores quânticos) podem decifrar o segredo do seu mapa do tesouro.
PLONK: Desta vez, cria um conjunto de enigmas, cada um apontando para a localização do tesouro. Apresenta um método universal de verificação de soluções para estes enigmas (uma configuração universal) à outra parte, suficiente para eles acreditarem que sabe todas as respostas sem ter de resolver cada enigma individualmente.
Bulletproof: Decida provar que sabe o alcance aproximado da localização do tesouro sem revelar a sua posição exata. Fornece uma série de soluções de problemas matemáticos que demonstram o alcance da localização do tesouro. O seu método não requer marcadores especiais ou técnicas de impressão, o que significa que não há exigência inicial de confiança.
Nesta analogia:
Cada método tem as suas compensações 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 de perceber os critérios para avaliar os ZKPs:
Agora, vamos comparar zk-SNARKs, ZK-Starks, PLONK e Bulletproofs com base nestes indicadores e discutir os seus prós e contras.
Prós
Cons
Prós
Cons
Prós
Cons
Prós
Cons
Na Web3, existem muitos casos de aplicação de ZKP, e selecionamos dois casos típicos para estudo.
Os zk-Rollups são uma solução de Camada 2 que empacota 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. O ZK-Sync Era e o 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 detidos por bolsas de criptomoedas ou outras instituições financeiras, garantindo que os ativos registados correspondam aos ativos reais detidos. Inicialmente, as bolsas usavam árvores Merkle e firmas de auditoria terceirizadas para esta verificação, mas este processo dependia de terceiros e poderia vazar dados privados do utilizador, como saldos de contas. Trocas como o Gate.io estão agora a utilizar a tecnologia ZK-SNARKS para provas de reserva, encriptar dados do utilizador e obter números de activos do utilizador através de circuitos zk-SNARK, emitindo assim relatórios completos de prova de reserva.
As diversas soluções da tecnologia de prova de conhecimento zero destacam o seu poderoso potencial na Web3. Da proteção da privacidade de dados ao escalonamento de blockchain, o ZKP é importante para construir uma infraestrutura Web3 segura e eficiente. Embora diferentes abordagens tenham as suas vantagens e limitações, apontam coletivamente para um futuro digital mais confiável e protegido pela privacidade. À medida que a tecnologia avança, os desafios de otimizar o desempenho e a segurança com o ZKP serão gradualmente ultrapassados, indicando o seu papel cada vez mais significativo no mundo digital.