zk-SNARKs: O desenvolvimento e as perspectivas de aplicação da tecnologia inovadora do Blockchain

Uma vez que não forneceu nenhuma lista de imagens, não posso inserir imagens no texto. Abaixo está o conteúdo original do texto, sem quaisquer modificações:

Pesquisa sobre o desenvolvimento e aplicação da tecnologia de provas de conhecimento zero no campo da blockchain

Resumo

As provas de conhecimento nulo ( ZKP ) são consideradas uma das inovações mais importantes no campo da blockchain e também são um ponto quente de investimento de risco. Este artigo fornece uma revisão sistemática da história de quase quarenta anos do ZKP e dos seus desenvolvimentos mais recentes.

Primeiro, foi apresentada a noção básica e o contexto histórico do ZKP. A análise focou na tecnologia ZKP baseada em circuitos, incluindo o design, aplicação e otimização de modelos como zkSNARK, Ben-Sasson, Pinocchio, Bulletproofs e Ligero. No que diz respeito ao ambiente computacional, foram introduzidos o ZKVM e o ZKEVM, explorando como eles melhoram a capacidade de processamento de transações, protegem a privacidade e aumentam a eficiência da verificação. Também foi discutido o mecanismo de funcionamento e os métodos de otimização do ZK Rollup como uma solução de expansão Layer 2, além dos últimos avanços em aceleração de hardware, soluções híbridas e ZK EVM dedicados.

Por último, foram abordados conceitos emergentes como ZKCoprocessor, ZKML, ZKThreads, ZK Sharding e ZK StateChannels, discutindo o seu potencial em termos de escalabilidade, interoperabilidade e proteção da privacidade na blockchain.

Através da análise dessas tecnologias e tendências, este artigo fornece uma perspectiva abrangente para entender e aplicar ZKP, demonstrando seu enorme potencial na melhoria da eficiência e segurança dos sistemas de blockchain, oferecendo uma referência importante para decisões de investimento futuras.

Índice

Introdução

Um. Conhecimentos básicos sobre provas de zero conhecimento

  1. Visão Geral
  2. Exemplo de prova de conhecimento nulo

Dois, prova de conhecimento zero não interativa

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

Três, prova de conhecimento nulo baseada em circuitos

  1. Contexto
  2. Conceitos e características básicas do modelo de circuito
  3. Design e Aplicação de Circuitos em Provas de Conhecimento Zero
  4. Defeitos e desafios potenciais

Quatro, modelo de prova de conhecimento zero

  1. Contexto
  2. Modelos de algoritmos comuns
  3. Proposta baseada no problema PCP linear e no logaritmo discreto
  4. Proposta baseada em prova de pessoas comuns
  5. Prova de conhecimento nulo verificável baseada em probabilidade
  6. Classificação da fase de configuração baseada em CPC

Cinco, Visão geral e desenvolvimento da máquina virtual de conhecimento zero

  1. Contexto
  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 da Máquina Virtual Ethereum de Zero Conhecimento

  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 do esquema de rede de segunda camada de conhecimento zero

  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 da prova de conhecimento zero

  1. Acelerar o desenvolvimento do ambiente de computação
  2. A proposta e o desenvolvimento do ZKML
  3. Desenvolvimento relacionado à 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, processando diariamente bilhões de transações. Os vastos dados gerados por essas transações geralmente contêm informações pessoais sensíveis. Devido à abertura e transparência da blockchain, esses dados estão acessíveis a todos, levantando uma variedade de 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 multipartidária segura e provas de conhecimento zero. Dentre elas, as provas de conhecimento zero são uma solução mais abrangente, permitindo validar a veracidade de certas proposições sem revelar quaisquer dados intermediários. Através do ZKP, o validador consegue verificar se o provador possui uma quantia suficiente de transações sem divulgar quaisquer dados privados de transação.

