Análise da aplicação e das perspectivas de desenvolvimento da tecnologia de zk-SNARKs no setor de Blockchain

A aplicação e desenvolvimento da tecnologia de zk-SNARKs no campo do Blockchain

Resumo

zk-SNARKs(ZKP) tecnologia como uma importante inovação no campo da Blockchain, tem recebido ampla atenção nos últimos anos. Este artigo revisa sistematicamente o desenvolvimento da tecnologia ZKP nos últimos quarenta anos, com ênfase na sua aplicação mais recente no campo da Blockchain.

Primeiro, foi apresentada a noção básica de ZKP e o contexto histórico. Em seguida, discutiu-se em detalhe a tecnologia ZKP baseada em circuitos, incluindo o design e a otimização de soluções como zkSNARK, modelo Ben-Sasson, Pinocchio, Bulletproofs e Ligero. No que diz respeito ao ambiente computacional, o artigo apresenta os princípios do ZKVM e ZKEVM e suas aplicações na melhoria da capacidade de processamento de transações, proteção da privacidade e aumento da eficiência de verificação. Também são discutidos em detalhe o mecanismo de funcionamento e os métodos de otimização do ZK Rollup como uma solução de escalabilidade Layer 2, além dos avanços mais recentes em aceleração de hardware, soluções híbridas e ZK EVM dedicados.

Por fim, este artigo antecipa conceitos emergentes como ZKCoprocessor, ZKML, ZKThreads, ZK Sharding e ZK StateChannels, discutindo seu potencial para escalabilidade, interoperabilidade e proteção de privacidade no Blockchain.

Através da análise dessas tecnologias mais recentes e tendências de desenvolvimento, este artigo oferece uma perspectiva abrangente para entender e aplicar a tecnologia ZKP, demonstrando seu enorme potencial para aumentar a eficiência e a segurança dos sistemas Blockchain, fornecendo uma referência importante para decisões de investimento futuras.

Índice

Introdução
Um, conhecimento básico sobre zk-SNARKs Dois, zk-SNARKs não interativos Três, Prova de Conhecimento Zero Baseada em Circuito Quatro, modelo de zk-SNARKs Cinco, Visão geral e desenvolvimento do zk-SNARKs virtual machine Seis, uma visão geral e desenvolvimento do zk-SNARKs Ethereum Virtual Machine Sete, Visão Geral e Desenvolvimento da Solução de Rede de Camada Dois com zk-SNARKs Oitavo, direções futuras de desenvolvimento dos zk-SNARKs Nove, conclusão Referências

Introdução

Com a entrada da Internet na era Web3, as aplicações de Blockchain ( DApps ) estão a desenvolver-se rapidamente, processando diariamente dezenas de bilhões de transações. Os enormes volumes de dados gerados por estas transações frequentemente incluem informações pessoais sensíveis, como identidade do utilizador, montante da transação, endereço da conta e saldo. Devido à abertura e transparência da Blockchain, estes dados são visíveis para todos, o que levanta várias questões de segurança e privacidade.

Atualmente, existem várias tecnologias de criptografia que podem enfrentar esses desafios, incluindo criptografia homomórfica, assinaturas em anel, computação segura multipartidária e zk-SNARKs. Dentre elas, zk-SNARKs (ZKP) é uma solução mais abrangente. ZKP permite verificar a correção de certas proposições sem revelar nenhum dado intermediário. Através do ZKP, o verificador pode confirmar se o provador possui um montante suficiente de transações sem divulgar quaisquer dados de transações privadas.

A característica ZKP desempenha um papel central em transações de blockchain e aplicações de criptomoedas, especialmente na proteção da privacidade e na escalabilidade da rede. Tornou-se não apenas o foco de pesquisa acadêmica, mas também uma área de destaque para aplicações industriais e investimentos de risco. Vários projetos de rede baseados em ZKP surgiram, como ZkSync, StarkNet, Mina, Filecoin e Aleo. Com o desenvolvimento desses projetos, inovações em algoritmos ZKP estão constantemente emergindo, quase toda semana há um novo algoritmo sendo lançado. Além disso, o desenvolvimento de hardware relacionado à tecnologia ZKP também está progredindo rapidamente, incluindo chips otimizados especificamente para ZKP.

Esses avanços indicam que a tecnologia ZKP não é apenas uma importante quebra de paradigma no campo da criptografia, mas também é um motor chave para a realização de aplicações mais amplas da tecnologia Blockchain, especialmente na melhoria da proteção de privacidade e capacidade de processamento. Portanto, decidimos organizar sistematicamente o conhecimento relacionado ao ZKP, para melhor auxiliar as decisões de investimento futuras. Este artigo revisa de forma abrangente os principais artigos acadêmicos e informações sobre projetos líderes relacionados ao ZKP, fornecendo uma base sólida para uma análise sistemática.

Um, zk-SNARKs conhecimentos básicos

1. Visão Geral

