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

zk-SNARKs技术在Blockchain领域的发展与应用:全面文献综述

Resumo

zk-SNARKs(ZKP) tecnologia como uma inovação importante no campo do Blockchain, desempenha um papel crucial na melhoria da proteção da privacidade e escalabilidade. Este artigo apresenta uma revisão sistemática da trajetória de pesquisa e dos avanços mais recentes do ZKP nos últimos quarenta anos.

Primeiro, são apresentados os conceitos básicos e o histórico do ZKP, com uma análise detalhada da tecnologia ZKP baseada em circuitos, incluindo o design e a aplicação de modelos como zkSNARK, Pinocchio e Bulletproofs. No que diz respeito ao ambiente computacional, discute-se como o ZKVM e o ZKEVM podem melhorar a capacidade de processamento de transações e a eficiência de verificação. O artigo também apresenta o funcionamento e os métodos de otimização do ZK Rollup como uma solução de escalonamento Layer 2, assim como os últimos avanços em aceleração de hardware, soluções híbridas e ZK EVM dedicados.

Por fim, foram abordados conceitos emergentes como ZKCoprocessor, ZKML, ZKThreads, ZK Sharding e ZK StateChannels, explorando seu potencial em relação à escalabilidade, interoperabilidade e proteção de privacidade no Blockchain.

Ao analisar essas tecnologias 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 segurança dos sistemas Blockchain, fornecendo uma referência importante para decisões de investimento futuras.

Índice

Prefácio

Uma, conhecimentos básicos sobre zk-SNARKs

  1. Visão Geral
  2. zk-SNARKs exemplo

Dois, zk-SNARKs não interativos

  1. Fundo
  2. A proposta de NIZK
  3. Transformação Fiat-Shamir
  4. Jens Groth e a sua pesquisa
  5. Outras pesquisas

Três, prova de conhecimento zero baseada em circuitos

  1. Contexto
  2. Conceitos e características básicas do modelo de circuito
  3. Design e aplicação de circuitos em zk-SNARKs
  4. Defeitos e desafios potenciais

Quatro, modelo de zk-SNARKs

  1. Contexto
  2. Modelos de algoritmos comuns
  3. Proposta baseada em PCP linear e problemas de logaritmo discreto
  4. Proposta baseada em provas de pessoas comuns
  5. Prova de conhecimento zero verificável baseada em probabilidade ( PCP )
  6. Classificação da fase de configuração da construção de prova genérica CPC( )

Cinco, visão geral e desenvolvimento da máquina virtual zk-SNARKs.

  1. Fundo
  2. Classificação do ZKVM existente
  3. Paradigma de Frontend e Backend
  4. Vantagens e desvantagens do paradigma ZKVM

Seis, Visão Geral e Desenvolvimento do zk-SNARKs na Máquina Virtual Ethereum

  1. Contexto
  2. Como funciona o ZKEVM
  3. O processo de implementação do ZKEVM
  4. Características do ZKEVM

Sete, Visão Geral e Desenvolvimento da Solução de Rede de Camada Dois com zk-SNARKs

  1. Contexto
  2. O mecanismo de funcionamento do ZK Rollup
  3. Desvantagens e otimizações do ZK Rollup

Oitavo, as direções futuras de desenvolvimento dos zk-SNARKs

  1. Acelerar o desenvolvimento do ambiente de computação
  2. A proposta e o desenvolvimento do ZKML
  3. Desenvolvimento relacionado com a tecnologia de escalabilidade ZKP
  4. O desenvolvimento da interoperabilidade ZKP

Nove, Conclusão

Referências

Introdução

Com a chegada da era Web3, as aplicações de Blockchain (DApps ) estão a desenvolver-se rapidamente, com um grande número de novas aplicações a surgirem todos os dias. Nos últimos anos, as plataformas de Blockchain têm suportado diariamente milhões de atividades de utilizadores, processando dezenas de bilhões de transações. Os enormes dados gerados por essas transações geralmente contêm informações pessoais sensíveis, como identidade do utilizador, montante da transação, endereço da conta e saldo. Dada a abertura e transparência do Blockchain, os dados armazenados 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 multi-party segura e zk-SNARKs. Dentre elas, zk-SNARKs é uma solução mais abrangente, pois permite verificar a veracidade de certas proposições sem revelar quaisquer dados intermediários. Através do ZKP, o verificador pode confirmar se o provedor possui um montante de transação suficiente sem divulgar quaisquer dados de transação privados.

A característica do ZKP faz com que ele desempenhe um papel central nas transações de blockchain e nas aplicações de criptomoedas, especialmente em termos de proteção de privacidade e escalabilidade da rede, tornando-se não apenas o foco de pesquisa acadêmica, mas também uma pista de destaque para aplicações industriais e investimento de risco. Com o surgimento de projetos de rede baseados em ZKP, como ZkSync, StarkNet e Mina, as inovações algorítmicas em torno do ZKP estão surgindo constantemente. Além disso, o desenvolvimento de hardware relacionado ao ZKP também está progredindo rapidamente, incluindo chips otimizados especificamente para ZKP.

