
O que é a prova de conhecimento zero e quais são os seus exemplos práticos de utilização em criptomoedas?
Alguma vez apresentou um registo financeiro ou de saúde que incluísse informações privadas embaraçosas, apenas para provar que pode pagar um empréstimo ou que não tem problemas físicos graves? E se pudesse demonstrar que a sua fonte de rendimento é estável e abundante, ou que está de boa saúde, sem ter de revelar que acabou de comprar um frasco de Nutella por 100 $ ou que magoou o joelho depois de cair de bicicleta? Este é um excelente exemplo – e também um potencial exemplo prático – da prova de conhecimento zero.
O que é a prova de conhecimento zero (ZKP)?
Como deve ter percebido pelo nosso exemplo, a prova de conhecimento zero (ZKP) é um método ou processo para comprovar a validade de uma afirmação sem revelar essa mesma afirmação.
Imaginemos que acabou de terminar o Wordle de hoje (sim, as pessoas ainda jogam isso) antes dos seus amigos. Em vez de lhes dizer qual a palavra, basta partilhar a imagem do resultado do Wordle com cinco caixas verdes consecutivas. Desta forma, todos que vissem a imagem saberiam que acertou na palavra, mas ninguém saberia qual é, a menos que já soubesse previamente. O mais prático é que basta partilhar esta imagem uma vez no Twitter e todos saberão que resolveu o problema, sem precisar de interagir consigo (eles nem precisam de conhecê-lo). Esta é a chamada ZKP não interativa, que contrasta com as ZKP interativas, em que os verificadores precisam de se envolver numa série de trocas com os provadores para decidir se estão convencidos.
Escusado será dizer que este mecanismo complexo (interativo e não interativo) criará muitos cenários de uso novos e interessantes, especialmente em setores onde a privacidade é valorizada acima de quase tudo – como é o caso das criptomoedas. Dois dos avanços mais famosos neste campo são os zk-SNARK e os zk-STARK.
zk-SNARK vs. zk-STARK
zk-SNARK significa Zero-Knowledge Succinct Non-Interactive Argument of Knowledge, em que se destaca o termo Non-Interactive (não interativo), o que significa que qualquer pessoa pode verificar uma afirmação sem interagir com o provador. Isto permite que uma rede de blockchain verifique a propriedade das contas, bem como garanta que o remetente de uma determinada transação tenha saldo suficiente, sem revelar endereços ou montantes de transações.
No centro do modelo de segurança dos zk-SNARK estão as curvas elípticas aleatórias. Também é necessária uma configuração de confiança para iniciar um protocolo através de zk-SNARK. Tal envolve a criação de chaves privadas que são posteriormente utilizadas para criar provas para transações e verificações. Como resultado, os zk-SNARK estão sujeitos a ataques quânticos e a fugas de chaves privadas. Posto isto, os zk-SNARK podem reduzir significativamente os tamanhos dos blocos e o consumo de gás e já conquistaram uma grande comunidade desde a sua criação em 2012.
Os zk-STARK, que significa Zero-Knowledge Scalable Transparent Argument of Knowledge, foram introduzidos em 2018. Tal como o nome sugere, os zk-STARK focam-se na escalabilidade e transparência. Os tempos do provador e verificador dos zk-SNARK aumentam de forma linear em função do tamanho da testemunha, mas no caso dos zk-STARK, tal ocorre de forma quase linear, tornando-os muito mais ágeis quando lidamos com grandes conjuntos de dados. Os zk-STARK também aproveitam a aleatoriedade verificável publicamente e as funções de hash, o que significa que não requerem uma configuração inicial de confiança e são resistentes à tecnologia quântica.
Assim, os zk-STARK geram blocos muito maiores e requerem muito mais poder de computação, o que se traduz num maior consumo de gás e maior tempo de verificação. Os zk-STARK também têm muito menos programadores e recursos disponíveis em comparação com o seu irmão mais velho.
Quais são os exemplos práticos de utilização da ZKP em criptomoedas?
Comprovativo de identidade
Não há nenhum sítio com uma concentração maior de dados privados do que as nossas informações de identidade. Normalmente, uma prova de identidade exige que o provador – o utilizador – envie as suas informações de identidade – tudo sobre si, relevante ou não, com detalhes chocantes – ao verificador.
Com as ZKP, por outro lado, tudo o que precisa de fazer é gerar uma credencial que sirva como prova da propriedade e solidez da sua identidade. Os verificadores apenas necessitam de realizar alguns cálculos para verificar a validade da sua credencial, em vez de ter acesso a todas as suas informações pessoais.
Árvore de Merkle da Proof of Reserves
Uma árvore de Merkle é uma árvore binária com dados armazenados nas suas folhas. Cada folha tem o seu próprio valor de hash e esses valores de hash serão classificados em diferentes grupos (nodos) para hashing posterior até que reste apenas um valor – o hash raiz.
Os verificadores só precisam de obter os valores de hash de vários nodos para verificar a integridade de toda a informação na árvore de Merkle, sem mergulhar num oceano de 1 e 0. Este sistema é amplamente utilizado para comprovar que uma corretora possui fundos reservados suficientes e que não transferiu os fundos dos seus traders para outro lugar por motivos duvidosos.
A Bitget sempre deu prioridade aos clientes e a árvore de Merkle da Proof of Reserves da Bitget está disponível para que todos a possam consultar: Proof of Reserves da Bitget.
Para obter mais informações sobre a árvore de Merkle da Proof of Reserves da Bitget, consulte a introdução à árvore de Merkle.
Zk-rollups
Um rollup, como o próprio nome sugere, é uma solução de escalabilidade que agrupa uma coleção de transações numa única transação. Isto permite transações muito mais rápidas e baratas do que, por exemplo, a mainnet do Ethereum. Existem duas fações nas soluções de rollup do Ethereum: otimista e de conhecimento zero. Neste artigo, iremos concentrar-nesta última.
Os rollups de conhecimento zero (zk-rollups) executam cálculos off-chain e enviam apenas uma prova de validade (um "resumo" de todas as transações acumuladas) para a blockchain. Assim que essa prova for verificada on-chain, todas as transações acumuladas serão finalizadas de uma só vez.
Existem vários participantes importantes nas soluções zk-rollup do Ethereum. A Polygon anunciou que a versão beta da sua mainnet zkEVM tem previsão de lançamento para o final de março. Num esforço para fazer frente à Polygon, a zkSync – outra concorrente – abriu as inscrições para programadores na sua "mainnet" apenas um dia após o comunicado da Polygon.
Outros participantes importantes nesta corrida incluem a Loopring, uma corretora descentralizada que oferece alta capacidade de processamento e baixo custo de liquidação, aproveitando o zk-rollup, e a Immutable X, uma solução de camada 2 focada em NFT que oferece uma experiência quase instantânea e sem custos de transação na rede com zk-rollups.
Registe-se agora e comece a fazer trading de Polygon, Loopring, Immutable X, Mina, e muitos outros exploradores no universo do conhecimento zero.
Aviso legal: as opiniões expressas no presente artigo são meramente informativas. Este artigo não constitui o endosso de quaisquer produtos e serviços mencionados, nem aconselhamento de investimento, financeiro ou de trading. Deve consultar profissionais qualificados antes de tomar qualquer decisão financeira.