Principais conclusões
Uma prova de conhecimento zero permite que uma parte prove a outra que uma afirmação é verdadeira, sem revelar nenhum dado subjacente.
zk-SNARKs são um tipo de protocolo de prova de conhecimento zero usado em criptografia para verificar informações, como saldos de contas, sem expor detalhes privados.
A Binance usa zk-SNARKs combinados com árvores Merkle para permitir que os usuários verifiquem que seus saldos estão incluídos no total da Prova de Reservas, sem divulgar dados de contas individuais.
Além das reservas de uma exchange, provas ZK estão sendo cada vez mais usadas em ZK-rollups, verificação de identidade e sistemas de votação em todo o ecossistema de blockchain.
Introdução
Usuários de blockchain valorizam tanto transparência quanto privacidade. Em muitos casos, esses dois objetivos parecem entrar em conflito: provar que algo é verdadeiro frequentemente exige revelar os detalhes por trás disso. As provas de conhecimento zero oferecem uma forma de resolver essa tensão.
Ao usar protocolos de prova de conhecimento zero como zk-SNARKs junto com estruturas criptográficas de dados como árvores Merkle, é possível provar a validade de uma informação sem divulgar a própria informação. Este artigo explica como essas ferramentas funcionam e como a Binance as aplica à Prova de Reservas.
O que é uma Prova de Conhecimento Zero?
Uma prova de conhecimento zero permite que uma parte (o provador) convença outra parte (o verificador) de que uma afirmação é verdadeira, sem compartilhar qualquer informação sobre o conteúdo dessa afirmação. O conceito surgiu pela primeira vez em um artigo acadêmico de 1985 e desde então se tornou um elemento fundamental da criptografia aplicada.
Uma analogia simples: imagine que você conhece a combinação de um cofre trancado. Você pode provar isso a um amigo abrindo o cofre e lendo uma nota que ele colocou lá dentro, e então fechando-o novamente. Seu amigo agora está convencido de que você sabe a combinação, sem que você diga o que é,
Para uma explicação técnica mais aprofundada, veja o artigo da Academy sobre O que é Prova de Conhecimento Zero e como isso afeta o Blockchain.
Por que as Provas de Conhecimento Zero são úteis?
As provas ZK são úteis em qualquer situação em que você precisa provar uma alegação sem expor dados sensíveis. Em sistemas tradicionais, provar que você possui um ativo ou tem certas credenciais muitas vezes exige compartilhar a informação subjacente, o que cria riscos de privacidade e segurança.
Em criptomoedas, casos de uso comuns incluem:
Provar a posse de uma chave privada sem revelá-la.
Permitir que uma exchange verifique suas reservas totais de usuários sem divulgar os saldos individuais das contas.
Habilitar transações escaláveis de blockchain por meio de ZK-rollups sem publicar todas as transações na cadeia (on-chain).
Essas provas usam algoritmos que recebem dados como entrada e retornam verdadeiro ou falso, sem vazar quaisquer detalhes sobre a própria entrada.
Propriedades Técnicas das Provas de Conhecimento Zero
Uma prova de conhecimento zero válida deve satisfazer três propriedades:
Completude. Se a afirmação for verdadeira, um verificador honesto será convencido pela prova.
Sustentação (soundness). Se a afirmação for falsa, nenhum provador consegue convencer o verificador de que é verdadeira.
Conhecimento zero. Se a afirmação for verdadeira, o verificador não aprende nada além do fato de que ela é verdadeira.
O que é um zk-SNARK?
Um zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) é um tipo de protocolo de prova de conhecimento zero. Ele foi projetado para ser sucinto (tamanho pequeno da prova), não interativo (sem troca entre provador e verificador) e criptograficamente sólido.
Com um zk-SNARK, um provador pode demonstrar conhecimento de um valor oculto, ou que um cálculo foi executado corretamente, sem revelar nada sobre os inputs. No contexto de uma exchange de criptomoedas, isso significa provar que a soma de todos os saldos dos usuários corresponde às reservas alegadas, sem mostrar nenhum saldo individual.
A etapa de verificação é extremamente rápida em comparação com o tempo necessário para gerar a prova em si. Isso torna os zk-SNARKs práticos para aplicações em larga escala, como auditoria de exchanges ou escalabilidade de blockchain.
O que é uma Árvore Merkle?
Uma árvore Merkle é uma estrutura de dados criptográfica que organiza grandes quantidades de dados de forma eficiente. Cada pedaço de dados é convertido em um hash, e esses hashes são combinados em pares até que um único hash de raiz seja produzido. Qualquer alteração em qualquer valor de entrada altera o hash da raiz, tornando fácil detectar adulterações.
Funções de hash
As árvores Merkle dependem de funções de hash para funcionar. O hashing pega uma entrada de qualquer tamanho e produz uma saída de comprimento fixo. A mesma entrada sempre produz a mesma saída. Mesmo uma pequena mudança na entrada produz uma saída completamente diferente.
Por exemplo, executar 100 livros na função de hash SHA-256 produz uma string única de 64 caracteres. Mude um único caractere nesses livros, e a saída muda completamente. Essa propriedade facilita verificar a integridade dos dados sem comparar todo o conteúdo original.
Árvores Merkle em criptomoedas
No blockchain, cada transação é convertida em hash para produzir um nó folha único. Pares de nós folhas são combinados e hash novamente para formar nós de ramificação. Esse processo continua até que uma única raiz Merkle seja produzida. Essa raiz resume criptograficamente todas as transações em um bloco.
Para exchanges, as árvores Merkle fornecem uma forma de organizar os saldos dos clientes para que possam ser auditados sem expor cada conta individual.
As limitações de usar árvores Merkle apenas
Uma exchange de criptomoedas poderia construir uma árvore Merkle a partir de todos os saldos das contas dos clientes para suportar uma Prova de Reservas (PoR). No entanto, sem proteções adicionais, essa abordagem tem fraquezas.
Sem uma camada ZK, uma exchange poderia potencialmente excluir algumas contas da árvore ou inserir contas falsas com saldos negativos para reduzir a responsabilidade total aparente. Um usuário que revisa apenas seu próprio nó folha não teria como detectar isso sem ver todas as outras contas.
Usar um auditor terceirizado confiável é uma solução possível, mas isso exige confiar tanto no auditor quanto nos dados aos quais ele teve acesso.
Como zk-SNARKs e Árvore Merkle funcionam juntos
Combinar zk-SNARKs com árvores Merkle remove a necessidade de confiar em um terceiro. A exchange constrói uma árvore Merkle com todos os saldos dos usuários e, em seguida, gera uma prova zk-SNARK que garante matematicamente:
Cada saldo de usuário está incluído na árvore Merkle (sem contas omitidas).
Nenhum usuário tem saldo líquido negativo (sem dados falsificados).
A raiz Merkle é válida e não foi alterada.
Os usuários podem verificar que o próprio saldo contribuiu para a raiz Merkle. Eles também podem verificar a prova zk-SNARK para confirmar que a árvore foi construída corretamente, sem ver o saldo de ninguém além do próprio.
Como a Binance aplica este sistema
A Binance define as restrições do que deseja provar como um circuito programável. Para cada nó folha de saldo de um usuário na árvore Merkle, o circuito verifica três condições:
Os ativos do usuário estão incluídos no cálculo do saldo líquido total.
O saldo líquido total do usuário é maior ou igual a zero.
A raiz Merkle é válida após incorporar os dados daquele usuário.
Em seguida, a Binance gera uma prova zk-SNARK para a árvore Merkle inteira. Em cada divulgação de Prova de Reservas, a Binance publica a prova Merkle de cada usuário e a prova zk-SNARK junto com suas entradas públicas. Qualquer pessoa pode verificar ambas de forma independente usando código-fonte aberto disponível publicamente.
Essa abordagem fornece garantia matemática, em vez de depender apenas da confiança em auditor.
Aplicações mais amplas além de Prova de Reservas
A tecnologia de provas ZK se expandiu muito além de auditorias de exchanges. ZK-rollups agora são uma das principais abordagens de escalabilidade da Camada 2 no Ethereum, processando transações fora da cadeia (off-chain) e enviando provas ZK para a cadeia principal para confirmar validade. Isso pode aumentar a capacidade (throughput) mantendo a segurança.
Além de escalabilidade, provas ZK estão sendo exploradas para verificação de identidade (provar que você atende a um requisito de idade ou jurisdição sem revelar sua identidade completa), sistemas de votação privada e execução confidencial de contratos inteligentes. A tecnologia ainda está amadurecendo, mas seu potencial de aplicações em finanças, governança e identidade digital é significativo.
Perguntas frequentes (FAQ)
O que é uma prova de conhecimento zero em termos simples?
Uma prova de conhecimento zero permite que você prove que sabe algo, ou que uma afirmação é verdadeira, sem revelar as informações subjacentes. É como provar que você sabe a combinação de um cofre abrindo-o, sem nunca dizer qual é a combinação.
Por que a Binance usa zk-SNARKs para Prova de Reservas?
A Binance usa zk-SNARKs para provar que os saldos dos clientes estão totalmente lastreados sem expor detalhes de contas individuais. A prova ZK fornece verificação matemática de que todas as contas estão incluídas e de que não existem saldos negativos, sem exigir que os usuários confiem em um auditor.
Qual é a diferença entre zk-SNARKs e ZK-rollups?
zk-SNARKs são um tipo de protocolo de prova de conhecimento zero. ZK-rollups são uma solução de escalabilidade da Camada 2 que usa zk-SNARKs (ou provas semelhantes) para agrupar muitas transações e enviar uma única prova de validade para a blockchain principal. zk-SNARKs são a ferramenta criptográfica subjacente; ZK-rollups são uma aplicação dessa ferramenta.
Os usuários conseguem verificar independentemente a Prova de Reservas da Binance?
Sim. A Binance publica a prova Merkle de cada usuário e a prova zk-SNARK junto com suas entradas públicas. Os usuários podem verificar que o saldo deles foi incluído na árvore Merkle e que a prova zk-SNARK confirma que a árvore foi construída corretamente, usando o código-fonte aberto publicado publicamente pela Binance.
As provas de conhecimento zero são usadas apenas para reservas de exchange?
Não. Provas ZK têm uma ampla gama de aplicações. No blockchain, elas são usadas em ZK-rollups para escalabilidade de transações, sistemas de identidade e execução confidencial de contratos. Fora das criptomoedas, elas estão sendo pesquisadas para votação com preservação de privacidade, verificação de idade e validação de credenciais sem divulgação de dados.
Considerações finais
Ao combinar zk-SNARKs com árvores Merkle, as exchanges podem oferecer evidência criptográfica de reservas sem comprometer os dados dos usuários. Além da auditoria de reservas, a tecnologia ZK está encontrando seu lugar na escalabilidade do blockchain, em sistemas de identidade e em governança descentralizada.
Leitura adicional
O que é Prova de Conhecimento Zero e como isso afeta o Blockchain?
zk-SNARKs e zk-STARKs explicados
O que são ZK-Rollups?
O que é Prova de Reservas e como funciona na Binance
Árvores Merkle e Raízes Merkle explicadas
Aviso: Este conteúdo é fornecido a você na base de "como está" apenas para informações gerais e fins educacionais, sem qualquer representação ou garantia de qualquer tipo. Não deve ser interpretado como aconselhamento financeiro, jurídico ou outro aconselhamento profissional, nem tem a intenção de recomendar a compra de qualquer produto ou serviço específico. Você deve buscar seu próprio aconselhamento junto a consultores profissionais apropriados. Quando o conteúdo é contribuído por um terceiro, observe que as opiniões expressas pertencem ao contribuinte terceiro e não necessariamente refletem as da Binance Academy. Os preços de ativos digitais podem ser voláteis. O valor do seu investimento pode subir ou descer e você pode não recuperar o valor investido. Você é o único responsável pelas suas decisões de investimento e a Binance Academy não se responsabiliza por quaisquer perdas que você possa incorrer. Para mais informações, veja nossos Termos de Uso, Aviso de Risco e Termos da Binance Academy.
