zk-SNARKs: uma análise abrangente da tecnologia, desde os fundamentos até o desenvolvimento futuro

zk-SNARKs técnica revisão e perspectivas futuras

Resumo

zk-SNARKs(ZKP) tecnologia como uma importante inovação no campo da blockchain, tem recebido ampla atenção e pesquisa nos últimos anos. Este artigo fornece uma revisão sistemática da evolução da tecnologia zk-SNARKs nos últimos quarenta anos, com foco na análise dos princípios de design e métodos de aplicação de zk-SNARKs baseados em circuitos, ZKVM, ZKEVM e outros modelos. O artigo também apresenta o funcionamento e as direções de otimização do ZK Rollup como uma solução de escalonamento Layer 2, bem como os últimos avanços em aceleração de hardware, soluções híbridas e outros. Por fim, o artigo antecipa conceitos emergentes como ZKCoprocessor, ZKML, ZKThreads, e explora seu potencial para melhorar a eficiência, segurança e proteção da privacidade dos sistemas blockchain.

Índice

Um. zk-SNARKs Conhecimentos Básicos Dois, zk-SNARKs não interativos Três, prova de conhecimento nulo baseada em circuitos Quatro, zk-SNARKs modelo Cinco, visão geral e desenvolvimento da máquina virtual zk-SNARKs Seis, visão geral e desenvolvimento do zk-SNARKs na máquina virtual Ethereum Sete, visão geral e desenvolvimento do esquema de rede de segunda camada zk-SNARKs Oitavo, direções futuras para zk-SNARKs Nove, conclusão

Um, zk-SNARKs fundamentos

1. Resumo

zk-SNARKs(Zero-Knowledge Proof, ZKP) foi proposto pela primeira vez por Goldwasser, Micali e Rackoff em 1985, sendo um protocolo que pode verificar a validade de certas proposições sem revelar informações adicionais. ZKP possui três características básicas: completude, confiabilidade e zero conhecimento.

A ideia central do ZKP é que o provador pode demonstrar ao verificador que possui determinada informação, sem precisar revelar o conteúdo específico dessa informação. Essa característica faz com que o ZKP desempenhe um papel importante na proteção da privacidade e na melhoria da escalabilidade da blockchain, tornando-se o foco de pesquisas acadêmicas e aplicações no setor.

2. zk-SNARKs示例

A seguir está um exemplo simples de zk-SNARKs, utilizado para verificar se o provador possui um determinado número secreto, sem revelar diretamente esse número:

  1. Configuração: o provador escolhe dois grandes números primos p e q, calcula n = p * q, e calcula v = s^2 mod n(s é o número secreto).

  2. Desafio: o validador escolhe aleatoriamente um bit a(0 ou 1) para enviar ao provador.

  3. Resposta: O provador calcula a resposta g com base no valor de a. Se a=0, g = r; se a=1, g = r * s mod n.

  4. Verificação: o verificador verifica se g^2 mod n é igual a x( quando a=0) ou x * v mod n( quando a=1).

Ao repetir este processo várias vezes, a probabilidade de o provador enganar o validador por sorte é reduzida a níveis extremamente baixos.

Dois, zk-SNARKs não interativos

1. Contexto

As provas de conhecimento zero tradicionais geralmente requerem múltiplas interações. No entanto, em certos cenários de aplicação, como transações instantâneas ou votação, múltiplas interações não são viáveis. As provas de conhecimento zero não interativas (NIZK) surgiram para resolver esse problema.

2. Proposta de NIZK

Blum, Feldman e Micali introduziram o conceito de NIZK em 1988. As provas NIZK são divididas em três fases: configuração, computação e verificação. Na fase de configuração, é introduzido o conceito de string de referência pública (CRS), que fornece a base para as fases subsequentes de computação e verificação.

3. Transformação Fiat-Shamir

A transformação Fiat-Shamir é um método que converte provas de conhecimento zero interativas em não interativas. Este método utiliza funções de hash para substituir parte da aleatoriedade e interatividade, simplificando significativamente o processo de prova.

4. Outras pesquisas

A pesquisa de Jens Groth e outros impulsionou significativamente a aplicação de NIZK em criptografia e tecnologia de blockchain. Eles propuseram um sistema de prova de conhecimento zero não interativa perfeita aplicável a qualquer linguagem NP, e alcançaram progressos significativos em eficiência e segurança.

