zk-STARKs

Avançado
Existem dois tipos populares de zero-knowledge (zk) proofs, tamb√©m conhecidos como protocolos zk ou provas de conhecimento zero ‚Äď SNARKs e STARKs. Zero-knowledge proof √© um m√©todo de verifica√ß√£o criptogr√°fica pelo qual uma parte (o comprovador) pode provar √† outra parte (o verificador) que uma determinada afirma√ß√£o √© verdadeira sem revelar nenhuma informa√ß√£o adicional.
O termo zk-STARK refere-se a ‚Äúzero-knowledge scalable transparent argument of knowledge‚ÄĚ. Os zk-STARKs foram concebidos por Eli-Ben Sasson, professor do Technion-Israel Institute of Technology. Ao contr√°rio dos zk-SNARKs, que dependem de uma configura√ß√£o inicial confi√°vel entre um comprovador e um verificador, os zk-STARKs n√£o requerem uma configura√ß√£o inicial confi√°vel, pois dependem de uma criptografia mais enxuta que usa fun√ß√Ķes de hash resistentes a colis√Ķes. Essa abordagem tamb√©m elimina as suposi√ß√Ķes te√≥ricas de que zk-SNARKs, que s√£o computacionalmente caros, podem, teoricamente, ser propensos a ataques realizados por computadores qu√Ęnticos.
Em termos simples, provas zk-STARK apresentam uma estrutura mais direta em termos de suposi√ß√Ķes criptogr√°ficas. No entanto, eles t√™m uma desvantagem significativa: o tamanho dos dados (proof size). Geralmente, eles s√£o de 10 a 100 vezes maiores quando comparados aos zk-SNARKs. Essa diferen√ßa no tamanho dos dados os torna mais caros e pode apresentar limita√ß√Ķes na utiliza√ß√£o da tecnologia para envio de criptomoedas e outras aplica√ß√Ķes.

Aplica√ß√Ķes comuns para zero-knowledge proofs incluem casos em que a privacidade e a seguran√ßa s√£o essenciais. Um exemplo √© a autentica√ß√£o de identidade. O uso de determinados servi√ßos on-line exige a comprova√ß√£o da sua identidade e o direito de acesso a essas plataformas. Isso geralmente requer o fornecimento de informa√ß√Ķes pessoais, como nome, e-mail, data de nascimento, entre outras informa√ß√Ķes.

Zero-knowledge proofs podem simplificar o processo de autentica√ß√£o para plataformas e usu√°rios. Ap√≥s gerar um zk-proof usando inputs p√ļblicos (dados que confirmam a ades√£o do usu√°rio √† plataforma) e inputs privados (dados do usu√°rio), o usu√°rio pode simplesmente apresent√°-lo para autenticar sua identidade sempre que precisar acessar o servi√ßo. Isso melhora a experi√™ncia do usu√°rio e libera as organiza√ß√Ķes da obriga√ß√£o de armazenar grandes quantidades de informa√ß√Ķes pessoais.