O zk-STARK é um tipo de prova criptográfica altamente segura que utiliza os princípios de Zero Knowledge Proofs (ZKP) para criar dados criptografados que podem ser facilmente verificados sem revelar informações confidenciais sobre esses dados e, o melhor de tudo, com resistência à computação quântica garantindo a sua segurança num futuro não tão distante.

As provas (ou protocolos) de conhecimento zero (ZKP) evoluíram muito desde o seu início, e uma dessas evoluções são os zk-STARKs. zk-STARK é a sigla de Zero-Knowledge Scalable Transparent Arguments of Knowledge. Este é um termo que em português significa; Prova de Conhecimento Zero com Argumentos ​​Transparentes Escaláveis. Este conceito refere-se a uma derivação das conhecidas provas zk-SNARKs que projetos como Zcash usam na sua blockchain, para fornecer um alto grau de privacidade e anonimato, e que já estudamos anteriormente.

No entanto, os zk-STARKs são mais do que uma pequena derivação, na verdade são uma melhoria significativa aos zk-SNARKs. E não apenas porque são menos complexos de executar, mas porque são mais seguros e até resistentes à computação quântica. Simplificando, são o futuro imediato das provas de conhecimento zero, especialmente se quisermos estar protegidos da tecnologia de computação quântica cada vez mais próxima.

Mas como funciona um zk-STARKs? Quais são as suas vantagens e riscos? Que projetos de blockchain estão considerando usá-los num futuro próximo? Bem, saberá disso abaixo.

zk-STARKS, uma melhoria para algo que já é surpreendente

Como mencionamos no início, zk-STARKs são uma melhoria das conhecidas provas zk-SNARKs. Uma melhoria necessária devido à enorme complexidade algorítmica, matemática e criptográfica que as provas zk-SNARKs representam. É verdade que zk-SNARKs são provas excelentes e muito seguras, mas são muito complexas ao nível algorítmico. É tanto que mesmo os especialistas em criptografia têm dificuldade em detectar erros.

O que foi dito acima pode parecer algo incrível, mas é a verdade, e isso ficou claro quando Zcash, apresentou um erro muito sério no seu código. O erro em questão permitiu que qualquer pessoa criasse criptomoedas do zero. Dessa forma, o que todos nós acreditávamos ser impossível em criptomoedas, gerando moedas do nada, um pequeno erro na criptografia zk-SNARK de Zcash tornou isso possível.

No entanto, para alguma garantia dos desenvolvedores do Zcash, o bug era tão complexo de detectar que apenas algumas pessoas no mundo teriam o conhecimento para detectar e explorar o bug. De certa forma, eles evitaram o desastre de uma avalanche de moedas "falsas" apenas porque a criptografia é tão complexa que poucos entendem. Mas esta situação está longe de ser ideal e deve ser evitada a todo custo, porque "Segurança por obscuridade" não é segurança real.

A extrema complexidade é inimiga da segurança

Por outro lado, este facto também colocou ênfase numa realidade: zk-SNARKS pode se tornar o pior inimigo de moedas de privacidade como Zcash. E é que, embora seja difícil admitir, que um sistema de segurança criptográfico seja tão complexo de depurar, não é bom. Felizmente, essa é uma realidade que já era conhecida muito antes desse erro, e foi o que levou ao desenvolvimento dos zk-STARKs.

A seguir falaremos com mais detalhes sobre a origem dos zk-STARKS e como podem oferecer mais segurança, com menos complexidade.

O início da criptografia poderosa, mas simples

Para conhecer os primórdios dos zk-STARKs é necessário voltar ao ano de 1990, quando começaram os primeiros trabalhos com estas provas. Nesse momento, a pesquisa preliminar e o desenvolvimento da tecnologia zk-STARKs começou. No entanto, esses sistemas iniciais revelaram ser impraticáveis.

Não foi até queEli Ben-Sasson, Iddo Bentov, Yinon Horesh e Michael Riabzev, apresentaram em 2018, o seu trabalho conjunto"Scalable, transparent, and post-quantum secure computational integrity"(em português, escalável, transparente e integridade computacional segura pós-quântica). O trabalho apresentado é único, demonstrando uma construção criptográfica sólida, ultrapassando em muito as conhecidas provas Zcash zk-SNARKs. E o melhor de tudo: eram muito mais fáceis de aplicar e mais seguras do que as suas contrapartes.

Alcançariam isto com uma abordagem muito mais elementar sobre como criar uma prova de conhecimento zero. Mais especificamente, dispensar a construção de um espaço de trabalho criptográfico altamente confiável ou “caixa preta”. O que parece contrário a qualquer princípio de segurança criptográfica, foi aplicado neste novo sistema. Mas, ao mesmo tempo, esta decisão permitiu reduzir a complexidade do sistema, o trabalho necessário à sua concretização, e não renunciou à segurança, pelo contrário, permitiu novas formas de oferecer mais.

Desta forma e fazendo uso de criptografia homomórfica, Computação multipartidária segura (MPC) e provas interativas, estes pesquisadores, conseguiram projetar o zk-STARK. Simplificando, zk-STARK é a união de pelo menos 50 anos de pesquisa de criptografia. Uma obra influenciada por mentes tão brilhantes como as deShafrira Goldwasser e Silvio Micali. 

