A aplicação e a tendência de desenvolvimento da tecnologia zk-SNARKs no campo da Blockchain

zk-SNARKs na área de Blockchain: desenvolvimento e aplicação

Resumo

zk-SNARKs(ZKP) tecnologia é considerada uma das inovações mais importantes no campo do Blockchain, após os livros-razão distribuídos, e também é uma área de foco para capital de risco. Este artigo revisa sistematicamente o desenvolvimento da tecnologia zk-SNARKs nos últimos quarenta anos e resume os avanços mais recentes da pesquisa.

O artigo começa por apresentar os conceitos básicos e o contexto histórico dos zk-SNARKs. Analisa em profundidade a tecnologia de prova de conhecimento zero baseada em circuitos, incluindo o modelo de Ben-Sasson, Pinocchio, Bulletproofs e Ligero, bem como o design, aplicação e métodos de otimização desses modelos. No que diz respeito ao ambiente computacional, o artigo apresenta o ZKVM e o ZKEVM, discutindo como estes podem aumentar a capacidade de processamento de transações, proteger a privacidade e melhorar a eficiência da verificação. O artigo também discute o funcionamento e métodos de otimização do Zero Knowledge Rollup(ZK Rollup) como uma solução de escalabilidade de segunda camada, além dos avanços mais recentes em aceleração de hardware, soluções híbridas e ZK EVM dedicadas.

Por fim, o artigo antevê 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 últimas tecnologias e tendências de desenvolvimento, este artigo fornece uma perspectiva abrangente para entender e aplicar a tecnologia de zk-SNARKs, 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

Prefácio

Um, Fundamentos de zk-SNARKs

  1. Visão Geral 2.zk-SNARKs示例

Dois, zk-SNARKs não interativos

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

Três, prova de conhecimento zero baseada em circuito

  1. Contexto
    2.Conceitos e características básicas do modelo de circuito 3.zk-SNARKs中的电路设计与应用
  2. Potenciais defeitos e desafios

Quatro, zk-SNARKs modelo

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

V. Visão geral e desenvolvimento da máquina virtual zk-SNARKs

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

Seis, Visão geral e desenvolvimento da Máquina Virtual Ethereum com zk-SNARKs

  1. Contexto 2.O funcionamento do ZKEVM
  2. Processo de implementação do ZKEVM
  3. Características do ZKEVM

Sete, visão geral e desenvolvimento da solução de rede de segunda camada zk-SNARKs

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

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

  1. Acelerar o desenvolvimento do ambiente de computação 2.O surgimento e desenvolvimento do ZKML 3.Tecnologias de escalabilidade relacionadas a ZKP 4.O desenvolvimento da interoperabilidade ZKP

Nove, conclusão

Referências

Introdução

Nos últimos anos, o desenvolvimento de aplicações Blockchain (DApps ) tem sido rápido, com novas aplicações surgindo quase todos os dias. As plataformas Blockchain suportam diariamente as atividades de milhões de usuários, processando bilhões de transações. Os grandes volumes de dados gerados por essas transações geralmente incluem informações pessoais sensíveis, como identidade do usuário, montante da transação, endereço da conta e saldo da conta. Dada a abertura e transparência do Blockchain, esses dados armazenados estão abertos 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 segura multi-partes e zk-SNARKs. A criptografia homomórfica permite a execução de operações sem decifrar o texto cifrado, ajudando a proteger a segurança dos saldos de conta e dos valores das transações, mas não consegue proteger a segurança dos endereços das contas. As assinaturas em anel oferecem uma forma especial de assinatura digital que pode ocultar a identidade do signatário, protegendo assim a segurança dos endereços das contas, mas não consegue proteger os saldos de conta e os valores das transações. A computação segura multi-partes permite a distribuição de tarefas de computação entre vários participantes, sem que nenhum dos participantes conheça os dados dos outros, protegendo efetivamente a segurança dos saldos de conta e dos valores das transações, mas também não consegue proteger a segurança dos endereços das contas. Além disso, a criptografia homomórfica, as assinaturas em anel e a computação segura multi-partes não podem ser usadas para verificar se o provador possui um montante de transação suficiente no ambiente da blockchain sem revelar os valores das transações, os endereços das contas e os saldos das contas.

zk-SNARKs é uma solução mais abrangente, este protocolo de verificação permite validar a correção de certas proposições sem revelar quaisquer dados intermediários. O 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 provedor possui uma quantia de transação suficiente sem divulgar quaisquer dados de transação privados. O processo de validação inclui a geração de uma prova que contém a quantia de transação que o provedor alega, e então essa prova é transmitida ao verificador, que realiza cálculos predefinidos sobre a prova e produz o resultado final dos cálculos, levando à conclusão sobre a aceitação da declaração do provedor. Se a declaração do provedor for aceita, isso significa que eles possuem uma quantia de transação suficiente. O processo de validaçã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 em Blockchain e nas aplicações de criptomoedas, especialmente na proteção da privacidade e na expansão da rede, tornando-se não apenas o foco da pesquisa acadêmica, mas amplamente considerado uma das mais importantes inovações tecnológicas desde a implementação bem-sucedida da tecnologia de livro-razão distribuído, em particular do Bitcoin. Ao mesmo tempo, também é uma pista de destaque para aplicações na indústria e investimentos de risco.

