Zero-knowledge proof
Um zero-knowledge proof é uma forma de demonstrar que algo é verdadeiro sem revelar informações secretas. É uma técnica, não uma criptomoeda nem um token.
O que é um zero-knowledge proof?
Num zero-knowledge proof, há duas partes. O provador cria a prova. O verificador confirma se esta é válida.
O provador utiliza dados secretos e regras de cálculo acordadas. O verificador não precisa de receber esses dados secretos. Uma prova bem concebida demonstra apenas a afirmação escolhida e não revela informações secretas adicionais.
Um exemplo de zero-knowledge proof
Imagine que alguém tem de provar que tem pelo menos 18 anos. Com um zero-knowledge proof, essa pessoa pode demonstrá-lo sem revelar a data de nascimento.
Isto só funciona se os dados relativos à idade forem fiáveis, por exemplo, se forem confirmados por um documento de identidade assinado digitalmente. Por isso, uma prova não torna automaticamente verdadeiros os dados introduzidos pela própria pessoa.
Porque são importantes os zero-knowledge proofs nas criptomoedas?
As aplicações de criptomoedas orientadas para a privacidade podem utilizar provas para demonstrar que uma transação cumpre as regras. Nesse caso, não é necessário tornar públicos todos os dados dessa transação.
As soluções de escalabilidade também utilizam esta técnica. Um zk-rollup pode demonstrar, com uma única prova de validade, que um conjunto de transações foi processado corretamente. Assim, a blockchain de base não tem de repetir todos esses cálculos.
Por isso, o termo surge em notícias sobre privacidade, identidade digital e escalabilidade. ZK não significa que as transações sejam totalmente anónimas: os endereços públicos e outros dados podem revelar informações. Além disso, as provas podem exigir muito poder de cálculo e memória.