Esses avanços indicam que a tecnologia de zk-SNARKs não é apenas uma importante quebra de paradigma no campo da criptografia, mas também uma força motriz crucial para a realização de aplicações mais amplas de Blockchain. Assim sendo, este artigo visa sistematicamente organizar o conhecimento relacionado ao ZKP, a fim de auxiliar futuras decisões de investimento. Revisamos de forma abrangente os principais artigos acadêmicos e as informações de projetos líderes relacionados ao ZKP, proporcionando uma base sólida para a redação deste artigo.

Uma, Fundamentos de zk-SNARKs

1. Visão Geral

Em 1985, Goldwasser, Micali e Rackoff propuseram pela primeira vez o conceito de zk-SNARKs (ZKP) e interative zero-knowledge proof (IZK). Eles definiram "conhecimento" como "saída de um cálculo não realizável", ou seja, o conhecimento deve ser a saída de uma função complexa, geralmente compreendida como um problema NP. O sistema ZKP possui três características básicas:

  1. Completude: Se a prova é 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 muito pequena.

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

2. zk-SNARKs exemplo

Para uma melhor compreensão do ZKP e suas propriedades, aqui está um exemplo de verificação de um provador para saber se ele possui certas informações privadas, dividido em três fases: configuração, desafio e resposta:

Primeiro passo: configurar O provador escolhe dois grandes números primos p e q, calcula n=p*q. Escolhe um número inteiro aleatório r, calcula x=r^2 mod n, e envia para o verificador.

Segundo passo: desafio O validador seleciona aleatoriamente um bit a(0 ou 1) e envia ao provador.

Terceiro passo: resposta De acordo com o valor de a, o provador calcula e envia a resposta: Se a=0, enviar r Se a=1, calcule e envie y=r*s mod n

Os validadores realizam a verificação com base nas respostas recebidas. Este processo pode ser repetido várias vezes para reduzir a probabilidade de que o provador passe na verificação por adivinhação.

Dois, prova de conhecimento zero não interativa

1. Contexto

Os ZKP tradicionais geralmente exigem várias interações para concluir a autenticação. No entanto, em certos cenários, como transações instantâneas ou votações, muitas vezes não é possível realizar múltiplas interações, especialmente em aplicações de Blockchain, onde a funcionalidade de verificação offline se torna especialmente importante.

2. Proposta de NIZK

