Uma breve história do zero
ZK-SNARKs. ZK-apps. ZK isso. ZK isso.
Essas duas letras, abreviação de provas de conhecimento zero, estão em todo o mundo da criptografia. Cada nova startup aparentemente inclui alguma iteração do ZK em seu pitch deck. Mesmo blockchains estabelecidos como a Polygon, que faz negócios com empresas como Starbucks e Mastercard, comercializaram novos produtos com base nas letras da moda.
Alguns entusiastas de criptomoedas estão tão empolgados com as provas de conhecimento zero que acreditam que "se tornarão uma parte importante do funcionamento da economia" e, eventualmente, serão "ensinados no ensino médio", disse Jason Morton, professor associado de matemática na Penn Estado que está de licença para montar sua própria startup, brincou a Fortune.
E alguns vão ainda mais longe. “As provas de conhecimento zero se tornarão uma parte fundamental da infraestrutura da humanidade”, disse Zooko Wilcox, CEO da Electric Coin Co., que lidera o desenvolvimento da criptomoeda Zcash, à Fortune.
Mas o que as provas de conhecimento zero realmente fazem? E como esse pedaço de matemática confuso se tornou tão, bem, confuso?
Em 1985, os acadêmicos Shafi Goldwasser, Silvio Micali e Charles Rackoff publicaram o que Michael Walfish, professor de ciência da computação na Universidade de Nova York, chamou de "artigo monstruoso". Intitulado "A complexidade do conhecimento dos sistemas de prova interativos", foi a primeira articulação teórica de provas de conhecimento zero, disse ele à Fortune.
A técnica criptográfica, em essência, permite provar que você sabe algo sem revelar o que sabe. Para tornar o abstrato concreto, imagine dois amigos: um daltônico e outro não. Há uma bola vermelha e uma bola azul. A amiga daltônica esconde os dois nas costas, possivelmente misturando-os, apresenta-os e o amigo com melhor visão diz se eles foram trocados. O amigo que está examinando as bolas - adivinhando ou possivelmente mentindo - tem uma chance de cinquenta por cento para escolher a certa. Mas se o exercício for repetido um milhão de vezes, o amigo com a melhor visão quase certamente não conseguirá pegar a bola correta por acaso. No final do exercício, a amiga daltônica ainda tem "conhecimento zero" de qual bola é de qual cor, mas sabe que sua amiga sabe.
Os benefícios de privacidade das provas de conhecimento zero são óbvios. Podemos, por exemplo, manter a propriedade de nossos próprios dados bancários e, por meio de uma prova de conhecimento zero, verificar se calculamos nossas pontuações de crédito corretamente - sem revelar nossas informações bancárias privadas. Ou podemos provar aos empregadores que conhecemos nosso ID do Seguro Social sem mostrar a eles o número de nove dígitos.
No entanto, as provas são complicadas e computacionalmente intensivas para produzir e, por anos, permaneceram no reino da teoria, não da prática.
No início dos anos 1990, os pesquisadores delinearam uma categoria mais geral de provas chamadas provas sucintas, de acordo com Dan Boneh, professor de ciência da computação e engenharia elétrica em Stanford.
Esses cálculos criptográficos permitem que alguém verifique se algo é verdadeiro sem precisar analisar cada declaração. Um auditor pode, por exemplo, certificar-se rapidamente de que alguém enviou corretamente uma declaração de imposto de renda sem ver os dados da declaração ou verificar todas as operações matemáticas.
Como as provas sucintas funcionam é mais difícil de ilustrar por meio de um exemplo concreto do que provas de conhecimento zero. "Sinceridade é mágica", disse Boneh à Fortune. "Não há uma boa explicação física para isso ser possível."
Dito isto, "suficiência", ou necessidade significativamente menor de tempo para provar algo verdadeiro, é o que entusiasma a maioria dos empreendedores e investidores criptográficos. Blockchains como Ethereum são computadores lentos e descentralizados. À medida que os desenvolvedores criam aplicativos mais complexos, o tempo e o poder de computação necessários para executar os aplicativos em blockchains aumentam. Provas sucintas podem resolver esse problema "provando" que o código foi executado corretamente fora da cadeia ou em computadores mais poderosos que não são blockchains.
Por que mencionar provas sucintas ao mesmo tempo que provas de conhecimento zero? O esforço necessário para transformar o primeiro no último é geralmente mínimo, disseram vários criptógrafos à Fortune. Assim, as pessoas tendem a confundir os dois termos.