A aplicação e as tendências de desenvolvimento da tecnologia zk-SNARKs no campo da Blockchain.

zk-SNARKs na Blockchain: Desenvolvimento e Aplicações

Resumo

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

O artigo começa por apresentar os conceitos básicos e o contexto histórico do ZKP, com foco na análise da tecnologia ZKP baseada em circuitos, incluindo o design, aplicação e métodos de otimização de soluções como zkSNARK, modelo Ben-Sasson, Pinocchio, Bulletproofs e Ligero. No que diz respeito ao ambiente computacional, o artigo explora como o ZKVM e o ZKEVM podem melhorar a capacidade de processamento de transações, proteger a privacidade e aumentar a eficiência de verificação. O artigo também descreve o mecanismo de funcionamento e os métodos de otimização do ZK Rollup como uma solução de escalonamento de Layer 2, bem como os últimos avanços em aceleração de hardware, soluções híbridas e ZK EVM dedicada.

Por último, o artigo analisa conceitos emergentes como ZKCoprocessor, ZKML, ZKThreads, ZK Sharding e ZK StateChannels, explorando o seu potencial em termos de escalabilidade, interoperabilidade e proteção de privacidade da Blockchain.

Através de uma análise abrangente dessas tecnologias de ponta e tendências de desenvolvimento, este artigo oferece uma perspectiva sistemática para compreender e aplicar a tecnologia ZKP, demonstrando seu grande potencial na melhoria da eficiência e segurança dos sistemas Blockchain, fornecendo uma importante referência para decisões de investimento futuras.

Índice

Introdução

Um, conhecimentos básicos sobre zk-SNARKs

  1. Resumo
  2. Exemplos de 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, 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. Esquema baseado em PCP linear e 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 de prova de zero conhecimento

  1. Contexto
  2. Classificação do ZKVM existente
  3. Paradigma de Front-end e Back-end
  4. Vantagens e desvantagens do paradigma ZKVM

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

  1. Contexto
  2. O funcionamento do 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. O mecanismo de funcionamento do ZK Rollup
  3. Desvantagens e otimização do ZK Rollup

Oitavo, a direção futura do 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 ZKP
  4. O desenvolvimento da interoperabilidade ZKP

Nove, Conclusão

Introdução

Com a chegada da era Web3, as aplicações de Blockchain (DApps) estão a desenvolver-se rapidamente, surgindo novas aplicações todos os dias. Nos últimos anos, as plataformas de Blockchain têm suportado diariamente a atividade de milhões de utilizadores, processando bilhões de transações. Os grandes volumes de dados gerados por essas transações geralmente incluem informações pessoais sensíveis, como identidades de utilizadores, montantes das transações, endereços de contas e saldos. 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 a 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 valor 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 valor das transações. A computação multipartidária segura permite distribuir tarefas de computação entre vários participantes, sem que nenhum participante conheça os dados dos outros, efetivamente protegendo a segurança do saldo da conta e do valor das transações, mas, igualmente, não pode proteger a segurança do endereço da conta. Além disso, a criptografia homomórfica, assinaturas em anel e computação multipartidária segura não podem ser usadas para verificar se o provador possui um valor de transação suficiente no ambiente da Blockchain sem revelar o valor da transação, o endereço da conta e o saldo da conta.

O 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 adicionais úteis. Através do ZKP, o validador é capaz de verificar se o provador tem um montante 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 o montante da transação que o provador alega, e depois essa prova é passada para o validador, que realiza cálculos predefinidos sobre a prova e produz o resultado final do cálculo, levando à conclusão se aceita a declaração do provador. Se a declaração do provador for aceita, significa que eles possuem um montante de transação suficiente. O processo de validaçã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 de Blockchain e nas aplicações de criptomoedas, especialmente em termos de proteção de privacidade e escalabilidade da rede, o que o torna não apenas o foco de pesquisas acadêmicas, mas amplamente reconhecido como uma das inovações tecnológicas mais importantes desde a implementação bem-sucedida da tecnologia de livro-razão distribuído (, especialmente o Bitcoin ). Ao mesmo tempo, também é uma pista de foco para aplicações da 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 relacionadas ao ZKP estão surgindo continuamente, 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á avançando rapidamente, incluindo chips otimizados especificamente para ZKP. Por exemplo, projetos como Ingonyama, Irreducible e Cysic já concluíram grandes captações de recursos, e 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 uma importante inovação no campo da criptografia, mas também um fator 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 ).

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