Em 1988, Blum, Feldman e Micali propuseram pela primeira vez o conceito de prova não interativa de conhecimento zero ( 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.

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 funções de hash, e baseia-se em suposições de segurança para garantir a veracidade da prova e sua dificuldade de falsificação.

4. Jens Groth e sua pesquisa

A pesquisa de Jens Groth impulsionou enormemente a aplicação de ZKP em criptografia e tecnologia Blockchain. Ele propôs o primeiro sistema NIZK perfeito aplicável a qualquer linguagem NP e projetou um sistema NIZK conciso e eficiente, reduzindo significativamente o tamanho do CRS e das provas.

5. Outras pesquisas

Outras pesquisas incluem o esquema de criptografia de chave pública desenvolvido por Cramer e Shoup utilizando funções de hash universais, o método de transformação Fiat-Shamir aprimorado proposto por Damgård e outros, assim como o conceito de "confiabilidade fraca atribuível" apresentado por Ventre e Visconti.

Três, prova de conhecimento nulo baseada em circuitos

1. Contexto

Ao lidar com tarefas de computação que exigem alta paralelização e tipos específicos de cálculos, o modelo tradicional da máquina de Turing apresenta certas limitações. Em comparação, o modelo de circuitos, com suas vantagens estruturais únicas de computação, é mais adequado para algumas tarefas específicas de processamento criptográfico.

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

Os modelos de circuitos dividem-se principalmente em duas grandes classes:

  • Circuito aritmético: composto principalmente por portas de adição e multiplicação, usado 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 de circuitos envolve a expressão do problema a ser provado como um circuito e a garantia da precisão dos resultados de cálculo através de restrições polinomiais. Este processo inclui a representação do problema, a otimização do circuito, a conversão para representação polinomial, a geração da string de referência pública (CRS), bem como a geração e verificação da prova.

4. Defeitos e desafios potenciais

Os principais desafios enfrentados pelos ZKP baseados em circuitos incluem a complexidade e a escala dos circuitos, a dificuldade de otimização, a adaptabilidade a tarefas computacionais específicas, a dificuldade na implementação de algoritmos criptográficos e o consumo de recursos. As soluções incluem tecnologia de compressão de circuitos, design modular e aceleração de hardware.

Quatro, zk-SNARKs modelo

1. Fundo

A generalidade do ZKP baseado em circuitos é relativamente baixa, sendo necessário desenvolver novos modelos e algoritmos para problemas específicos. Existem várias ferramentas de compiladores de linguagens de alto nível e de combinação de circuitos de baixo nível para geração e design de circuitos.

2. Modelos de Algoritmos Comuns

Os principais modelos de zk-SNARKs incluem:

  1. modelo zk-SNARKs
  2. O modelo de Ben-Sasson
  3. Modelo Pinocchio
  4. Modelo Bulletproofs
  5. Modelo Ligero

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

Este tipo de soluções inclui:

  1. Modelo Groth16
  2. Modelo Sonic
  3. Modelo PLONK
  4. Modelo Marlin
  5. Modelo SLONK
  6. Modelo SuperSonic

4. Proposta baseada na prova de pessoas comuns

  1. Modelo Hyrax
  2. Modelo Libra
  3. Modelo Spartan

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

  1. Modelo STARK
  2. Modelo Aurora
  3. Modelo Aurora Succinct
  4. Modelo Fractal

6. Classificação da fase de configuração da construção de prova genérica CPC(

  • Primeira geração )G1(: cada circuito precisa de uma configuração de confiança separada.
  • Segunda geração )G2(: configurar inicialmente todos os circuitos uma vez.
  • Terceira geração )G3(: sistema de prova que não requer configuração confiável.

) Cinco, Visão geral e desenvolvimento da máquina virtual zk-SNARKs

1. Antecedentes

ZKVM é uma máquina virtual focada em ZKP, que expande as funcionalidades da VM tradicional, podendo generalizar a redução da barreira de desenvolvimento de circuitos ZKP, sendo capaz de gerar provas instantaneamente para qualquer aplicação ou cálculo.

2. Classificação do ZKVM existente

Principalmente dividido em três categorias:

  1. ZKVM de tipo mainstream: como RISCZero, PolygonMiden, zkWASM, etc.
  2. ZKVM equivalente ao EVM: como o projeto zkEVM.
  3. zk-SNARKs otimizado ZKVM: como Cairo-VM, Valida, TinyRAM, etc.

3. Paradigma de Front-end e Back-end

Os sistemas ZKP geralmente podem ser divididos em duas partes: front-end e back-end. O front-end utiliza principalmente linguagens de baixo nível para representar linguagens de alto nível, enquanto o back-end é um sistema de prova criptográfica que converte os circuitos descritos na linguagem de baixo nível construída pelo front-end em provas geradas e validação da correção.

4. Vantagens e desvantagens do padrão ZKVM

As vantagens incluem o uso de ISA existente, suporte a múltiplos programas com um único circuito, circuitos de estrutura repetida, entre outros. As desvantagens incluem os custos trazidos pela generalidade, operações de alto custo, custos elevados de prova, entre outros.

Seis, Visão geral e desenvolvimento do zk-SNARKs na máquina virtual Ethereum

1. Contexto

O ZKEVM é projetado especificamente para o Ethereum, sendo utilizado principalmente para verificar a correção da execução de contratos inteligentes, enquanto protege a privacidade das transações. As principais soluções ZKEVM incluem STARKWARE, ZkSync, Polygen-Hermez, Scroll, entre outras.

2. Como funciona o ZKEVM

O fluxo de trabalho do ZKEVM inclui o processamento do programa do nó, a geração da prova ZK, a agregação da prova e o envio para o contrato L1.

3. O fluxo de implementação do ZKEVM

O processo de implementação inclui etapas como obter dados, processar dados, gerar provas, provas recursivas e submeter provas.

4. Características do ZKEVM

As principais características do ZKEVM incluem o aumento da capacidade de processamento de transações, proteção de privacidade e validação eficiente.

Sete, resumo e desenvolvimento do plano de rede de segunda camada zk-SNARKs

1. Contexto

ZK Rollup é uma forma de bloco

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 6
  • Compartilhar
Comentário
0/400
BearMarketSagevip
· 07-12 08:12
Ter snark é o melhor.
Ver originalResponder0
RektRecordervip
· 07-12 08:12
A zkvm que recomeça, será que é promissora?
Ver originalResponder0
GasFeeCryvip
· 07-12 08:09
zksnark YYDS veja o post para mais detalhes
Ver originalResponder0
UnluckyValidatorvip
· 07-12 08:03
Só de olhar a cabeça já dói... quem já fez nós de validação entende.
Ver originalResponder0
GateUser-3824aa38vip
· 07-12 07:57
Não é apenas empacotar código e hardware?
Ver originalResponder0
SignatureDeniedvip
· 07-12 07:51
zk pode resolver o maior ponto de dor atual
Ver originalResponder0
  • 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)