Além disso, a prova de conhecimento zero não interativa de determinados validadores, bem como abordagens baseadas em modelos de registro de chaves, também oferecem novas perspectivas para o desenvolvimento de NIZK.

Três, zk-SNARKs baseados em circuitos

1. Contexto

Os sistemas de prova de conhecimento nulo baseados em circuitos demonstram vantagens ao lidar com tipos específicos de tarefas computacionais, especialmente em cenários que requerem alta paralelização.

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

Os modelos de circuitos são principalmente divididos em duas grandes categorias: circuitos aritméticos e circuitos lógicos. Os circuitos aritméticos são compostos por portas de adição e multiplicação, adequados para operações numéricas complexas; os circuitos lógicos são formados por portas lógicas básicas, adequados para executar lógicas de julgamento simples e cálculos binários.

3. zk-SNARKs中的电路设计与应用

No sistema de zk-SNARKs, o processo de design do circuito envolve expressar o problema a ser provado como um circuito e, em seguida, converter o circuito em uma representação polinomial. Este processo inclui etapas como a representação do problema, otimização do circuito, conversão polinomial, geração de strings de referência pública, entre outras.

4. Defeitos e desafios potenciais

Os principais desafios enfrentados pelas zk-SNARKs baseadas em circuitos incluem a complexidade e a escala dos circuitos, a dificuldade de otimização, a adaptabilidade a tarefas computacionais específicas, entre outros. As direções para resolver esses problemas incluem técnicas de compressão de circuitos, design modular e aceleração de hardware.

Quatro, zk-SNARKs modelo

1. Modelos de algoritmos comuns

  1. Modelo zkSNARK: proposto por Bitansky et al. em 2011, é um mecanismo de prova de conhecimento zero melhorado.

  2. Modelo Ben-Sasson: um modelo zk-SNARK 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, que inclui um compilador avançado e programas aritméticos quadráticos (QAPs).

  4. Modelo Bulletproofs: não requer configuração de confiança, o tamanho da prova cresce logaritmicamente com o tamanho do valor de testemunho.

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

2. Esquema baseado em PCP linear e problemas de logaritmo discreto

Esses esquemas incluem o modelo Groth16, o modelo Sonic, o modelo PLONK, entre outros, baseados em pares de curvas elípticas e programas aritméticos quadráticos, oferecendo um sistema eficiente de provas de conhecimento zero não interativas.

3. Proposta baseada na prova de pessoas comuns

"Prova de Pessoa Comum" foi proposta por Goldwasser, Kalai e Rothblum, aplicando-se a uma ampla gama de problemas. Os esquemas representativos incluem o modelo Hyrax, o modelo Libra e o modelo Spartan.

4. Prova verificável baseada em probabilidade ( PCP ) zk-SNARKs

Esses esquemas incluem o modelo STARK, o modelo Aurora, o modelo Succinct Aurora e o modelo Fractal, que geralmente possuem características de configuração transparente e segurança pós-quântica.

5. Classificação da fase de configuração da construção de prova geral CPC(

Os sistemas de zk-SNARKs podem ser divididos em três gerações: a primeira geração requer uma configuração de confiança separada para cada circuito; a segunda geração só precisa de uma configuração inicial para todos os circuitos; a terceira geração não requer configuração de confiança.

Cinco, Visão Geral e Desenvolvimento da Máquina Virtual de zk-SNARKs

) 1. Contexto

zk-SNARKs###ZKVM( é uma máquina virtual focada em zk-SNARKs, que expande as funcionalidades das VMs tradicionais, podendo reduzir de forma generalizada a barreira de desenvolvimento de circuitos zk-SNARKs.

) 2. Classificação atual do ZKVM

Principalmente dividido em três categorias:

  1. Tipos principais de ZKVM: como RISCZero, PolygonMiden, zkWASM, etc.
  2. ZKVM equivalente ao EVM: projetado especificamente para ser compatível com a Máquina Virtual Ethereum ###EVM(.
  3. zk-SNARKs otimizado ZKVM: como Cairo-VM, Valida, TinyRAM, etc.

) 3. Paradigma de Frontend e Backend

Os sistemas ZKP geralmente podem ser divididos em duas partes: frontend ### e backend (. O frontend utiliza principalmente linguagens de baixo nível para representar linguagens de alto nível, enquanto o backend converte os circuitos descritos em linguagens de baixo nível construídos pelo frontend para gerar provas e verificar a correção.

) 4. Vantagens e desvantagens do paradigma ZKVM

