Evolução da tecnologia zk-SNARKs: da quebra teórica à aplicação de escalabilidade

robot
Geração do resumo em andamento

zk-SNARKs: da teoria à evolução da aplicação

zk-SNARKs的发展历程

O sistema de provas de conhecimento zero teve origem em 1985 com o artigo de Goldwasser, Micali e Rackoff intitulado "A complexidade do conhecimento em sistemas de prova interativa". Este artigo explora a quantidade de conhecimento que precisa ser trocada para provar a veracidade de uma afirmação através de múltiplas interações em um sistema interativo. Se a prova puder ser concluída sem revelar qualquer informação adicional, é chamada de zk-SNARKs.

Os sistemas de zk-SNARKs das fases iniciais tinham eficiência e praticidade limitadas, permanecendo principalmente a nível teórico. Apenas nos últimos 10 anos, com a ampla aplicação da criptografia no campo das criptomoedas, os zk-SNARKs começaram a se tornar uma direção de pesquisa importante. Um objetivo chave é desenvolver protocolos de zk-SNARKs gerais, não interativos e com tamanho de prova limitado.

O avanço revolucionário das zk-SNARKs é o artigo publicado por Groth em 2010, que estabeleceu a base teórica das zk-SNARKs. Em 2015, a Zcash aplicou zk-SNARKs para proteger a privacidade das transações, abrindo a ampla aplicação das zk-SNARKs em cenários práticos.

A partir de agora, alguns resultados acadêmicos importantes incluem:

  • O protocolo Pinocchio de 2013 melhorou significativamente a eficiência da prova e verificação
  • O Groth16 de 2016, que simplificou ainda mais a escala da prova e aumentou a eficiência da verificação.
  • O Bulletproofs de 2017 propôs um algoritmo de prova curta sem necessidade de configuração confiável.
  • Em 2018, foram propostos os protocolos de prova de conhecimento zero zk-STARKs resistentes a computadores quânticos.

Outros desenvolvimentos como PLONK, Halo2, etc., também melhoraram os zk-SNARKs em diferentes aspectos.

HashKey ZK 101 Edição 1: Princípios Históricos e Indústria

zk-SNARKs principais aplicações

As duas aplicações mais amplas de zk-SNARKs atualmente são a proteção de privacidade e a escalabilidade.

As aplicações de transações privadas, como Zcash e Monero, atraíram muita atenção no início, mas a necessidade de privacidade não se destacou tanto quanto o esperado, e esses projetos gradualmente ficaram em segundo plano. Em contraste, a necessidade de escalabilidade tornou-se cada vez mais urgente. Especialmente após a transição do Ethereum 2.0 para uma abordagem centrada em rollup, as soluções de escalabilidade baseadas em zk-SNARKs voltaram a ser o foco da indústria.

transações privadas

Os projetos representativos de transações privadas incluem:

  • Zcash: utiliza zk-SNARKs para implementar a privacidade das transações
  • Monero: utiliza o algoritmo Bulletproofs
  • Tornado Cash: um pool de mistura baseado em Ethereum, utilizando zk-SNARKs

O processo de transações privadas do Zcash inclui etapas como configuração do sistema, geração de chaves, cunhagem, geração de provas de transação, verificação e recebimento. No entanto, o Zcash também apresenta algumas limitações, como ser baseado no modelo UTXO, dificultando a combinação com outras aplicações, e a taxa de uso real de transações privadas não é alta.

Tornado Cash adota um único grande pool de mistura de moedas, oferecendo melhor versatilidade. É baseado na implementação zk-SNARKs Groth16, garantindo que apenas as moedas depositadas possam ser retiradas, e que cada moeda só possa ser retirada uma vez.

HashKey ZK 101 Edição 1: Princípios Históricos e Indústria

escalabilidade

As aplicações de zk-SNARKs na escalabilidade são principalmente zk-rollup. O papel central do zk-rollup é desempenhado pelo Sequencer e pelo Aggregator. O Sequencer é responsável por empacotar transações, enquanto o Aggregator combina um grande número de transações e gera zk-SNARKs para atualizar a árvore de estado do Ethereum.

As vantagens do zk-rollup são custos baixos, alta velocidade de transação e proteção de privacidade. As desvantagens são a grande quantidade de cálculos para gerar provas, e o SNARK requer uma configuração confiável.

Atualmente, os principais projetos de zk-rollup incluem:

  • StarkNet: usa zk-STARKs, não suporta EVM
  • zkSync: utiliza PLONK, suporta EVM
  • Aztec: desenvolveu o protocolo PLONK, priorizando a privacidade
  • Scroll: dedicado a realizar zk-rollups compatíveis com EVM

A compatibilidade com EVM é um grande desafio para os zk-rollups. Atualmente, as principais soluções são duas: ser totalmente compatível com os códigos de operação Solidity ou projetar uma nova máquina virtual amigável a ZK e compatível com Solidity. A melhoria da compatibilidade com EVM terá um grande impacto no desenvolvimento do ecossistema ZK.

HashKey ZK 101 Edição 1: Princípios Históricos e Indústria

Princípio básico dos zk-SNARKs

zk-SNARKs representa "zk-SNARKs". Ele possui as seguintes características:

  • zk-SNARKs: não revela informações adicionais
  • Simples: baixo custo de verificação
  • Não interativo: não requer múltiplas interações
  • Prova: confiável em termos de cálculo
  • Conhecimento: o provador deve saber informações válidas

Os princípios de implementação do zk-SNARKs Groth16 incluem os seguintes passos:

  1. Converter o problema em um circuito
  2. Converter o circuito para a forma R1CS
  3. Converter R1CS para a forma QAP
  4. Gerar parâmetros de configuração confiáveis
  5. Gerar e verificar zk-SNARKs

HashKey ZK 101 Edição 1: Princípios Históricos e Indústria

A tecnologia zk-SNARKs está a desenvolver-se rapidamente e espera-se que venha a desempenhar um papel importante em mais áreas no futuro.

HashKey ZK 101 Edição 1: Princípios Históricos e Indústria

ZK2.45%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)