Análise abrangente da tecnologia zk-SNARKs na aplicação de Blockchain e perspectivas futuras

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

Resumo

zk-SNARKs(ZKP) tecnologia é vista como uma das inovações mais importantes no campo do Blockchain, além de ser uma área de foco para investimento de risco. Este artigo fornece uma revisão abrangente do desenvolvimento do ZKP nos últimos quarenta anos e dos avanços mais recentes na pesquisa.

Primeiro, foi apresentada a noção básica e o contexto histórico do ZKP, com foco na análise da tecnologia ZKP baseada em circuitos, incluindo o design, aplicação e otimização de modelos como zk-SNARKs, Ben-Sasson, Pinocchio, Bulletproofs e Ligero. Em termos de ambiente computacional, foram discutidos como o ZKVM e o ZKEVM podem melhorar a capacidade de processamento de transações, proteger a privacidade e aumentar a eficiência da validação. O artigo também introduziu o ZK Rollup como um mecanismo de trabalho e métodos de otimização da solução de extensão Layer 2, além dos últimos avanços em aceleração de hardware, soluções híbridas e ZK EVM dedicado.

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

Através da análise dessas tecnologias e tendências de desenvolvimento, este artigo oferece uma perspectiva abrangente para entender e aplicar a tecnologia ZKP, demonstrando seu enorme potencial para melhorar 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, conhecimentos básicos sobre zk-SNARKs

  1. Resumo
  2. Exemplo de zk-SNARKs

Dois, zk-SNARKs não interativos

  1. Contexto
  2. Proposta de NIZK
  3. Transformação Fiat-Shamir
  4. Jens Groth e a 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 o problema do logaritmo discreto
  4. Proposta baseada na 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( )

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

  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 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 zk-SNARKs

  1. Contexto
  2. 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 cálculo
  2. A proposta e o desenvolvimento do ZKML
  3. Desenvolvimento relacionado à tecnologia de escalabilidade de zk-SNARKs
  4. Desenvolvimento da interoperabilidade ZKP

Nove, conclusão

Introdução

Com a chegada da era Web3, as aplicações de blockchain ( DApps ) estão se desenvolvendo rapidamente, com novas aplicações surgindo a cada dia. Nos últimos anos, as plataformas de blockchain têm suportado 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 das transações, endereço da conta e saldo, entre outros. Devido à abertura e transparência do blockchain, esses dados armazenados são públicos para todos, o que levanta várias questões de segurança e privacidade.

Atualmente, existem várias tecnologias criptográficas 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 executar operações sem decifrar o texto cifrado, ajudando a proteger a segurança dos saldos de conta e dos montantes das transações, mas não consegue proteger a segurança dos endereços de 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 dos endereços de conta, mas não conseguem proteger os saldos de conta e os montantes das transações. A computação multipartidária segura permite distribuir tarefas de cálculo entre vários participantes, sem que qualquer participante conheça os dados dos outros, protegendo efetivamente a segurança dos saldos de conta e dos montantes das transações, mas também não consegue proteger a segurança dos endereços de conta. Além disso, essas tecnologias não podem ser usadas para verificar se um provador possui montantes de transação suficientes no ambiente da blockchain sem divulgar os montantes das transações, os endereços de conta e os saldos de conta.

zk-SNARKs(ZKP) é uma solução mais abrangente, este protocolo de verificação permite validar certas proposições sem revelar quaisquer dados intermediários. O protocolo não requer infraestruturas de chave pública complexas 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 tem um valor de transação suficiente sem revelar quaisquer dados de transação privados. O processo de verificação inclui a geração de uma prova que contém o valor da transação reivindicado pelo provador, que é então passada para o verificador, que realiza cálculos predefinidos na prova e produz o resultado final dos cálculos, levando à 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 valor de transação suficiente. O processo de verificação acima pode ser registrado no Blockchain, sem qualquer falsificação.

A característica do ZKP faz com que desempenhe um papel central nas transações Blockchain e nas aplicações de criptomoedas, especialmente em termos de proteção da privacidade e escalabilidade da rede, tornando-se não apenas o foco da pesquisa acadêmica, 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. Também é uma pista-chave para aplicações na indústria e investimento de risco.

Assim, muitos projetos de rede baseados em zk-SNARKs surgiram, como ZkSync, StarkNet, Mina, Filecoin e Aleo. Com o desenvolvimento desses projetos, inovações algorítmicas relacionadas aos zk-SNARKs têm emergido continuamente, com relatos de novos algoritmos sendo lançados quase toda semana. Além disso, o desenvolvimento de hardware relacionado à tecnologia zk-SNARKs também está avançando rapidamente, incluindo chips otimizados especificamente para zk-SNARKs. Por exemplo, alguns projetos já completaram captações de grandes volumes de recursos, e esses desenvolvimentos não apenas demonstram o rápido progresso da tecnologia zk-SNARKs, 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 de zk-SNARKs não é apenas uma importante conquista no campo da criptografia, mas também um motor chave para a realização de aplicações mais amplas da tecnologia Blockchain, especialmente no que diz respeito à melhoria da proteção de privacidade e da capacidade de processamento.

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

