Este artigo é um envio da comunidade. O autor é Kenny Li, cofundador da Manta Network, um protocolo programável de camada 1 de privacidade alimentado por tecnologia de prova de conhecimento zero.
As opiniões neste artigo são do colaborador/autor e não refletem necessariamente as da Binance Academy.
DR
A prova de conhecimento zero (ZKP) é uma tecnologia criptográfica que permite verificar a veracidade de uma informação sem revelar a própria informação. Tornou-se uma tecnologia cada vez mais importante em blockchain, criptomoeda e finanças descentralizadas (DeFi) para aumentar a privacidade e a segurança.
Muitos projetos DeFi já estão usando ZKPs para fornecer aos usuários melhor privacidade e segurança para serviços como empréstimos, empréstimos e negociações. Vários blockchains da Camada 1 estão adicionando roll-ups baseados em ZKP ou zkEVMs. Espera-se que as provas de conhecimento zero desempenhem um papel cada vez mais crucial no mundo do blockchain e da Web3, à medida que se espera que suas aplicações se tornem mais amplamente adotadas.
Como funciona a prova de conhecimento zero?
A prova de conhecimento zero é um método pelo qual uma parte (o provador) pode provar a outra parte (o verificador) que uma afirmação é verdadeira sem revelar qualquer informação adicional. Isto é particularmente útil quando a informação é sensível e o provador não quer que o verificador tenha acesso a ela.
O provador fornece uma prova matemática que somente ele pode gerar e o verificador pode usar essa prova para verificar a veracidade da afirmação. No entanto, eles não podem usar a prova para reconstruir a informação original.
Imagine um túnel com duas entradas, A e B. Existe uma porta trancada com um código secreto bloqueando o único caminho e impedindo que as pessoas passem pelo túnel de uma ponta a outra (A a B). Você conhece o código secreto e quer vendê-lo para a Sra. X, que deseja acessar o túnel.
Você quer que ela pague adiantado antes de revelar o código a ela, mas primeiro ela quer que você prove que realmente conhece o código. Nesse caso, ela pode fazer isso ficando na frente do túnel e observando você entrar em uma das entradas e sair pela outra. Dessa forma, ela ficará satisfeita por você realmente conhecer o código secreto.
Exemplo avançado de prova de conhecimento zero
Imagine que você tem um amigo que não consegue distinguir entre as cores vermelho e azul. Você tem duas bolas em exibição: uma vermelha e uma azul. Seu amigo não acredita, porém, que as bolas possam ser distinguidas umas das outras. Você quer provar que são de cores diferentes sem revelar que tem uma bola vermelha e uma azul. Na verdade, você não deseja divulgar nenhuma informação sobre como distingui-los.
Então, como podemos provar que eles podem ser distinguidos e ao mesmo tempo revelar zero conhecimento sobre o processo de identificação ou características definidoras? A resposta é simples. Você pede ao seu amigo para segurar as duas bolas nas costas antes de exibir uma. Eles então colocarão a bola nas costas e escolherão aleatoriamente (50/50) uma das duas para mostrar novamente. Observe que seu amigo sempre saberá se trocou a bola.
Seu amigo então perguntará: “A bola trocou?” antes de confirmar a validade de sua resposta. Depois de dar a resposta correta, seu amigo pode suspeitar que você adivinhou. Eles pedem que você faça isso cinco vezes adicionais, o que significa que a chance de você ter adivinhado corretamente todas as vezes no experimento seria:
As chances parecem mínimas! Para ter certeza, você e seu amigo repetem o processo 15 vezes. As chances de você adivinhar corretamente seriam:
Você teria quase certeza de que a prova está correta neste momento. Se você e o amigo repetirem o experimento uma quantidade infinita de vezes, a chance de você adivinhar corretamente todas as vezes tende a zero.
Portanto, você provou ao seu amigo que as bolas são distinguíveis sem nenhum conhecimento por parte do seu amigo de como isso é feito. Ele pode, no entanto, aceitar a descoberta com confiança.
Por que usar provas de conhecimento zero?
A popularidade das provas de conhecimento zero em blockchain e criptografia é impulsionada pela crescente demanda por privacidade e segurança nas transações digitais. Com o surgimento da tecnologia blockchain e da criptomoeda, há uma necessidade crescente de uma maneira de verificar transações sem revelar informações confidenciais – uma necessidade que os ZKPs podem atender.
As provas de conhecimento zero atraíram maior atenção e interesse nos últimos anos, com muitos protocolos utilizando ZKPs sendo lançados e grandes blockchains construindo roll-ups de conhecimento zero. Um sinal claro da popularidade das provas de conhecimento zero foi visto na conferência DevCon 2022, onde mais de 20% de todas as palestras foram sobre esta tecnologia.
Principais Desenvolvimentos
Um desenvolvimento importante nas provas de conhecimento zero é o aumento do uso de zk-SNARKs, um tipo específico de ZKP. Os zk-SNARKs foram amplamente adotados em várias aplicações DeFi, como transações de tokens privados e empréstimos e empréstimos protegidos. Outro grande desenvolvimento nas provas de conhecimento zero é o maior foco na escalabilidade e no desempenho por meio de zk-rollups.
zk-SNARKs
O argumento de conhecimento sucinto e não interativo de conhecimento zero (zk-SNARKs) é um tipo específico de prova de conhecimento zero que permite que uma afirmação seja verificada sem revelar qualquer informação sobre a afirmação em si.
Os zk-SNARKs já foram usados em aplicativos como o Zcash e o sistema de pagamento baseado em blockchain do JP Morgan Chase. Também tem sido usado como uma forma de autenticar clientes em servidores com segurança.
Zk-Rollups
Zk-rollups são uma solução de escalonamento para redes blockchain que facilita o agrupamento de múltiplas transações em uma única transação maior que é então registrada no blockchain. Por exemplo, a BNB Chain lançou sua testnet zkBNB construída na arquitetura zk-rollup em 2022.
O zkBNB pode agrupar centenas de transações em um único lote fora da cadeia e gerar uma prova criptográfica para provar a validade de todas as transações. zk-rollups fornecem um equilíbrio entre escalabilidade e segurança e são adequados para configurações de alta escala e baixa latência.
Casos de uso para provas de conhecimento zero
As provas de conhecimento zero têm muitos casos de uso, alguns dos quais já foram realizados; espera-se que outros se tornem uma realidade no futuro. Alguns dos principais casos de uso do ZKP incluem:
Verificação de identidade digital
As provas de conhecimento zero podem ser usadas para verificar as identidades dos usuários sem revelar quaisquer informações pessoais confidenciais. Isto pode ser útil em aplicações como sistemas de votação digital, onde as identidades dos eleitores devem ser verificadas sem comprometer o seu anonimato.
Transações que preservam a privacidade
Um dos casos de uso mais populares para provas de conhecimento zero em criptografia é permitir transações que preservam a privacidade. Por exemplo, o aplicativo descentralizado MantaPay (DApp) da Manta Network usa ZKPs para permitir que os usuários façam transações na bolsa descentralizada (DEX) sem revelar suas identidades ou detalhes da transação. Isso permite que os usuários mantenham sua privacidade e ainda possam usar a plataforma para transações.
Transações protegidas
Zcash é uma criptomoeda que usa provas de conhecimento zero para permitir transações protegidas. Nessas transações, os endereços do remetente e do destinatário, bem como os valores das transações, são ocultados da blockchain pública, proporcionando maior privacidade aos usuários.
Tokenização e verificação de propriedade
As provas de conhecimento zero também podem ser usadas para tokenizar ativos e verificar sua prova de propriedade. Por exemplo, uma propriedade pode ser tokenizada e qualquer parte pode verificar a sua propriedade sem revelar publicamente qualquer outra informação.
Conformidade global
Alguns países têm regulamentos rigorosos relativamente à recolha e partilha de informações financeiras, o que pode ser difícil de cumprir pelas plataformas descentralizadas. As provas de conhecimento zero podem ser usadas para compartilhar as informações necessárias com os reguladores, mantendo-as privadas de outras partes.
Isto pode ajudar a preencher a lacuna entre as plataformas descentralizadas e as instituições financeiras tradicionais, tornando mais fácil para o DeFi cumprir os regulamentos em várias jurisdições.
O futuro das provas de conhecimento zero em Blockchain
As provas de conhecimento zero provavelmente trarão novas inovações tecnológicas no futuro. Alguns desenvolvimentos futuros relacionados ao ZKP que merecem atenção incluem:
Camadas de privacidade entre cadeias
À medida que os ecossistemas blockchain e DeFi continuam a crescer e evoluir, há uma necessidade crescente de interoperabilidade entre diferentes redes blockchain. As camadas de privacidade entre cadeias permitirão que as transações sejam realizadas em diferentes redes blockchain, preservando a privacidade das partes envolvidas.
zk-STARKs
Outra área a ser observada é o aumento do uso de zk-STARKs (argumento de conhecimento transparente escalável de conhecimento zero), um tipo mais novo de prova de conhecimento zero que é considerado mais eficiente e seguro do que zk-SNARKs. Outra vantagem dos zk-STARKs sobre os zk-SNARKs é que os primeiros são mais rápidos de verificar e não requerem uma configuração confiável.
Kits de ferramentas fáceis de usar
A tecnologia à prova de conhecimento zero pode ser complexa e nem toda equipe de desenvolvimento tem experiência nesta área específica da criptografia. Kits de ferramentas ZKP fáceis de usar podem ajudar a preencher essa lacuna e tornar mais fácil para desenvolvedores de diferentes origens usarem a tecnologia.
Limitações das provas de conhecimento zero
As provas de conhecimento zero representam um método único de verificar a veracidade das informações e, ao mesmo tempo, preservar a privacidade, mas não oferecem 100% de garantia. Embora a probabilidade de verificação quando o provador está mentindo seja insignificante, os usuários devem estar cientes de que os ZKPs não são à prova de balas.
Além disso, algoritmos usados para provas de conhecimento zero necessitam de recursos computacionais intensos. Em alguns tipos de ZKPs, a computação intensiva é necessária porque exige muitas interações entre verificadores e provadores. Em outros, os algoritmos são extremamente intensos em termos computacionais, o que poderia potencialmente limitar as aplicações dos ZKPs.
Considerações finais
As provas de conhecimento zero estão ganhando atenção rapidamente devido às suas propriedades únicas de preservação da privacidade e potencial de expansão. A crescente aplicação desta tecnologia em blockchain, criptomoeda e DeFi provavelmente trará serviços mais inovadores que beneficiarão enormemente os usuários. Espera-se que as provas de conhecimento zero desempenhem um papel crucial na criação de ecossistemas DApp que sejam mais seguros, privados e eficientes.
Leitura adicional
zk-SNARKs e zk-STARKs explicados
Soluções de escalonamento Blockchain Camada 1 vs. Camada 2