O que é zero-knowledge proof e como isso afeta a tecnologia blockchain?
Página Inicial
Artigos
O que é zero-knowledge proof e como isso afeta a tecnologia blockchain?

O que é zero-knowledge proof e como isso afeta a tecnologia blockchain?

Intermediário
Publicado em Jan 18, 2023Atualizado em Nov 16, 2023
7m


Este artigo é um envio da comunidade. O autor é Kenny Li, cofundador da Manta Network, um protocolo de Layer-1 de privacidade programável, fomentado pela tecnologia de zero-knowledge proof (prova de conhecimento zero).  

TL;DR

Zero-knowledge proof (ZKP) é uma tecnologia criptográfica que permite que a veracidade de uma informação seja verificada sem revelar a informação em si. É uma tecnologia cada vez mais importante nos setores de criptomoedas, blockchain e finanças descentralizadas (DeFi), usada para melhorar 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 e trading. Várias blockchains de Layer-1 estão adicionando zkEVMs ou roll-ups baseados em ZKP. A expectativa é que os ZKPs (também conhecidos como provas de conhecimento zero) desempenhem um papel cada vez mais importante no mundo da blockchain e da Web3, já que seus aplicativos devem ser mais amplamente adotados.

Como funciona o protocolo zero-knowledge proof?

Zero-knowledge proof é um método pelo qual uma parte (responsável pela prova) pode provar à outra parte (verificador) que uma afirmação é verdadeira, sem revelar nenhuma informação adicional. Isso é particularmente útil quando a informação é sensível ou confidencial e a parte responsável pela prova não quer que o verificador tenha acesso a ela.

A parte responsável pela prova fornece uma prova matemática que só ela é capaz de gerar e o verificador pode usar essa prova para verificar a veracidade da afirmação. No entanto, não é possível usar essa prova para se obter a informação original.

Imagine um túnel com duas entradas, A e B. Há uma porta trancada com um código secreto bloqueando o único caminho e impedindo que as pessoas caminhem pelo túnel de uma ponta a outra (ou seja, de A até B). Você sabe 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, mas primeiro ela quer que você prove que realmente conhece o código. Nesse caso, ela pode simplesmente parar na frente do túnel e observar você entrar em uma das entradas e sair pela outra. Assim, você a convencerá de que realmente sabe qual é o código secreto.

Por que usar zero-knowledge proofs? 

A popularidade dos protocolos zero-knowledge proof nos setores de blockchain e cripto é impulsionada pela crescente demanda por privacidade e segurança em transações digitais. Com o surgimento da tecnologia blockchain e das criptomoedas, há uma necessidade crescente de verificar transações sem revelar informações confidenciais — os ZKPs são capazes de atender a essa necessidade.

Os ZKPs atraíram maior atenção e interesse nos últimos anos, com o lançamento de muitos protocolos que utilizam essa tecnologia e as principais blockchains desenvolvendo zk-rollups. Um claro sinal da popularidade dos ZKPs pôde ser notado na conferência DevCon 2022, onde mais de 20% de todas as palestras falaram sobre essa tecnologia.

Principais desenvolvimentos

Um desenvolvimento importante no âmbito das provas de conhecimento zero é o crescente uso de zk-SNARKs, um tipo específico de ZKP. Os protocolos zk-SNARKs foram amplamente adotados por várias aplicações do setor DeFi, como transações privadas de tokens e serviços de empréstimos com garantia. Outro grande desenvolvimento dos ZKPs é o maior foco na escalabilidade e no desempenho através de zk-rollups. 

zk-SNARKs

Zk-SNARKs é a sigla para "zero-knowledge succinct non-interactive argument of knowledge" (do inglês, "argumento de conhecimento sucinto não interativo de conhecimento-zero"). Trata-se de um tipo específico de ZKP que permite que uma declaração seja verificada sem revelar nenhuma informação sobre a declaração em si.

Os protocolos zk-SNARKs já foram usados em aplicações como a Zcash e o sistema de pagamento baseado em blockchain da JP Morgan Chase. Eles também têm sido usados como uma forma segura de autenticação de clientes para servidores.

ZK-Rollups

O protocolo zk-rollups é uma solução de escalabilidade para redes blockchain que facilita o agrupamento de várias transações em uma única transação maior, que é registrada na blockchain. Por exemplo, em 2022, a BNB Chain lançou sua rede de testes zkBNB criada com a arquitetura zk-rollups.