A característica ZKP desempenha um papel central em transações de blockchain e aplicações de criptomoedas, especialmente nas áreas de proteção de privacidade e escalabilidade da rede, tornando-se um foco de pesquisa acadêmica e uma pista de investimento de risco. Com o desenvolvimento de projetos como ZkSync e StarkNet, inovações algorítmicas relacionadas ao ZKP surgem constantemente, com relatos de novos algoritmos sendo lançados quase toda semana. 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 o 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. Portanto, decidimos organizar sistematicamente o conhecimento relacionado ao ZKP para melhor auxiliar nas 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 a redação.

I. Conhecimentos Básicos sobre Provas de Conhecimento Zero

1. Visão Geral

Em 1985, Goldwasser, Micali e Rackoff propuseram pela primeira vez o conceito de prova de conhecimento zero (ZKP) e prova de conhecimento interativa (IZK). Eles definiram "conhecimento" como "saída computacionalmente não viável", ou seja, o conhecimento deve ser a saída de uma função complexa, geralmente entendida como um problema NP. O processo de resolução de problemas NP é complexo, mas o processo de verificação é simples, o que o torna muito adequado para a verificação ZKP.

Goldwasser e outros introduziram o conceito de "complexidade do conhecimento" para quantificar a quantidade de conhecimento que o provador revela ao verificador. Eles também propuseram o sistema de prova interativa (IPS), onde o provador e o verificador 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 é 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. Zero-knowledge: Após a conclusão do processo de prova, o verificador obtém apenas a informação de que "o provador possui este conhecimento", sem conseguir obter qualquer conteúdo adicional.

2. Exemplo de prova de conhecimento nulo

Abaixo está um exemplo de verificação de se um provedor de prova possui certas informações privadas, dividido em três fases: configuração, desafio e resposta.

Primeiro passo: configurar

O provedor cria uma prova, demonstrando que conhece o número secreto s, mas não o exibe diretamente.

Escolha dois grandes números primos p e q, calcule N=pq. Calcule v=s^2 mod N e envie v ao validador. Escolha aleatoriamente um inteiro r, calcule x=r^2 mod N e envie para o validador.

Passo dois: Desafio

O validador escolhe aleatoriamente um lugar a(0 ou 1) e envia-o ao provedor de provas.

Passo três: Resposta

De acordo com o valor de a, o provador responde:

Se a=0, o provador envia y=r. Se a=1, o provador calcula y=rs mod N e envia.

O validador verifica se y^2 mod N é igual a xa^v mod N com base no y recebido. Se a igualdade for verdadeira, o validador aceita essa prova.

Este exemplo demonstra a integridade, fiabilidade e propriedade de conhecimento zero do sistema ZKP.

Dois, Prova de Conhecimento Zero Não Interativa

1. Contexto

Os ZKP tradicionais geralmente requerem múltiplas interações para completar a autenticação. No entanto, em certos cenários, como transações instantâneas ou votação, muitas vezes não há oportunidade para interações múltiplas, especialmente em aplicações de blockchain, onde a funcionalidade de verificação offline se torna particularmente importante.

2. Proposta de NIZK

Em 1988, Blum, Feldman e Micali propuseram pela primeira vez o conceito de prova de conhecimento zero não interativa (NIZK), provando que, sem a necessidade de múltiplas interações, o provador e o verificador ainda podem completar o processo de autenticação. 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 os 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 produz resultados de cálculo e provas. Na fase de verificação, a validade da prova é verificada através da chave de verificação.

3. Transformação Fiat-Shamir

A transformação Fiat-Shamir é um método que converte ZKP interativo em não interativo. Este método reduz o número de interações ao introduzir funções hash e baseia-se em suposições de segurança para garantir a autenticidade da prova e suas características de dificuldade de 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 propôs o primeiro sistema NIZK perfeito aplicável a qualquer linguagem NP, projetou um sistema NIZK simples e eficiente, reduzindo significativamente o tamanho do CRS e da prova. Groth também explorou como combinar criptografia homomórfica completa com NIZK, propondo uma solução para reduzir os custos de comunicação.

5. Outras pesquisas