Assim, com esta abordagem aventureira, o zk-STARK iniciaria o seu caminho para se tornar um rival digno do zk-SNARK, visando ser o sistema de criptografia que muitas criptomoedas usarão no futuro, um futuro que poderia ser dominado por computadores quânticos.

O que significa zk-STARK?

O termo zk-STARK pode ser dividido da seguinte forma:

  1. zk, como em conhecimento zero e com grande ênfase na preservação da privacidade, 
  2. Escalável (S - Scalable), uma vez que a prova é de um tamanho relativamente "pequeno" (ou aceitável) e a verificação leva exponencialmente menos tempo do que a execução de cálculos ingénuos (ou seja, é quase instantâneo, mesmo para provas grandes)
  3. Transparente (T - Transparent)pois não há requisitos para uma configuração confiável, como nos sistemas zk-SNARK.
  4. Argumento (AR - ARgument), como num esquema de prova criptográfica computacionalmente segura que atinge a integridade e a robustez de uma linguagem específica.
  5. Conhecimento (K - Knowledge)pois é baseado em declarações relacionadas a informações publicamente conhecidas. 

Usos de sistemas zk-STARK

O principal uso de sistemas de provas de conhecimento, como zk-STARK, concentra-se na criação de sistemas altamente seguros e privados. Sistemas onde existe uma descentralização total da informação, e só pode ser acedida sob uma série de condições claramente expressas. Condições que também são difíceis de alcançar por meios não convencionais, como um hack.

Isto obviamente inclui sistemas como criptomoedas, onde o uso de criptografia não apenas permite a segurança da rede, mas também protege os usuários da rede, fornecendo-lhes privacidade e anonimato conforme o caso. E é justamente neste último que os zk-SNARK brilham, pois como todas as provas de conhecimento zero, são perfeitas para privacidade e anonimato por não revelar a informação de forma alguma, mas ao mesmo tempo deixando uma ferramenta para validar a transação de forma inequívoca e determinística. Quer dizer, zk-STARK não revela as informações que criptografa, mas poderá sempre validar a sua veracidade, não importa o quê.

Melhora a escalabilidade das blockchains

Outro uso possível dos zk-STARK está em impulsionar a escalabilidade da blockchain, permitindo que a evidência criptográfica ocupe menos espaço. Em criptomoedas como o Bitcoin, em que o tamanho do bloco é uma limitação do número de transações que podem ser processadas por segundo, isto é vital. Com provas criptográficas menores, as transações também ocupam menos espaço e mais transações podem caber em cada bloco. O efeito torna-se maior à medida que é aplicado a milhares de transações, melhorando assim a escalabilidade. No entanto, esta é apenas uma parte de uma solução de escalabilidade, uma vez que provas criptográficas menores não farão com que a blockchain aumente drasticamente o seu desempenho.

Outros usos possíveis deste tipo de sistema seriam, por exemplo, sistema de streaming protegido por direitos de autor totalmente criptografado e seguro. Com isso, os sistemas de criptografia atuais baseados em criptografia principalmente simétrica não seriam necessários. Os sistemas de votação eletrónica também se beneficiam muito com estes tipos de sistemas. Isto graças ao facto de permitirem que o eleitor emita o seu voto, pode ser verificado, mas de forma alguma saberemos quem o emite.

Como pode ver, o potencial do zk-STARK não está apenas no mundo da blockchain, mas também muito além.

Quanto sabes, criptonauta?

As provas ZKP como o zk-STARK serão um padrão de criptografia no futuro?

VERDADEIRO!

O avanço da computação quântica está se a aproximar cada vez mais do fim das provas criptográficas assimétricas, conforme as aplicamos até agora. Novos protocolos como ZKP e zk-STARK serão, sem dúvida, a base da nova criptografia que irá protegerá o nosso mundo digital e isso também implica a blockchain.

Algumas diferenças entre zk-STARK e zk-SNARK

  1. Os zk-SNARKs requerem uma fase de configuração confiável, enquanto os zk-STARKs usam aleatoriedade publicamente verificável para criar sistemas de computação verificáveis ​​e confiáveis.
  2. Zk-STARKs são mais escaláveis ​​em termos de velocidade computacional e tamanho em comparação com zk-SNARKs.
  3. Zk-SNARKs são vulneráveis ​​a ataques de computadores quânticos devido à criptografia que usam. Os zk-STARKs são atualmente resistentes a computadores quânticos.

Outros aspectos importantes podem ser vistos na tabela comparativa a seguir, onde podemos ver os diferentes campos onde o zk-STARK se destaca em comparação com outras provas ZKP conhecidas.

zk-STARK e suas diferenças de outros sistemas

zk-STARK e suas aplicações hoje em dia

Certamente achou surpreendente tudo o que o zk-STARK nos oferece, mas infelizmente a tecnologia é tão nova (2018) que não foi exaustivamente testada, estudada e ainda não é aplicada em nenhum sistema de produção real. Nem mesmo no mundo das criptomoedas.

De momento, o único utilitário conhecido para o zk-STARK está a ser desenvolvido porStarkware, uma empresa criada pelos designers da zk-STARK. O objetivo é projetar uma base de prova que habilite a tecnologia para uso em blockchain, exchanges descentralizadas e muito mais. No entanto, demoraremos mais alguns anos até que possamos ver a tecnologia aplicada nesses espaços. O futuro da criptografia zk-STARK certamente aponta para ser promissor.