Em 1985, Goldwasser, Micali e Rackoff propuseram pela primeira vez os conceitos de zk-SNARKs ( ZKP ) e provas de conhecimento interativas ( IZK ). Eles definiram "conhecimento" como "saída de cálculo não realizável", ou seja, o conhecimento deve ser a saída de funções complexas, geralmente compreendido como um problema NP. O processo de resolução de problemas NP é complexo, mas o processo de verificação é relativamente simples, tornando-o muito adequado para a verificação de ZKP.

Goldwasser e outros propuseram o conceito de "complexidade do conhecimento" para quantificar a quantidade de conhecimento que o provador divulga ao validador. Eles também propuseram o sistema de prova interativa (IPS), onde o provador e o validador interagem em várias rodadas para provar a veracidade de uma afirmação.

As três características básicas do ZKP incluem:

  1. Completude: Se a prova for verdadeira, um provador honesto pode convencer um verificador honesto desse fato.

  2. Confiabilidade: se o provador não souber o conteúdo da declaração, ele só poderá enganar o verificador com uma probabilidade insignificante.

  3. Propriedade de conhecimento: Após a conclusão do processo de prova, o verificador recebe apenas a informação de que "o provador possui este conhecimento", sem obter qualquer conteúdo adicional.

2. Exemplos de zk-SNARKs

Para uma melhor compreensão do ZKP e suas propriedades, aqui está um exemplo que valida se o provador possui certas informações privadas, o qual é dividido em três fases: configuração, desafio e resposta.

Primeiro passo: configurar (Setup) O provador cria uma prova, demonstrando que sabe um certo número secreto s, mas não o revela diretamente. Escolhe dois grandes números primos p e q, calcula n=pq. Seleciona aleatoriamente um inteiro r, calcula x=r^2 mod n e envia ao verificador.

Segundo passo: desafio (Challenge) O validador escolhe aleatoriamente uma posição a(0 ou 1) e envia para o provador.

Terceiro passo: resposta (Response) De acordo com o valor de a, o provador responde:

  • Se a=0, enviar y=r
  • Se a=1, calcule y=rs mod n e envie

Os validadores verificam se x é igual a y^2 mod n( quando a=0) ou y^2v mod n( quando a=1). Se a igualdade for verdadeira, o validador aceita esta prova.

Este exemplo demonstra a integridade, fiabilidade e a propriedade de zero conhecimento do sistema ZKP. Ao repetir este processo várias vezes, a probabilidade de que o provador consiga passar na verificação apenas com base na sorte é reduzida a um nível extremamente baixo.

Dois, zk-SNARKs não interativos

1. Contexto

As ZKP tradicionais são geralmente formas de protocolos interativos e online. No entanto, em alguns cenários, como transações instantâneas ou votação, muitas vezes não há oportunidade para múltiplas interações. Assim, o conceito de prova de conhecimento zero não interativa (NIZK) surgiu.

2.NIZK da proposta

Em 1988, Blum, Feldman e Micali apresentaram pela primeira vez o conceito de NIZK, provando que, sem a necessidade de múltiplas interações, o provador e o verificador ainda podem completar o processo de autenticação. NIZK pode ser dividido em três fases: configuração, computação e verificação.

Na fase de configuração, utiliza-se uma função de cálculo para converter parâmetros de segurança em conhecimento público, geralmente codificados em uma string de referência comum (CRS). A fase de cálculo utiliza a função de cálculo, chaves de entrada e de prova, e gera resultados de cálculo e prova. A fase de verificação valida a validade da prova através da chave de verificação.

3.Transformação Fiat-Shamir

A transformação Fiat-Shamir é um método para converter ZKP interativo em não interativo. Este método reduz o número de interações ao introduzir uma função hash e depende de suposições de segurança para garantir a veracidade da prova e suas características de difícil falsificação. Embora este protocolo seja considerado seguro no modelo de oráculo aleatório, pode enfrentar desafios em aplicações práticas.

4.Jens Groth e sua pesquisa

A pesquisa de Jens Groth impulsionou significativamente a aplicação de ZKP em criptografia e tecnologia Blockchain. Ele e outros pesquisadores propuseram várias melhorias nos esquemas NIZK, como um sistema NIZK perfeito aplicável a qualquer linguagem NP, bem como esquemas NIZK combinados com criptografia homomórfica completa. Essa pesquisa estabeleceu uma base importante para a aplicação prática de ZKP.

5.Outras pesquisas

Além do trabalho de Groth, há várias pesquisas importantes sobre NIZK, incluindo:

  • Esquema de criptografia de chave pública baseado em funções de hash genéricas desenvolvido por Cramer e Shoup
  • Um novo método para a transformação Fiat-Shamir melhorada proposto por Damgård, Fazio e Nicolosi
  • O conceito de "responsabilidade fraca atribuível" proposto por Ventre e Visconti
  • A transformação de Unruh, como uma alternativa à conversão de Fiat-Shamir, oferece segurança NIZK comprovável contra adversários quânticos.
  • Sistema de prova de decisão arbitrária baseado na tecnologia de pesquisa de informação privada de Kalai e outros

Essas pesquisas avançaram significativamente o desenvolvimento da tecnologia NIZK, estabelecendo a base para sua aplicação em áreas como transações financeiras, votação eletrônica e Blockchain.