A zkBNB é capaz de agrupar centenas de transações em um único lote off-chain e gerar uma prova criptográfica para provar a validade de todas as transações. A solução zk-rollups fornece um equilíbrio entre escalabilidade e segurança e é adequada para configurações com alto nível de escalabilidade e baixa latência.

Casos de uso para zero-knowledge proofs

Os ZKPs já são usados para muitas aplicações diferentes; a expectativa é que outras se tornem realidade no futuro. Alguns dos principais casos de uso da tecnologia ZKP incluem: 

Verificação de identidade digital

Os ZKPs podem ser usados para verificar identidades dos usuários sem revelar nenhuma informação pessoal confidencial. Isso pode ser útil em aplicações como sistemas de votação digital, onde as identidades dos eleitores devem ser verificadas sem comprometer seu anonimato.

Transações que preservam a privacidade

No setor cripto, um dos principais casos de uso dos ZKPs é a permissão de 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 corretora descentralizada (DEX) sem revelar suas identidades ou os detalhes da transação. Isso permite que os usuários usem a plataforma para realizar transações e mantenham sua privacidade.

Transações protegidas

A Zcash é uma criptomoeda que usa ZKPs 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

Também é possível usar zero-knowledge proofs para tokenizar ativos e comprovar a sua propriedade. Por exemplo, um imóvel pode ser tokenizado e qualquer pessoa pode verificar sua propriedade sem precisar revelar publicamente nenhuma outra informação.

Conformidade global

Alguns países têm regulamentos rígidos em relação à coleta e compartilhamento de informações financeiras, o que pode dificultar a adequação de algumas plataformas descentralizadas. Os protocolos ZKPs podem ser usados para compartilhar informações necessárias com os reguladores, enquanto mantêm essas informações ocultas para os demais.

Isso pode ajudar a preencher a lacuna entre plataformas descentralizadas e instituições financeiras tradicionais, facilitando o cumprimento dos regulamentos para o setor DeFi, em várias jurisdições.

Futuro do zero-knowledge proof no setor blockchain

ZKPs provavelmente trarão mais inovações tecnológicas no futuro. Alguns desenvolvimentos futuros notáveis relacionados ao ZKP incluem: 

Layers de privacidade cross-chain

À medida que os ecossistemas blockchain e DeFi continuam crescendo e evoluindo, há uma necessidade crescente de interoperabilidade entre diferentes redes blockchain. As layers de privacidade cross-chain permitirão que as transações sejam realizadas em diferentes blockchains, preservando a privacidade das partes envolvidas.

zk-STARKs

Um aspecto importante é o aumento do uso de zk-STARKs (zero-knowledge scalable transparent argument of knowledge), um tipo mais novo de zero-knowledge proof que é considerado mais eficiente e seguro do que os zk-SNARKs. Outra vantagem dos zk-STARKs sobre os zk-SNARKs é que eles 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 de zero-knowledge proof pode ser complexa e nem toda equipe de desenvolvimento tem experiência nessa área específica da criptografia. Kits de ferramentas ZKP fáceis de usar ajudam a lidar com esse problema e facilitam o uso da tecnologia por desenvolvedores de diferentes áreas. 

Limitações de protocolos zero-knowledge proof

Os ZKPs representam um método exclusivo de verificar a veracidade de informações, preservando a privacidade, mas não fornecem uma garantia de 100%. Embora a probabilidade de verificação seja muito pequena quando o responsável pela prova está mentindo, os usuários devem estar cientes de que os ZKPs não são à prova de falhas.

Além disso, os algoritmos usados para zero-knowledge proofs precisam de muitos recursos computacionais. Para alguns tipos de ZKPs, é necessária computação intensiva, pois eles exigem muitas interações entre os usuários verificadores e os responsáveis pelas provas. Em outros ZKPs, os algoritmos são extremamente complexos em termos computacionais, o que pode limitar as aplicações.

Considerações finais

Os protocolos de zero-knowledge proof estão ganhando notoriedade por conta de suas propriedades únicas de preservação de privacidade e potencial de escalabilidade. É provável que a aplicação crescente dessa tecnologia nos setores de criptomoedas, blockchain e DeFi proporcionará mais serviços inovadores capazes de oferecer muitos benefícios aos usuários. A expectativa é que os ZKPs desempenhem um papel crucial na criação de ecossistemas de DApps mais seguros, privados e eficientes.

Leituras adicionais