A Parábola da Caverna de Ali Baba
Para entender melhor o conceito de zk-SNARKs e zk-STARKs, podemos recorrer à parábola da caverna de Ali Baba. Essa parábola foi introduzida em um artigo chamado “Como explicar protocolos de conhecimento zero para crianças” e ilustra o conceito de provas de conhecimento zero.
Imagine uma caverna em forma de anel com uma única entrada e uma porta mágica que separa os dois caminhos laterais. Para passar pela porta mágica, é necessário sussurrar as palavras secretas corretas. Agora, suponha que Alice queira provar para Bob que ela conhece as palavras secretas, mas sem revelá-las. Bob concorda em esperar do lado de fora enquanto Alice entra na caverna e segue por um dos caminhos possíveis. Neste exemplo, ela decide seguir pelo Caminho 1.
Depois de um tempo, Bob caminha até a entrada e grita de qual lado ele quer que Alice apareça (Caminho 2, neste caso). Se Alice realmente conhece o segredo, ela aparecerá de forma confiável no caminho que Bob mencionou. Esse processo pode ser repetido várias vezes para confirmar que Alice não está escolhendo o caminho certo por sorte.
Essa parábola ilustra o conceito de provas de conhecimento zero, que são parte dos protocolos zk-SNARK e zk-STARK. As provas de conhecimento zero podem ser usadas para provar a posse de determinado conhecimento sem revelar qualquer informação sobre ele.
zk-SNARKs: Provas de Conhecimento Zero Succinctas e Não Interativas
Os zk-SNARKs, que significam “argumento de conhecimento zero sucinto e não interativo” em inglês, são amplamente utilizados na criptomoeda Zcash. Ao contrário de outras criptomoedas que utilizam técnicas de assinaturas em anel para manter a privacidade, o Zcash utiliza zk-SNARKs para permitir transações criptografadas que ainda podem ser verificadas como válidas.
As provas de conhecimento zero permitem que uma pessoa prove para outra que uma afirmação é verdadeira sem revelar qualquer informação além da validade da afirmação. Essas provas são compostas por um “provador” e um “verificador”, e a afirmação mantida em segredo é chamada de testemunha. O objetivo principal dessas provas é revelar o mínimo possível de dados entre as duas partes.
Dentro do acrônimo SNARK, “sucinto” significa que essas provas são pequenas em tamanho e podem ser verificadas rapidamente. “Não interativo” significa que há pouca ou nenhuma interação entre o provador e o verificador. Diferentemente das versões mais antigas dos protocolos de conhecimento zero, que exigem uma comunicação contínua entre o provador e o verificador, as provas zk-SNARK são não interativas.
Atualmente, as provas zk-SNARK dependem de uma configuração inicial confiável entre o provador e o verificador. Isso significa que um conjunto de parâmetros públicos é necessário para construir as provas de conhecimento zero e, consequentemente, as transações privadas. No entanto, isso cria um possível problema de centralização, pois os parâmetros muitas vezes são formulados por um grupo muito pequeno.
Embora a configuração inicial confiável seja fundamental nas implementações atuais de zk-SNARK, os pesquisadores estão trabalhando para encontrar alternativas que reduzam a quantidade de confiança necessária no processo. A fase de configuração inicial é importante para prevenir gastos falsos, pois se alguém tiver acesso à aleatoriedade que gerou os parâmetros, poderá criar provas falsas que parecem válidas para o verificador. No Zcash, essa fase é conhecida como “Cerimônia de Geração de Parâmetros”.
No que diz respeito aos “Argumentos de Conhecimento” do acrônimo, os zk-SNARKs são considerados computacionalmente sólidos, o que significa que um provador desonesto tem uma chance muito baixa de enganar o sistema sem ter o conhecimento (ou testemunha) para sustentar sua afirmação. Essa propriedade é conhecida como “solidez” e assume que o provador possui poder computacional limitado.
Teoricamente, um provador com poder computacional suficiente poderia criar provas falsas, e é por isso que os computadores quânticos são considerados uma ameaça para osO que são zk-SNARKs e zk-STARKs: Uma Explicação Completa e os sistemas de blockchain.
As provas de conhecimento zero são rapidamente verificáveis e geralmente ocupam menos espaço de dados do que uma transação Bitcoin padrão. Isso abre caminho para que a tecnologia zk-SNARK seja usada tanto como uma solução de privacidade quanto de escalabilidade.
zk-STARKs: Provas de Conhecimento Zero Transparentes e Eficientes
As zk-STARKs foram criadas por Eli-Ben Sasson, professor do Technion-Israel Institute of Technology. Como uma versão alternativa das provas zk-SNARK, as zk-STARKs são consideradas uma variante mais eficiente da tecnologia, potencialmente mais rápidas e baratas dependendo da implementação. Mas, mais importante, as zk-STARKs não requerem uma configuração inicial confiável (daí o “T” para transparente).
Tecnicamente falando, as zk-STARKs não requerem uma configuração inicial confiável porque dependem de criptografia mais enxuta, por meio de funções hash resistentes a colisões. Essa abordagem também elimina as suposições numéricas dos zk-SNARKs, que são computacionalmente caras e teoricamente suscetíveis a ataques de computadores quânticos.
Em outras palavras, as provas zk-STARK apresentam uma estrutura mais simples em termos de suposições criptográficas. No entanto, essa nova tecnologia apresenta pelo menos uma desvantagem importante: o tamanho das provas é maior em comparação com as zk-SNARKs. Essa diferença no tamanho dos dados pode apresentar limitações dependendo do contexto de uso, mas é provavelmente algo que pode ser resolvido à medida que a tecnologia é testada e investigada.
Considerações Finais
Tanto os zk-SNARKs quanto os zk-STARKs são soluções promissoras para a crescente preocupação com a privacidade. No mundo das criptomoedas, esses protocolos têm um grande potencial e podem abrir caminho para a adoção em massa. A privacidade é uma das principais preocupações dos usuários de criptomoedas, e as provas de conhecimento zero oferecem uma maneira segura de realizar transações sem comprometer a privacidade dos usuários. Com os zk-SNARKs e zk-STARKs, as criptomoedas podem se tornar ainda mais seguras e confiáveis.