Uma Tecnologia-Chave que Impulsiona a Privacidade em Blockchain
A privacidade tornou-se um dos desafios mais importantes nos sistemas digitais. Desde aplicações de mensagens a finanças descentralizadas, os utilizadores estão a exigir mais controlo sobre os seus dados. Em blockchain, onde a transparência está incorporada no sistema, isto cria uma tensão. Como provar que algo é válido sem revelar a informação real? É aqui que entram as provas de conhecimento zero.
As provas de conhecimento zero, ou ZKPs, oferecem uma forma de confirmar que algo é verdadeiro sem revelar quaisquer detalhes. São utilizados em criptomoedas focadas na privacidade, identidade descentralizada e nas soluções de escalonamento que impulsionam a próxima geração do Ethereum.
O que são as Provas de Conhecimento Zero
Uma prova de conhecimento zero é um método criptográfico que permite a uma parte, chamada provador, provar à outra parte, o verificador, que uma afirmação é verdadeira sem revelar porque é verdadeira ou que dados a comprovam.
Pense assim: quer provar que sabe uma palavra-passe sem mostrar a palavra-passe real. Ou provar que tem mais de 18 anos sem mostrar a sua data de nascimento. As provas de conhecimento zero tornam isto possível.
O conceito vem da investigação académica em criptografia na década de 1980, mas só recentemente se tornou suficientemente prático para utilização no mundo real.
Como funcionam as provas de conhecimento zero
Cada ZKP envolve duas funções. O provador detém o segredo ou a informação a verificar. O verificador é quem quer ser convencido de que o provador está a dizer a verdade.
Um protocolo ZKP deve cumprir três condições
Integridade
Se a declaração for verdadeira e ambas as partes seguirem o protocolo honestamente, o verificador será convencido
Solidez
Se a declaração for falsa, nenhum provador desonesto deve ser capaz de enganar o verificador
Conhecimento zero
O verificador não deve aprender nada além do facto de que a declaração é verdadeira
Uma analogia comum é a Caverna de Ali Babá. Imagine uma gruta circular com uma porta trancada no meio. O provador afirma conhecer a palavra secreta que abre a porta. Para o provar, entra na gruta enquanto o verificador espera do lado de fora. De seguida, o verificador pede ao provador que regresse pelo caminho da esquerda ou da direita. Se o provador souber realmente a palavra, poderá sempre obedecer, independentemente do caminho que o verificador escolher. Repita isto várias vezes e o verificador fica confiante de que o provador conhece o segredo, sem nunca ouvir a palavra.
Tipos de Provas de Conhecimento Zero
Existem diferentes tipos de ZKPs, dependendo da forma como são construídos e para que são utilizados
Provas interativas de conhecimento zero
Exigem comunicação em tempo real entre o provador e o verificador, geralmente em várias rondas
Conhecimento zero não interativo Provas
Permitem ao provador gerar uma prova que qualquer pessoa pode verificar posteriormente, utilizando aleatoriedade partilhada ou um processo de configuração
zk-SNARKs
São provas pequenas e rápidas que verificam rapidamente. São amplamente utilizadas em moedas de privacidade como o Zcash e em soluções Ethereum Layer 2. SNARK significa argumento sucinto e não interativo de conhecimento
zk-STARKs
Esta é uma versão mais recente, mais transparente e que não requer uma configuração fiável. Os STARK são escaláveis, eficientes e resistentes ao quantum
Onde são utilizadas as provas de conhecimento zero
Os ZKPs já estão a causar um grande impacto nas aplicações blockchain e Web3
Privacidade em blockchain
O Zcash utiliza provas de conhecimento zero para ocultar valores e endereços de transações, ao mesmo tempo que prova que a transação é válida
Escalabilidade no Ethereum
zk-Rollups como zkSync e Polygon zkEVM batch milhares de transações numa só e, em seguida, utilize um ZKP para comprovar que tudo era válido. Isto reduz os custos de gás e a carga da rede.
Verificação de identidade
Pode comprovar que é cidadão ou maior de idade sem revelar o seu nome, número de identidade ou data de nascimento. Os ZKP ajudam a construir sistemas de identidade que preservam a privacidade
Autenticação
Os sistemas de login podem confirmar os seus direitos de acesso sem transmitir palavras-passe ou dados pessoais
Votação
As provas de conhecimento zero podem garantir que um voto foi válido e contado sem expor quem o votou ou o que escolheram
Benefícios das Provas de Conhecimento Zero
Privacidade
Pode provar que algo é verdadeiro sem revelar informações pessoais informações
Segurança
Como nenhum dado sensível é partilhado, há menos risco de fuga ou uso indevido desses dados
Eficiência
ZKPs podem comprimir cálculos complexos numa pequena prova que pode ser verificada rapidamente. Isto é essencial para escalar sistemas blockchain
Minimização da confiança
Os ZKPs permitem a verificação sem a necessidade de uma autoridade central ou de terceiros. Isto está alinhado com os valores fundamentais da descentralização
Desafios e limitações
Embora os ZKP sejam poderosos, ainda estão numa fase inicial de adoção e apresentam alguns obstáculos
Complexidade
Exigem técnicas criptográficas avançadas que nem sempre são fáceis de implementar correctamente
Custo computacional
Alguns tipos de provas requerem tempo e recursos significativos para serem gerados e verificados, embora isto esteja a melhorar rapidamente
Configuração fiável
Alguns sistemas, como o zk-SNARKs, dependem de uma configuração inicial fiável. Se estiverem comprometidos, podem afetar a segurança de todo o sistema.
Adoção
Muitos utilizadores e programadores ainda não estão familiarizados com o funcionamento dos ZKPs, e poucas ferramentas são fáceis de utilizar para principiantes.
Provas de Conhecimento Zero na Web3 e o que vem aí
A tecnologia de conhecimento zero está rapidamente a tornar-se parte da infraestrutura central da Web3. A Ethereum está a liderar o movimento com zk-Rollups como zkSync, Scroll e zkEVM da Polygon. Os sistemas de identidade descentralizados estão a integrar ZKPs para tornar os logins mais seguros e menos invasivos. Estão a ser concebidos novos protocolos com arquiteturas nativas de ZK para conformidade, privacidade e desempenho. Os zk-STARKs oferecem um caminho de atualização a longo prazo para projetos preocupados com a segurança quântica. Nos próximos anos, as provas de conhecimento zero podem tornar-se tão comuns nas criptomoedas como as assinaturas digitais são hoje. Permitem-nos ultrapassar o dilema entre transparência e privacidade, proporcionando aos utilizadores confiança e controlo ao mesmo tempo.