Em cenários de aplicação específicos, os NIZK de validadores específicos demonstraram um valor prático único. Por exemplo, o esquema de criptografia de chave pública desenvolvido por Cramer e Shoup efetivamente resiste a ataques de criptografia seletiva. Damgård e outros propuseram um novo método para melhorar a transformação de Fiat-Shamir, permitindo a realização de NIZK sem a necessidade de interação direta. O conceito de "confiabilidade fraca atribuível" proposto por Ventre e Visconti aumentou a dificuldade de enganar. A transformação de Unruh é uma alternativa à transformação de Fiat-Shamir, fornecendo NIZK comprovadamente seguro contra adversários quânticos no modelo de oráculo aleatório.

Três, Prova de Conhecimento Nulo Baseada em Circuito

1. Antecedentes

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 demonstra certas limitações. Em contraste, o modelo de circuito, com suas vantagens estruturais de computação únicas, é mais adequado para algumas tarefas de processamento criptográfico específicas.

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

O modelo de circuito transforma o processo de cálculo 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:

  1. Circuito aritmético: composto principalmente por portas de adição e multiplicação, utilizado para processar elementos sobre um campo finito.
  2. 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 provas de conhecimento nulo

No sistema ZKP, o processo de design de circuitos envolve expressar o problema a ser provado como um circuito. O processo de design 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 do circuito através de técnicas como fusão de portas e dobragem de constantes.
  3. Converter para a representação polinomial: converter o circuito otimizado para a forma polinomial.
  4. Gerar a string de referência pública (CRS): gerar CRS incluindo a chave de prova e a chave de verificação.
  5. Geração e verificação de provas: o provador gera a prova com base na entrada privada e na CRS, e o verificador valida a correção da prova com base na descrição do circuito público e na CRS.

4. Defeitos e desafios potenciais

Os ZKP baseados em circuitos enfrentam os seguintes desafios:

  1. Complexidade e escala do circuito: cálculos complexos requerem circuitos enormes, resultando em um aumento significativo nos custos computacionais de geração e verificação de provas.
  2. Dificuldade de otimização: projetar e otimizar circuitos eficientes requer um conhecimento especializado profundo.
  3. Adaptabilidade de tarefas computacionais específicas: diferentes tarefas computacionais exigem diferentes designs de circuito, o que torna difícil a sua generalização.
  4. Dificuldade de implementação de algoritmos de criptografia: implementar algoritmos criptográficos complexos pode exigir um grande número de portas lógicas.
  5. Consumo de recursos: circuitos de grande escala exigem muitos recursos de hardware, podendo enfrentar limitações na implementação de hardware real.

As soluções e direções de melhoria incluem: tecnologia de compressão de circuitos, design modular e aceleração de hardware.

Quatro, Modelo de Prova de Conhecimento Zero

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árias ferramentas de compiladores de linguagens de alto nível e ferramentas de combinação de circuitos de baixo nível para gerar circuitos e projetar algoritmos, e a conversão dos cálculos relevantes 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 e outros, como a abreviatura de "prova de conhecimento não interativa de zero conhecimento e concisa".

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

  3. Modelo Pinocchio: um conjunto completo de geração de provas de conhecimento zero não interativas, incluindo um compilador avançado.

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

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

ZK-3.26%
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
  • 7
  • Compartilhar
Comentário
0/400
GasFeeCryervip
· 07-19 22:14
gás又subir ao céu了
Ver originalResponder0
WalletWhisperervip
· 07-19 20:44
Privacidade é poder
Ver originalResponder0
GigaBrainAnonvip
· 07-19 17:04
ZK é realmente o remédio do futuro
Ver originalResponder0
MrDecodervip
· 07-18 05:36
O futuro do ZK é promissor
Ver originalResponder0
BlockchainGrillervip
· 07-18 05:35
Comunidade da cadeia velho cozinheiro
Ver originalResponder0
Deconstructionistvip
· 07-18 05:22
Está muito básico e enrolando.
Ver originalResponder0
NFTDreamervip
· 07-18 05:21
Blockchain de consórcio também tem que ser falado
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)