Assim, muitos 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 estão surgindo constantemente, com relatos de novos algoritmos sendo lançados quase todas as semanas. Além disso, o desenvolvimento de hardware relacionado à tecnologia ZKP também está progredindo rapidamente, incluindo chips otimizados especificamente para ZKP. Por exemplo, alguns projetos já concluíram captações de recursos em larga escala; esses desenvolvimentos não apenas demonstram o rápido avanço da tecnologia ZKP, mas também refletem a transição de hardware genérico para hardware dedicado, como GPU, FPGA e ASIC.

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

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

Um, Conhecimentos Básicos sobre zk-SNARKs

1. Visão Geral

Em 1985, os estudiosos Goldwasser, Micali e Rackoff propuseram pela primeira vez os zk-SNARKs no artigo, (Zero-KnowledgeProof, ZKP) e Interactive Zero-Knowledge, IZK(. Este artigo é a obra fundamental dos 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 é 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 pode ser geralmente entendido como um problema NP, ou seja, um problema cuja solução pode ser verificada em tempo polinomial, onde o tempo polinomial refere-se 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; mas seu processo de verificação é relativamente simples, tornando-os muito adequados para a verificação dos 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 para o validador em sistemas de prova interativa. Eles também propuseram o sistema de prova interativa )InteractiveProof Systems,IPS(, onde o provador )Prover( e o validador )Verifier( provam a veracidade de uma afirmação por meio de múltiplas interações.

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

1.Completude)completeness(: Se a prova for verdadeira, o provador honesto pode convencer o validador honesto desse fato;

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

3.zk-SNARKs)zero-knowledge(: Após o processo de prova ser concluído, 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 zk-SNARKs

Para melhor entender os zk-SNARKs e suas propriedades, aqui está um exemplo que verifica 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 diretamente s. Defina o número secreto;

Escolha dois grandes números primos p e q, e calcule o seu produto. Defina a soma dos primos e calcule-a;

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

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

Segundo passo: desafio )Challenge(

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

Terceiro passo: resposta )Response(

De acordo com o 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. Suponha que o verificador envie um bit aleatório, com base no valor de a, o provador calcula;

Por fim, o validador verifica se g recebido é igual. Se a igualdade se mantiver, o validador aceita esta prova. Naquele momento, o validador calcula a verificação do lado direito; Naquele momento, o validador calcula a verificação do lado direito.

Aqui, vemos que o validador calcula que o provador passou com sucesso pelo processo de validação, enquanto não revelou seu número secreto s. Aqui, como a pode assumir apenas 0 ou 1, há apenas duas possibilidades, a probabilidade do provador passar na validação por sorte é ) quando a assume 0. Mas o validador então desafia o provador novamente, o provador muda continuamente os números relevantes, apresentando-os ao validador, e sempre consegue passar com sucesso pelo processo de validação, assim a probabilidade do provador passar na validação por sorte tende a 0(, a conclusão de que o provador realmente conhece um número secreto s é provada. Este exemplo prova a integridade, confiabilidade e propriedade de zero conhecimento do sistema de provas 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 geralmente 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 do NIZK

Em 1988, Blum, Feldman e Micali propuseram pela primeira vez o conceito de prova não interativa de conhecimento zero ( NIZK ), demonstrando a possibilidade de que o provador ### Prover ( e o verificador ) Verifier ( ainda pudessem completar o processo de autenticação sem a necessidade de múltiplas interações. Este avanço permitiu...

ZK2.09%
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
  • Repostar
  • Compartilhar
Comentário
0/400
GasFeeAssassinvip
· 4h atrás
Sinto que vou gastar gás de novo, uhu.
Ver originalResponder0
FunGibleTomvip
· 08-10 02:49
zksnark está confuso, não entendo.
Ver originalResponder0
ShibaOnTheRunvip
· 08-10 02:45
O jogador de corrente de cão é quase amarelo
Ver originalResponder0
DegenWhisperervip
· 08-10 02:42
É absurdo, a prova de conhecimento nulo já tem quarenta anos.
Ver originalResponder0
RugpullAlertOfficervip
· 08-10 02:40
Este zk é a grande tendência do Blockchain.
Ver originalResponder0
ChainMaskedRidervip
· 08-10 02:31
Jogando zk ainda tem que ver esta armadilha
Ver originalResponder0
LiquiditySurfervip
· 08-10 02:30
Mais uma vez a falar das maravilhas do zk, já estou tonto de ouvir. Vou beber um martini para me acalmar.
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)