Um. Fundamentos de zk-SNARKs

1. Resumo

Em 1985, Goldwasser, Micali e Rackoff apresentaram pela primeira vez os conceitos de zk-SNARKs (ZKP) e provas de conhecimento interativas (IZK) em um artigo. Este artigo é considerado a obra fundamental da prova de conhecimento zero, definindo muitos conceitos que influenciaram a pesquisa acadêmica subsequente. Por exemplo, o conhecimento é definido como "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, significando que não pode ser uma função simples, mas sim uma função complexa. O cálculo não viável pode ser 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 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 viabilidade de 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 validação de provas de conhecimento zero.

Um exemplo clássico de um problema NP é o problema do vendedor viajante, onde é necessário 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, dada uma rota, verificar se essa rota é a mais curta é relativamente fácil. Isso porque a distância total de uma rota específica pode ser verificada em tempo polinomial.

Goldwasser e outros introduziram o conceito de "complexidade do conhecimento" em seu artigo, usado para quantificar a quantidade de conhecimento que o provador revela ao verificador em sistemas de prova interativa. Eles também propuseram o sistema de prova interativa (IPS), onde o provador (Prover) e o verificador (Verifier) provam a veracidade de uma afirmação por meio de múltiplas interações.

Em suma, a definição de zk-SNARKs resumida por Goldwasser et al. é um tipo especial de prova interativa, onde 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 ( completeness ): Se a prova for verdadeira, o provador honesto pode convencer o verificador honesto desse fato;

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

  3. zk-SNARKs (zero-knowledge ): Após a conclusão do processo de prova, o verificador obtém apenas a informação "o provador possui este conhecimento", sem conseguir obter qualquer conteúdo adicional.

2. Exemplo de zk-SNARKs

Para uma melhor compreensão dos zk-SNARKs e suas propriedades, aqui está um exemplo de como verificar se o provador possui certas informações privadas, 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 número secreto s, mas sem mostrar diretamente s.

Defina o número secreto s; Escolha dois grandes números primos p e q, e calcule o produto deles n. Defina os números primos p e q, e calcule o n obtido; Calcule v=s^2 mod n, aqui, v é enviado ao verificador como parte da prova, mas não é suficiente para que o verificador ou qualquer espectador deduza s; Escolha aleatoriamente um inteiro r, calcule x=r^2 mod n e envie ao verificador. Este valor x é utilizado no processo de verificação subsequente, mas também não revela s. Defina o inteiro aleatório r, calcule o x obtido.

Segundo passo: desafio (Challenge)

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

Terceiro passo: resposta (Response)

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

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

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

Por fim, o validador verifica se x é igual a g^2 mod n com base no g recebido. Se a equação for verdadeira, o validador aceita esta prova. Quando a=0, o validador calcula g^2 mod n e verifica x à direita; quando a=1, o validador calcula g^2 mod n e verifica xv à direita.

Aqui, vemos que o validador calcula x=g^2 mod n, indicando que o provedor passou com sucesso pelo processo de verificação, sem revelar seu número secreto s. Aqui, como a pode assumir apenas 0 ou 1, existem apenas duas possibilidades, a probabilidade de o provedor passar pela verificação contando com sorte é ( quando a é 0, que é 1/2. Mas o validador então desafia o provedor n vezes, e o provedor muda continuamente os números relevantes, submetendo-os ao validador, e consegue sempre passar pelo processo de verificação, assim a probabilidade de o provedor passar pela verificação contando com sorte é )1/2(^n) tende a 0(, provando que o provedor realmente conhece algum número secreto s. Este exemplo demonstra a integridade, confiabilidade e a propriedade de zero conhecimento do sistema de prova 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 concluir 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 especialmente importante.

) 2. 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 ( Prover ).

ZK3.92%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 5
  • Partilhar
Comentar
0/400
TokenToastervip
· 08-07 02:39
A era zk finalmente chegou.
Ver originalResponder0
ChainSpyvip
· 08-07 02:34
Não entendo porque os outros estão todos loucos com zk.
Ver originalResponder0
GasFeeCriervip
· 08-07 02:34
Atualmente, as taxas estão muito altas, isso me deixa furioso.
Ver originalResponder0
StakeWhisperervip
· 08-07 02:15
Mais uma vez, o zk está a subir.
Ver originalResponder0
GreenCandleCollectorvip
· 08-07 02:12
Mais um novo amigo do zkvm, alguém já sentiu o cheiro da carteira?
Ver originalResponder0
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)