Ao longo da história, tecnologias semelhantes surgiram sempre em simultâneo em busca de resultados semelhantes, mas abordando o problema de forma diferente. Portanto, os adotantes devem se esforçar para examinar cada tecnologia objetivamente quando esse fenômeno de mercado surgir.
Os avanços na criptografia resultaram na criação de novas tecnologias de privacidade que podem ser usadas para proteger a privacidade dos dados. Entre eles estão zk-SNARKs e zk-STARKs. No entanto, cada uma dessas tecnologias tem vantagens e desvantagens que devem ser consideradas ao avaliar e selecionar uma solução de privacidade.
zk-SNARKs são uma categoria de zero-knowledge Proof (Prova de Conhecimento Zero - ZKP) usado para estabelecer a verdade de uma afirmação sem fornecer nenhuma informação sobre a afirmação. Os zk-STARKs são uma alternativa mais contemporânea aos zk-SNARKs que não requerem uma “configuração de confiança”.
Os recursos que distinguem zk-SNARKs de zk-STARKs serão discutidos neste post. Mas antes disso, vamos primeiro entender o conceito de à zero-knowledge Proof.
O que é tecnologia zero-knowledge-proof?
As tecnologias zero-knowledge Proof permitem que uma pessoa demonstre a outra que sabe algo sem que o provador precise revelar a própria informação. Elas são uma tecnologia que melhora a privacidade, pois diminuem a quantidade de informações que devem ser fornecidas entre os usuários. Além disso, é também uma escala porque permite que as provas sejam verificadas em um ritmo mais rápido, pois não incluem a quantidade total de informações para sistemas não privados.
Em termos técnicos, Zero Knowledge Proof (ZKP) é uma técnica de criptografia desenvolvida na década de 1980 pelos acadêmicos do MIT Shafi Goldwasser, Silvio Micali e Charles Rackoff.
Os métodos de zero-knowledge Proof são avaliações probabilísticas, o que significa que elas não estabelecem nada tão conclusivo quanto apenas liberar todas as informações. Em vez disso, elas fornecem dados não vinculáveis que podem ser utilizados para demonstrar que a validade da afirmação é provável.
Atualmente, um site aceita a senha do usuário como entrada e a compara com o hash armazenado. Quando o ZKP é usado, a senha do cliente é desconhecida para o verificador, mas o login ainda pode ser autenticado.
Características do Zero-Knowledge Proof
Zero-Knowledge
Se a afirmação for verdadeira, o verificador não terá ideia. Nesse caso, a informação poderá ser um valor absoluto ou um algoritmo.
Completude
Se a afirmação for verdadeira, um verificador honesto será finalmente persuadido.
Solidez
Se o provador for desonesto, ele será incapaz de persuadir o verificador de que a prova é sólida.
Zk-STARKs e zk-SNARKs são duas das tecnologias de zero-knowledge mais promissoras do mercado atualmente. Zk-STARK significa argumento de conhecimento transparente escalável de zero-knowledge, enquanto zk-SNARK significa argumento de conhecimento não interativo sucinto de zero-knowledge. Este post analisará as principais diferenças entre essas duas tecnologias de conhecimento zero, tanto cultural quanto tecnicamente. Além disso, esses dois métodos de zero-knowledge não são interativos, o que implica que o código pode ser implementado e executado de forma independente.
O que é zk-SNARKS?
Alessandro Chiesa, professor da UC Berkeley, foi coautor de um artigo em janeiro de 2012 que usou o termo zk-SNARK pela primeira vez para descrever as zero-knowledge proofs que eles criaram. Em sua essência, os Zk-SNARKs contam com curvas elípticas para segurança. No entanto, em criptografia, as curvas elípticas são usadas sob a suposição de que é impossível determinar o logaritmo discreto de um elemento de curva elíptica aleatório em relação a um ponto base conhecido publicamente.
Embora tenha havido muita controvérsia sobre se os geradores de números aleatórios de curva elíptica têm uma backdoor, a técnica na totalidade permanece segura. Embora existam vários pontos fracos comuns em ataques de canal lateral, todos eles podem ser tratados com eficiência de várias maneiras.
Os ataques quânticos ameaçam a criptografia de curva elíptica, mas a computação quântica necessária para violar seu modelo de segurança não é comumente acessível.
Os Zk-SNARKs requerem uma configuração confiável além de serem baseados em curvas elípticas. O evento de geração inicial das chaves necessárias para construir as provas exigidas para transações privadas, bem como a verificação dessas provas, é chamado de configuração de confiança. Quando tais chaves são inicialmente estabelecidas, é associado um parâmetro secreto entre a chave de verificação e as chaves que transmitem transações privadas.
Suponha que os segredos utilizados para construir estas chaves durante o evento de configuração de confiança não sejam comprometidos. Nesse caso, eles podem ser usados para fabricar negócios através de verificações falsas, permitindo ao detentor fazer coisas como produzir novos tokens do nada e utilizá-los em transações. Mas, é claro, não haveria método para verificar se os tokens feitos do nada foram de fato trazidos à existência devido às características de privacidade dos zk-SNARKs. Dito isto, uma configuração de confiança só é necessária no início.
Como resultado, os usuários da rede baseada em SNARK devem acreditar que a configuração de confiança foi realizada corretamente, o que implica que os segredos associados à chave de configuração de confiança foram destruídos e já não estão na posse daqueles que observaram a cerimônia. A dependência de uma configuração de confiança é um dos principais motivos de desacordo entre os críticos do SNARK. Por outro lado, os desenvolvedores devem utilizar a configuração de confiança apenas uma vez.
Outra questão importante levantada em relação aos SNARKs é que eles não são quantum resistant. A técnica de privacidade que sustenta os SNARKs será comprometida se a computação quântica se tornar amplamente disponível. Os defensores dos SNARKs apontam corretamente que enfrentaremos obstáculos muito maiores quando os computadores quânticos forem implantados, como quebrar o RSA e a maioria das infraestruturas de carteira.
Apesar dos desafios com a configuração de confiança, os SNARKs foram adotados em uma taxa muito mais rápida do que os STARKs por vários motivos. Anos antes de os STARKs serem encontrados, os SNARKs foram descobertos, dando à tecnologia uma grande vantagem em aceitação. Uma das primeiras iniciativas de ativos digitais, Zcash, promoveu o uso de SNARKs entre os desenvolvedores de blockchain.
Graças ao Zcash e a outros primeiros utilizadores, o SNARKs possui a maioria das bibliotecas de desenvolvedores, código publicado, projetos e desenvolvedores trabalhando ativamente na tecnologia. Os SNARKs são utilizados pela emergente DEX Loopring, além do Zcash. Se um desenvolvedor quisesse começar a usar a tecnologia de zero-knowledge, os SNARKs teriam muito mais suporte do que os STARKs.
Além disso, os SNARKs são projetados para precisar de apenas 24% do gas exigido pelos STARKs, o que implica que a transação utilizando SNARKs seria significativamente mais barata para o usuário final. Finalmente, os SNARKs têm um tamanho de prova substancialmente menor do que os STARKs, exigindo menos armazenamento on-chain.
O que são zk-STARKs?
Enquanto os SNARKs têm algumas vantagens sobre os STARKs em documentação e assistência ao desenvolvedor, os STARKs também têm algumas vantagens. Mas primeiro, observemos o que são os STARKs em conceitos técnicos.
Eli Ben-Sasson, Iddo Bentov, Yinon Horeshy e Michael Riabzev lançaram as primeiras publicações STARK em 2018. Ao contrário dos SNARKs, o mecanismo principal dos STARKs é baseado em funções de hash. O uso de funções de hash proporciona de imediato várias vantagens, como ser quantum resistant. Além disso, não há necessidade de uma configuração de confiança para começar a usar STARKs em uma rede.
Os STARKs, por outro lado, têm tamanhos de prova muito maiores do que os SNARKs, o que implica que a confirmação dos STARKs leva mais tempo e requer mais gas do que os SNARKs.
Além disso, devido à falta de documentação e comunidade de desenvolvedores, os desenvolvedores acharam consideravelmente mais difícil empregar STARKs. Enquanto alguns projetos como STARKWARE estão desenvolvendo soluções de escalabilidade, a comunidade SNARKs ainda é muito maior.
zk-STARKs vs zk-SNARKs: Resumo
O fato de zk-SNARKs exigir criptografia de curva elíptica enquanto zk-STARKs não, é uma distinção significativa entre as duas formas de provas. A criptografia de curva elíptica (ECC) é uma categoria de tecnologia de criptografia que gera chaves criptográficas seguras usando propriedades de curva elíptica. É uma escolha popular para segurança online, pois essas chaves podem ser usadas para criptografar e decodificar dados.
O ECC é mais seguro do que outras formas de criptografia, como RSA, e é mais resistente a ataques de força bruta, que estão se tornando mais difundidos no mundo atual.
Outra distinção entre zk-SNARKs e zk-STARKs é que zk-SNARKs necessitam do uso de uma configuração de confiança. Isso implica que as chaves originais utilizadas para construir as provas devem ser criadas por alguém. Em contraste, os zk-STARKs não necessitam de uma configuração de confiança.
Atualmente, zk-SNARKs são mais populares que zk-STARKs. Isso ocorre porque os zk-SNARKs existem há mais tempo e são mais simples de usar. Em vez de curvas elípticas, sendo mais difíceis de quebrar e precisam de uma configuração de confiança, os STARKs usam funções de hash. Os STARKs, por outro lado, têm um tamanho de prova maior, o que significa que a confirmação de uma prova demora mais e consome mais gas.
Conclusão
Enquanto as comunidades de desenvolvimento SNARKs e STARKs os adotam, a Fundação Ethereum fala muito sobre STARKware, que usa Starks. De fato, a Fundação Ethereum concedeu à STARKware uma doação de US$ 12 milhões, demonstrando seu compromisso com a nova tecnologia.
Além disso, embora a documentação do STARK seja insuficiente em comparação com a documentação do SNARK, a comunidade técnica produziu recentemente uma coleção mais abrangente de recursos para pessoas interessadas em implementar a tecnologia de ponta.
Se você deseja aprender tudo o que há para saber sobre criptomoedas e tecnologia blockchain, as extensas certificações de blockchain são para você. Os cursos fornecem aos alunos informações subjetivas e práticas em um formato fácil de entender. São econômicos e oferecem acesso rápido a um mercado em crescimento
.
Se você quiser acompanhar as tendências da indústria de blockchain, junte-se às nossas comunidades no Discord, Reddit e Telegram.
Este artigo é uma tradução do Smita Verma feita por Arnaldo Campos. Você pode encontrar o artigo original aqui.
Oldest comments (0)