Um, fundamentos de zk-SNARKs

1. Visão Geral

Em 1985, os estudiosos Goldwasser, Micali e Rackoff propuseram pela primeira vez a prova de conhecimento zero na dissertação "A Complexidade do Conhecimento de Sistemas de Prova Interativos", definindo muitos conceitos que influenciaram a pesquisa acadêmica subsequente. 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 geralmente pode ser entendido como um problema NP, ou seja, um problema cuja solução pode ser verificada em tempo polinomial. O tempo polinomial refere-se ao tempo de execução do algoritmo que pode ser representado 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 a viabilidade de um algoritmo. 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 validação de provas de conhecimento zero.

Um exemplo clássico do 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 feita em tempo polinomial.

Goldwasser e outros introduziram o conceito de "complexidade do conhecimento" em seu artigo, para quantificar a quantidade de conhecimento que o provador vazou ao verificador em sistemas de prova interativos. Eles também propuseram sistemas de prova interativos (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 é uma forma especial de prova interativa, na qual o verificador não obtém nenhuma informação adicional além do valor verdadeiro da afirmação durante o processo de verificação; e foram apresentadas três características básicas, incluindo:

  1. Completude: se a prova é verdadeira, o provador honesto pode convencer o 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. zk-SNARKs: após a conclusão do processo de prova, o verificador recebe apenas a informação de que "o provador possui este conhecimento", sem conseguir obter qualquer conteúdo adicional.

( 2. zk-SNARKs exemplo

Para uma melhor compreensão dos zk-SNARKs e suas propriedades, aqui está um exemplo de verificação se o provador possui certas informações privadas, que é dividido em três etapas: 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. Seja o número secreto s;

Escolha dois grandes números primos p e q, calcule o produto deles n. Defina os números primos p e q, calcule o n obtido;

Calcule v=s^2 mod n, aqui, v é enviado ao verificador como parte da prova, mas não é suficiente para permitir que o verificador ou qualquer espectador deduza s;

Escolha um número inteiro aleatório r, calcule x=r^2 mod n e envie para o verificador. Este valor x é usado no processo de verificação subsequente, mas também não expõe s. Seja r um número inteiro aleatório, calcule o x obtido.

Segundo passo: desafio )Challenge###

O validador escolhe aleatoriamente uma posição a( que pode ser 0 ou 1), e depois envia para o provador. Este "desafio" determina os passos que o provador precisa seguir a seguir.

Terceiro passo: resposta (Response)

De acordo com o valor a enviado pelo validador, o provador responde:

Se a=0, o provador envia g=r(, onde r é o número que ele escolheu aleatoriamente anteriormente ).

Se a=1, o provador calcula g=rs mod n e envia. Suponha que o verificador envia um bit aleatório a, com base no valor de a, o provador calcula g;

Por fim, o validador verifica se g^2 mod n é igual a xa^v mod n com base no g recebido. Se a igualdade se mantiver, o validador aceita esta prova. Quando a=0, o validador calcula g^2 mod n, verificando à direita xa^v mod n=x; quando a=1, o validador calcula g^2 mod n, verificando à direita xa^v mod n=xv.

Aqui, vemos que o g^2 mod n=xa^v mod n calculado pelo verificador demonstra que o provador conseguiu passar pelo processo de verificação sem revelar seu número secreto s. Aqui, como a pode assumir apenas 0 ou 1, há apenas duas possibilidades, a probabilidade de o provador passar na verificação por sorte é de 1/2( quando a é 0. No entanto, o verificador então desafia o provador k vezes, o provador muda continuamente os números relevantes e os submete ao verificador, e consegue sempre passar pelo processo de verificação, assim a probabilidade de o provador passar na verificação por sorte é )1/2(^k) que se aproxima infinitamente de 0(, provando que o provador realmente conhece um número secreto s. Este exemplo demonstra a integridade, confiabilidade e propriedade de zero conhecimento do sistema de provas de conhecimento zero.

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. 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 ( Prover ) e o verificador ### Verifier ( ainda podem completar o processo de autenticação. Essa descoberta permitiu que, mesmo que

ZK4.55%
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
  • 1
  • Compartilhar
Comentário
0/400
PanicSellervip
· 22h atrás
bull mas não entendo
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)