Visão geral
Uma prova de conhecimento zero (ZKP, da sigla em inglês) é um protocolo criptográfico no qual um provador pode convencer um verificador de que um enunciado é verdadeiro sem revelar nenhuma informação além da veracidade do enunciado em si. No contexto do Bitcoin, as ZKPs oferecem melhorias potenciais em privacidade, escalabilidade e verificação entre cadeias, embora sua integração na camada de consenso do Bitcoin permaneça uma área de pesquisa ativa.
O conceito central
Uma prova de conhecimento zero deve satisfazer três propriedades:
- Completude: Se o enunciado é verdadeiro, um provador honesto sempre pode convencer o verificador.
- Solidez: Se o enunciado é falso, nenhum provador desonesto pode convencer o verificador (exceto com probabilidade insignificante).
- Conhecimento zero: O verificador não aprende nada além do fato de que o enunciado é verdadeiro.
Analogia clássica: A caverna de Ali Babá
Entrada
|
┌────┴────┐
| |
Caminho A Caminho B
| |
└────┬────┘
Porta
trancada
(senha
secreta)
1. O provador entra na caverna, escolhe um caminho (desconhecido para o verificador)
2. O verificador chega e grita de qual caminho deve retornar
3. O provador retorna pelo caminho solicitado
- Se conhece a senha: sempre tem sucesso (pode passar pela porta)
- Se não conhece: 50% de chance de falha a cada rodada
4. Após muitas rodadas: o verificador está convencido, mas nunca aprende a senha
Aplicações no Bitcoin
Privacidade
As ZKPs poderiam permitir aos usuários provar que uma transação é válida (entradas >= saídas, sem inflação) sem revelar os valores, remetente ou destinatário. Isso melhoraria dramaticamente a privacidade do Bitcoin sem quebrar suas garantias de auditabilidade.
Escalabilidade
- Provas de validade para sidechains: Uma sidechain poderia enviar uma prova de conhecimento zero para a cadeia principal do Bitcoin demonstrando que todas as transições de estado da sidechain foram válidas, possibilitando âncoras bidirecionais sem confiança.
- Provas do estado da cadeia: As ZKPs poderiam permitir que novos nós verifiquem todo o conjunto UTXO do Bitcoin sem baixar e reproduzir o histórico completo da blockchain (às vezes chamados de "ZK rollups" ou "rollups de validade").
Assinaturas digitais
As assinaturas Schnorr existentes do Bitcoin são na verdade uma forma de prova de conhecimento zero — elas provam o conhecimento de uma chave privada sem revelá-la.
Tipos de ZKP relevantes para o Bitcoin
- zk-SNARKs: Tamanho de prova pequeno e verificação rápida, mas tipicamente requerem uma configuração confiável.
- zk-STARKs: Não requerem configuração confiável, resistentes à computação quântica, mas com tamanhos de prova maiores.
- Bulletproofs: Usados para provas de intervalo em transações confidenciais; sem configuração confiável.
Status atual no Bitcoin
As provas de conhecimento zero ainda não fazem parte das regras de consenso do Bitcoin, mas há pesquisa significativa em andamento. Projetos como ZeroSync estão explorando provas ZK para verificação do estado da cadeia Bitcoin. Qualquer integração na camada de consenso do Bitcoin exigiria revisão cuidadosa e um soft fork para ativar novos opcodes de verificação.
Conceitos errôneos comuns
As provas de conhecimento zero não tratam de "conhecimento zero" no sentido geral — o verificador ainda aprende que o enunciado é verdadeiro. O "conhecimento zero" refere-se especificamente ao fato de que nenhuma informação sobre os dados subjacentes da prova (a "testemunha") é revelada além da validade do enunciado em si.