Os últimos avanços e perspectivas de aplicação da tecnologia zk-SNARKs no campo da Blockchain

Revisão da tecnologia zk-SNARKs e sua aplicação no campo da Blockchain

Resumo

zk-SNARKs(ZKP) tecnologia é amplamente considerada uma das inovações mais importantes no campo do Blockchain, e também tem sido um foco importante de investimento de risco nos últimos anos. Este artigo fornece uma revisão sistemática do desenvolvimento da tecnologia ZKP ao longo de quase 40 anos e das pesquisas mais recentes.

Primeiro, foram apresentados os conceitos básicos do ZKP e o contexto histórico. Em seguida, foi feita uma análise detalhada da tecnologia ZKP baseada em circuitos, incluindo o design, aplicação e métodos de otimização de modelos como zk-SNARKs, Ben-Sasson, Pinocchio, Bulletproofs e Ligero. No que diz respeito ao ambiente computacional, este artigo introduz 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. O artigo também descreve o funcionamento e os métodos de otimização do zero conhecimento Rollup(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 dedicado.

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

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

Índice

Prefácio

Um. Conhecimentos básicos sobre zk-SNARKs

  1. Resumo
  2. zk-SNARKs exemplo

Dois, zk-SNARKs não interativos

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

Três, zk-SNARKs baseados 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 problema do logaritmo discreto
  4. Proposta baseada em prova 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( baseada em )

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

  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 do zk-SNARKs na Máquina Virtual do 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 do esquema de rede de segunda camada de zk-SNARKs

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

Oitavo, direções futuras do 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. Desenvolvimento da interoperabilidade ZKP

Nove, conclusão

Referências

Prefácio

A Internet está entrando na era Web3, com aplicações de blockchain (DApps) a desenvolver-se rapidamente. Nos últimos anos, as plataformas de blockchain têm suportado diariamente atividades de milhões de usuários, processando bilhões de transações. Essas transações geram uma grande quantidade de dados sensíveis relacionados à identidade dos usuários, montantes das transações, endereços de contas e saldos. Devido à abertura e transparência do blockchain, os dados armazenados são acessíveis a 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 multipartidária segura e zk-SNARKs. A criptografia homomórfica permite realizar operações sem decifrar o texto cifrado, ajudando a proteger a segurança do saldo da conta e do montante das transações, mas não consegue proteger a segurança do endereço da conta. As assinaturas em anel oferecem uma forma especial de assinatura digital que pode ocultar a identidade do signatário, protegendo assim a segurança do endereço da conta, mas não consegue proteger o saldo da conta e o montante das transações. A computação multipartidária segura permite distribuir tarefas de computação entre vários participantes, sem que qualquer participante conheça os dados dos outros participantes, protegendo efetivamente a segurança do saldo da conta e do montante das transações, mas também não pode proteger a segurança do endereço da conta. Além disso, essas tecnologias não podem ser usadas para verificar se o provedor possui um montante de transação suficiente no ambiente blockchain sem revelar o montante da transação, o endereço da conta e o saldo da conta.

zk-SNARKs é uma solução mais abrangente, um protocolo de verificação que permite verificar a validade de certas proposições sem revelar quaisquer dados intermediários. Este protocolo não requer uma infraestrutura de chave pública complexa, e sua implementação repetida não oferece a usuários mal-intencionados a oportunidade de obter informações úteis adicionais. Através do ZKP, o verificador pode validar se o provador possui um montante de transação suficiente sem divulgar quaisquer dados de transação privados. O processo de verificação inclui a geração de uma prova que contém o montante da transação declarado pelo provador, que é então passada ao verificador, que realiza cálculos predefinidos sobre a prova e gera o resultado final dos cálculos, chegando assim à conclusão sobre a aceitação da declaração do provador. Se a declaração do provador for aceita, isso significa que eles possuem um montante de transação suficiente. O processo de verificação mencionado pode ser registrado no Blockchain, sem qualquer falsificação.

A característica do ZKP faz com que desempenhe um papel central nas transações de blockchain e aplicações de criptomoeda, especialmente em proteção de privacidade e escalabilidade da rede, tornando-se não apenas o foco de pesquisas acadêmicas, mas amplamente considerado uma das inovações tecnológicas mais importantes desde a implementação bem-sucedida da tecnologia de livro-razão distribuído, além de ser uma pista de destaque para aplicações da indústria e capital de risco.

Dessa forma, diversos projetos de rede baseados em ZKP surgiram, como ZkSync, StarkNet, Mina, Filecoin e Aleo. Com o desenvolvimento desses projetos, inovações algorítmicas sobre ZKP têm surgido continuamente, com relatos de novos algoritmos sendo lançados quase toda semana. Além disso, o desenvolvimento de hardware relacionado à tecnologia ZKP também está avançando rapidamente, incluindo chips otimizados especificamente para ZKP. Por exemplo, alguns projetos já concluíram captações de recursos em grande escala; esses desenvolvimentos não apenas demonstram o rápido progresso da tecnologia ZKP, mas também refletem a transição de hardware genérico para hardware especializado, como GPU, FPGA e ASIC.

Esses avanços indicam que a tecnologia zk-SNARKs não é apenas um importante marco no campo da criptografia, mas também é um impulso crucial para a realização de aplicações mais amplas da tecnologia Blockchain, especialmente na melhoria da proteção da privacidade e da capacidade de processamento.

Portanto, decidimos compilar sistematicamente o conhecimento relacionado a zk-SNARKs ( ZKP ) para melhor nos auxiliar na tomada de decisões de investimento futuras. Para isso, revisamos de forma abrangente os principais artigos acadêmicos relacionados ao ZKP (, ordenando-os com base na relevância e no número de citações ); ao mesmo tempo, também analisamos detalhadamente as informações e white papers dos projetos líderes na área (, ordenando-os de acordo com seu tamanho de financiamento ). Esta coleta e análise abrangentes de informações forneceram uma base sólida para a redação deste artigo.

Uma, conhecimentos básicos sobre zk-SNARKs

1. Visão geral

Em 1985, os acadêmicos Goldwasser, Micali e Rackoff apresentaram pela primeira vez a zk-SNARKs no artigo "The Knowledge Complexity of Interactive Proof-Systems". Este artigo é a base da zk-SNARKs, definindo muitos conceitos que influenciaram pesquisas acadêmicas subsequentes. Por exemplo, a definição de conhecimento é "saída de cálculo não viável", ou seja, o conhecimento deve ser uma saída e ser um cálculo não viável, o que significa que não pode ser uma função simples, mas sim uma função complexa. O cálculo não viável geralmente pode ser entendido como um problema NP, ou seja, um problema cuja solução pode ser verificada em tempo polinomial, onde o tempo polinomial se refere ao tempo de execução do algoritmo que pode ser expresso como uma função polinomial do tamanho da entrada. Este é um critério importante na ciência da computação para medir a eficiência e viabilidade dos algoritmos. Devido à complexidade do processo de resolução de problemas NP, eles são considerados cálculos não viáveis; no entanto, seu processo de verificação é relativamente simples, tornando-os muito adequados para a verificação da zk-SNARKs.

Um exemplo clássico de problema NP é o problema do caixeiro viajante, onde se deve encontrar o caminho mais curto para visitar uma série de cidades e retornar ao ponto de partida. Embora encontrar o caminho mais curto possa ser difícil, dado um caminho, verificar se esse caminho é o mais curto é relativamente fácil. Isso porque a verificação da distância total de um caminho específico pode ser realizada em tempo polinomial.

Goldwasser et al. introduziram o conceito de "complexidade do conhecimento" em seu artigo, para quantificar a quantidade de conhecimento que o provador vaza ao verificador em sistemas de prova interativa. Eles também propuseram sistemas de prova interativa (Interactive Proof Systems, IPS), onde o provador (Prover) e o verificador (Verifier) provam a veracidade de uma declaração através de múltiplas interações.

Em suma, a definição de zk-SNARKs resumida por Goldwasser e outros é um tipo especial de prova interativa, na qual o verificador não obtém nenhuma informação adicional além do valor de verdade da afirmação durante o processo de verificação; e foram propostas três características básicas, incluindo:

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

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

  2. Propriedade de Zero Conhecimento: Após a conclusão do processo de prova, o verificador apenas obtém a informação de que "o provador possui este conhecimento", sem conseguir obter qualquer conteúdo adicional.

(# 2.zk-SNARKs示例

Para melhor compreender os zk-SNARKs e as suas propriedades, aqui está um exemplo de como verificar se o provador possui certas informações privadas, que é dividido em três fases: configuração, desafio e resposta.

Primeiro passo: configurar )Setup(

Nesta etapa, o objetivo do provador é criar uma prova de que ele conhece um certo número secreto s, mas sem mostrar s diretamente. Defina o número secreto;

Escolha dois grandes números primos p e q, e calcule seu produto. Defina o número primo e, calcule o resultado;

Cálculo, aqui, v é enviado ao verificador como parte da prova, mas não é suficiente para que o verificador ou qualquer espectador deduza s.

Escolha um número inteiro aleatório r, calcule e envie ao validador. Este valor x é usado no processo de validação subsequente, mas também não expõe s. Seja um número inteiro aleatório, calcule o resultado.

Segundo passo: Desafio )Challenge###

O validador escolhe aleatoriamente um bit a( que pode ser 0 ou 1), e então envia para o provedor de provas. Este "desafio" determina os próximos passos que o provedor de provas precisa seguir.

Terceiro passo: resposta (Response)

Com base no valor a enviado pelo validador, o provador responde:

Se o provador enviar ( aqui, r é o número que ele escolheu aleatoriamente anteriormente ).

Se o provador calcular e enviar. Se o verificador enviar um bit aleatório, com base no valor de a, o provador calcula ;

Por fim, o validador verifica se g recebido é igual a . Se a equação for verdadeira, o validador aceita esta prova. Quando , o validador calcula , verificando o lado direito; quando , o validador calcula , verificando o lado direito.

Aqui, vemos que o validador calcula que o provador teve sucesso no processo de validação, enquanto não revelou seu número secreto s. Aqui, como a pode apenas assumir 0 ou 1, existem apenas duas possibilidades, a probabilidade de o provador passar na validação por sorte é ( quando a assume 0 ). Mas o validador, então, desafia o provador novamente, o provador muda constantemente os números relacionados, submetendo-os ao validador, e sempre consegue passar com sucesso pelo processo de validação, assim, a probabilidade de o provador passar na validação por sorte ( se aproxima infinitamente de 0), provando que o provador realmente conhece um número secreto s. Este exemplo demonstra a integridade, a confiabilidade e a propriedade de zero conhecimento do sistema de zero conhecimento.

( Dois, zk-SNARKs não interativos

)# 1. Contexto

zk-SNARKs(ZKP)na concepção tradicional geralmente é uma forma de protocolo interativo e online; por exemplo, o protocolo Sigma normalmente requer de três a cinco rodadas de interação para completar a autenticação. No entanto, em cenários como transações instantâneas ou votação, muitas vezes não há oportunidade para múltiplas interações, especialmente na aplicação da tecnologia Blockchain, onde a funcionalidade de verificação offline se torna particularmente importante.

2. A Proposta de NIZK

Em 1988, Blum, Feldman e Micali propuseram pela primeira vez o conceito de prova NIZK não interativa de conhecimento zero ###, provando que, sem a necessidade de múltiplas interações, o provador ( e o verificador ) ainda podem completar o processo de autenticação. Essa quebra de paradigma tornou viável a realização de transações instantâneas, votação e aplicações em blockchain.

Eles propuseram provas de conhecimento zero não interativas ###NIZK( que podem

ZK2.19%
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
  • 4
  • Compartilhar
Comentário
0/400
GateUser-afe07a92vip
· 08-05 10:44
Que tecnologia obscura, não consigo entender...
Ver originalResponder0
WalletDoomsDayvip
· 08-05 10:42
zkp é o remédio da Carteira
Ver originalResponder0
BanklessAtHeartvip
· 08-05 10:30
A luz de L2 está em zk
Ver originalResponder0
WenAirdropvip
· 08-05 10:14
Promoções no vazio ano após ano, o airdrop grátis faz suspirar.
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)