Três, Prova de Conhecimento Zero Baseada em Circuito

1. Contexto

No campo da criptografia, especialmente ao lidar com tarefas de computação que exigem alta paralelização e tipos específicos de tarefas de computação, o modelo tradicional da máquina de Turing apresenta certas limitações. Em contraste, o modelo de circuito, com suas vantagens estruturais de computação únicas, é mais adequado para determinadas tarefas de processamento criptográfico.

2. Conceitos e características básicas do modelo de circuito

O modelo de circuito transforma o processo de computação em uma série de portas e conexões, onde essas portas executam operações lógicas ou aritméticas específicas. O modelo de circuito é principalmente dividido em duas grandes categorias:

  • Circuito aritmético: composto principalmente por portas de adição e multiplicação, utilizado para processar elementos em um campo finito.
  • Circuito lógico: composto por portas lógicas básicas como portas AND, OR e NOT, utilizado para processar operações booleanas.

3. Design e aplicação de circuitos em zk-SNARKs

No sistema ZKP, o processo de design do circuito envolve a expressão do problema a ser provado como um circuito. Este processo geralmente segue os seguintes passos:

  1. Representação do problema: converter o problema a ser provado em forma de circuito.
  2. Otimização de circuitos: otimizar o design de circuitos através de técnicas como fusão de portas e dobragem de constantes.
  3. Converter para representação polinomial: converter o circuito otimizado em uma forma polinomial.
  4. Gerar a string de referência pública (CRS): na fase de inicialização do sistema, gerar o CRS que inclui a chave de prova e a chave de verificação.
  5. Geração e verificação de provas: o provador gera provas com base na entrada privada e no CRS, e o verificador valida a correção das provas com base na descrição pública do circuito e no CRS.

4. Defeitos e desafios potenciais

Os ZKP baseados em circuitos enfrentam alguns desafios, incluindo:

  • Complexidade e escala do circuito: cálculos complexos requerem circuitos enormes, resultando em custos computacionais significativamente aumentados para a geração e verificação de provas.
  • Dificuldade de otimização: projetar e otimizar circuitos eficientes requer um profundo conhecimento especializado.
  • Adaptabilidade a tarefas de cálculo específicas: diferentes tarefas de cálculo necessitam de diferentes designs de circuitos, o que dificulta a sua generalização.
  • Dificuldade de implementação do algoritmo de criptografia: implementar algoritmos criptográficos complexos pode exigir um grande número de portas lógicas.
  • Consumo de recursos: circuitos em grande escala requerem muitos recursos de hardware.

Para resolver esses desafios, os pesquisadores propuseram algumas direções de melhoria, como técnicas de compressão de circuitos, design modular e aceleração de hardware.

Quatro, zk-SNARKs

1. Contexto

A versatilidade do ZKP baseado em circuitos é relativamente baixa, sendo necessário desenvolver novos modelos e algoritmos para problemas específicos. Existem vários compiladores em linguagens de alto nível e ferramentas de combinação de circuitos de baixo nível para gerar circuitos e projetar algoritmos; a conversão de cálculos relacionados pode ser realizada através de ferramentas de construção de circuitos manuais ou compiladores automáticos.

2. Modelos de algoritmos comuns

  1. Modelo zkSNARK: proposto por Bitansky et al. em 2011, é um mecanismo ZKP melhorado.

  2. O modelo de Ben-Sasson: Modelo ZKP para a execução de programas na arquitetura RISC de von Neumann.

  3. Modelo Pinocchio: um conjunto completo de geração de ZKP não interativo, que inclui um compilador avançado e programas aritméticos secundários (QAPs).

  4. Modelo Bulletproofs: não requer configuração confiável, o tamanho da prova cresce de forma logarítmica com o tamanho do valor da testemunha.

  5. Modelo Ligero: um modelo ZKP leve, cuja complexidade de comunicação é proporcional à raiz quadrada do tamanho do circuito de verificação.

3. Proposta baseada em PCP linear e problema do logaritmo discreto

Este tipo de soluções inclui os modelos Groth16, Sonic, PLONK, Marlin, SLONK e SuperSonic. Estes modelos são baseados em PCP linear e/ou problemas de logaritmo discreto, mas não oferecem segurança contra ataques quânticos.

4. Proposta baseada na prova de pessoas comuns

"Prova de Pessoa Comum" é um novo método de ZKP proposto por Goldwasser, Kalai e Rothblum. Os modelos baseados nesse conceito incluem o modelo Hyrax, o modelo Libra e o modelo Spartan.

5. Prova de conhecimento zero baseada em PCP( verificável por probabilidade )

Esses planos incluem modelos STARK, modelo Aurora, Succinct

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 3
  • Partilhar
Comentar
0/400
GraphGuruvip
· 08-02 06:07
Está a falar novamente sobre zkp
Ver originalResponder0
DegenMcsleeplessvip
· 08-02 06:00
Defi old idiotas, ganhar muito e depois investir novamente
Ver originalResponder0
CryptoCrazyGFvip
· 08-02 05:55
Não faz mal não entender, de qualquer forma é muito bull e é isso!
Ver originalResponder0
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)