As vantagens incluem a utilização da arquitetura de conjunto de instruções existente, o suporte de um único circuito para múltiplos programas, circuitos de estruturas repetidas, entre outros. As desvantagens incluem os custos associados à generalidade, o alto custo de certas operações, e os altos custos de prova.

Seis, Visão geral e desenvolvimento do zk-SNARKs Ethereum Virtual Machine

( 1. Contexto

zk-SNARKs Ethereum Virtual Machine ) ZKEVM ### é projetada especificamente para Ethereum, sendo principalmente utilizada para verificar a correção da execução de contratos inteligentes, ao mesmo tempo que protege a privacidade das transações.

2. Como funciona o ZKEVM

O fluxo de trabalho do ZKEVM inclui o processamento do programa do nó, a geração de provas zk-SNARKs, a agregação de provas e o envio para contratos L1.

( 3. O processo de implementação do ZKEVM

Inclui principalmente etapas como obtenção de dados, processamento de dados, geração de provas, provas recursivas e submissão de provas.

) 4. Características do ZKEVM

As principais características do ZKEVM incluem a melhoria da capacidade de processamento de transações, proteção de privacidade e verificação eficiente.

Sete, Visão Geral e Desenvolvimento da Solução de Rede de Segunda Camada zk-SNARKs

1. Contexto

zk-SNARKs camada dois solução ### ZK Rollup ### é uma solução de escalabilidade do Ethereum baseada em zk-SNARKs, destinada a aumentar a eficiência do processamento de transações e reduzir custos.

2. Mecanismo de funcionamento do ZK Rollup

ZK Rollup reduz significativamente o uso de recursos computacionais na cadeia principal do Ethereum, executando transações fora da cadeia e gerando provas de validade.

( 3. Direção de otimização do ZK Rollup

As principais direções de otimização incluem:

  1. Otimizar o cálculo dos algoritmos de criptografia
  2. Misturar Optimistic e zk-SNARKs Rollup
  3. Desenvolver ZK EVM dedicado
  4. Otimização de hardware

Oitavo, as direções futuras para zk-SNARKs

) 1. Acelerar o desenvolvimento do ambiente de computação

Inclui o desenvolvimento de circuitos integrados ZK-ASIC### e do coprocessador ZKCoprocessor###, com o objetivo de melhorar a eficiência de cálculo dos zk-SNARKs.

2. Proposta e desenvolvimento do ZKML

zk-SNARKs máquina de aprendizagem ( ZKML ) aplica a técnica de zk-SNARKs no campo da aprendizagem de máquina, permitindo verificar os resultados de cálculos de aprendizagem de máquina sem divulgar dados ou detalhes do modelo.

( 3. Desenvolvimento relacionado à tecnologia de escalabilidade zk-SNARKs

A proposta dos conceitos de ZKThreads e ZK Sharding visa combinar zk-SNARKs e tecnologia de sharding para melhorar a escalabilidade e personalização da blockchain.

) 4. Desenvolvimento da interoperabilidade zk-SNARKs

A proposta inclui ZK State Channels e o Protocolo de Interoperabilidade Omnichain ZK, com o objetivo de alcançar a interoperabilidade de ativos e dados entre cadeias com base em zk-SNARKs.

Nove, Conclusão

A tecnologia de zk-SNARKs demonstra um grande potencial no campo da blockchain, especialmente na melhoria da proteção da privacidade e da capacidade de processamento. Através da análise das mais recentes tecnologias e tendências de desenvolvimento, este artigo oferece uma perspectiva abrangente para entender e aplicar a tecnologia de zk-SNARKs, destacando seu papel importante na melhoria da eficiência e segurança dos sistemas de blockchain. No futuro, com o avanço adicional em áreas como aceleração de hardware, algoritmos dedicados e interoperabilidade entre cadeias, espera-se que a tecnologia de zk-SNARKs desempenhe um papel chave em cenários de aplicação mais amplos.

ZK4.78%
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
  • 3
  • Compartilhar
Comentário
0/400
WhaleMistakervip
· 08-05 20:01
Já se dizia que zk era muito bom, não é?
Ver originalResponder0
gas_fee_therapistvip
· 08-05 17:05
zk é realmente incrível, este ano teve uma grande explosão.
Ver originalResponder0
PensionDestroyervip
· 08-05 16:47
A tecnologia zk é o futuro. Quem entende, entende.
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)