Nova: Vantagens e desvantagens do novo sistema eficiente de zk-SNARKs e análise do código-fonte

robot
Geração de resumo em curso

Nova: Novo sistema zk-SNARKs

Nova é um novo sistema de zk-SNARKs desenvolvido pela Microsoft, que utiliza Sistemas de Restrições de Classificação Relaxada de Ordem 1 (Relaxed Rank-1 Constraint Systems, Relaxed R1CS) para melhorar a eficiência e flexibilidade das provas.

Vantagens da Nova

A principal vantagem do Nova é o uso da tecnologia R1CS relaxada. Os sistemas R1CS tradicionais precisam usar uma grande quantidade de aleatoriedade durante o processo de prova, o que torna o processo de geração e verificação da prova complexo e demorado. O Nova, ao utilizar R1CS relaxado, permite o uso de menos aleatoriedade na prova, melhorando significativamente a eficiência da prova.

A Nova também suporta cálculos incrementais, permitindo calcular funções complexas passo a passo, sem a necessidade de calcular toda a função de uma só vez. Isso é muito útil ao lidar com grandes volumes de dados ou cálculos complexos. Além disso, a Nova também suporta cálculos polinomiais, podendo lidar com tarefas de prova mais complexas.

Desvantagens da Nova

Embora a Nova tenha muitas vantagens, também apresenta algumas desvantagens:

  1. Devido ao uso de R1CS relaxado, as provas da Nova podem não ser tão robustas quanto os sistemas R1CS tradicionais. O R1CS relaxado permite o uso de menos aleatoriedade, o que pode reduzir a segurança da prova. No entanto, os desenvolvedores da Nova tomaram medidas para resolver esse problema, como o uso de algoritmos criptográficos mais robustos e estratégias de prova mais complexas.

  2. A implementação da Nova é relativamente complexa, o que pode aumentar a dificuldade de uso e manutenção. A Nova utiliza várias técnicas de criptografia avançada, como cálculos polinomiais, operações em grupos e oráculos aleatórios, sendo necessário compreender profundamente essas técnicas para usar e modificar efetivamente a Nova.

A importância da Nova no campo dos zk-SNARKs

A Nova ocupa uma posição importante no campo dos zk-SNARKs. A sua emergência abriu novos caminhos para o desenvolvimento dos zk-SNARKs. A tecnologia de R1CS relaxada adotada pela Nova torna o processo de geração e verificação de provas mais eficiente, o que é crucial para aplicações de zk-SNARKs em grande escala. Além disso, a Nova também suporta cálculos incrementais e cálculos polinomiais, podendo lidar com tarefas de prova mais complexas, expandindo ainda mais o alcance das aplicações dos zk-SNARKs.

Interpretação do código-fonte da Nova

A estrutura principal do código-fonte do Nova é a seguinte:

  • src/bellperson/: Implementou a geração de R1CS( Rank-1 Constraint Systems).
  • src/gadgets/: contém ferramentas para construir zk-SNARKs.
  • src/provider/: Contém algum código de provedores, como a implementação da função de hash Keccak.
  • src/spartan/: contém o código relacionado ao protocolo Spartan.
  • src/traits/: contém alguns traits Rust, utilizados para definir comportamentos públicos.

As funções dos principais módulos e arquivos são as seguintes:

  • bellperson/mod.rs: define as funcionalidades relacionadas à geração de R1CS.
  • bellperson/r1cs.rs: define os traits NovaWitness e NovaShape, usados para obter instâncias R1CS, testemunhas, formas e chaves de compromisso.
  • bellperson/shape_cs.rs: define a estrutura ShapeCS, usada para criar um sistema de restrições de forma R1CS.
  • bellperson/solver.rs: define a estrutura SatisfyingAssignment, usada para criar instâncias R1CS e o sistema de restrições do testemunho.
  • circuit.rs: define o circuito aprimorado no protocolo Nova, incluindo o circuito de passos e o circuito do validador.
  • constants.rs: Define algumas constantes, como o número de bits de desafio, o número de bits de hash, etc.
  • errors.rs: Define os tipos de erro que a biblioteca Nova pode retornar.
  • nifs.rs: implementou um esquema de dobra não interativa (NIFS).
  • r1cs.rs: define os tipos e métodos relacionados ao R1CS.
  • spartan/math.rs: Define a característica Math e sua implementação para o tipo usize, incluindo algumas operações matemáticas básicas.
  • spartan/mod.rs: implementou o RelaxedR1CSSNARKTrait usando Spartan.
  • spartan/polynomial.rs: define os tipos e operações básicos relacionados a polinómios.
  • spartan/sumcheck.rs: Implementou o algoritmo Sumcheck no protocolo Spartan.
  • traits/circuit.rs: Define a característica StepCircuit, utilizada para funções de passos de cálculo incremental.
  • traits/commitment.rs: Define as características relacionadas com o compromisso (commitment).
  • traits/evaluation.rs: Define a característica EvaluationEngineTrait, usada para o motor de avaliação de polinômios.
  • traits/mod.rs: Define algumas características usadas para operações criptográficas.
  • traits/snark.rs: Define o traço RelaxedR1CSSNARKTrait, utilizado para zk-SNARKs de provas não interativas e concisas (zkSNARK).

A implementação do código-fonte da Nova consiste em um sistema completo de zk-SNARKs, incluindo a geração de R1CS, a construção de sistemas de restrição, cálculos polinomiais, esquemas de compromisso, mecanismos de avaliação e vários outros módulos. Esses módulos trabalham juntos para realizar a geração e verificação eficiente de zk-SNARKs.

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
  • 4
  • Partilhar
Comentar
0/400
CrossChainBreathervip
· 07-14 06:25
Com certeza isso é trapaça.
Ver originalResponder0
ColdWalletGuardianvip
· 07-14 06:10
Não é apenas um zk fraco?
Ver originalResponder0
MysteryBoxOpenervip
· 07-14 06:01
Eu achava que a Microsoft só faria o Win11
Ver originalResponder0
PessimisticLayervip
· 07-14 05:58
É mais uma novidade da Microsoft?
Ver originalResponder0
  • Pino
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)