Método de verificação de memória do sistema de provas de conhecimento zero: como o zkWasm implementa a Verificação formal

Verificação formal de zk-SNARKs: método de prova de memória

Ao realizar a verificação formal de sistemas de zk-SNARKs, o processamento do subsistema de memória é um desafio crucial. Ao contrário das máquinas virtuais tradicionais, o zkVM utiliza tabelas de execução e tabelas auxiliares para representar o estado da memória, o que requer métodos de verificação especiais.

zk-SNARKs de verificação formal avançada: como provar memória de conhecimento zero?

O sistema de memória do zkWasm é composto por uma tabela de execução e uma tabela de memória. A tabela de execução registra o processo de execução das instruções, enquanto a tabela de memória armazena todo o histórico de acessos à memória. Para simplificar o desenvolvimento, o zkWasm fornece uma camada de abstração, permitindo a operação da memória através das funções alloc_memory_table_lookup_write_cell e alloc_memory_table_lookup_read_cell.

zk-SNARKs de avançada Verificação formal: como provar a memória de zero conhecimento?

Durante o processo de verificação, tratamos a tabela de memória como uma estrutura de dados mutável, construindo um mapeamento de dados de endereço através da função memory_at. Isso pode provar que as restrições geradas pela função alloc são equivalentes às operações set e get realizadas no mapeamento, simplificando assim a verificação de instruções para uma forma semelhante a um interpretador não-ZK.

zk-SNARKs de forma avançada: como provar a memória de conhecimento zero?

Para evitar que atacantes manipulem a tabela de memória, o zkWasm adotou um mecanismo de contagem para rastrear o número de entradas válidas. A tabela de execução e a tabela de memória mantêm contadores separadamente, garantindo a consistência entre ambas através de restrições. Isso exige maior precisão durante a verificação, sendo necessário provar que cada instrução corresponde ao número correto de entradas na tabela de memória.

zk-SNARKs de verificação formal avançada: como provar memória de zero conhecimento?

O processo de verificação adota uma abordagem de cima para baixo, incluindo três etapas:

  1. O número estimado de entradas que o comando deve criar
  2. O número de entradas na tabela de provas não deve ser superior ao esperado
  3. Provar por indução que cum_mops e instructions_mops estão sempre consistentes na tabela.

Verificação formal avançada de zk-SNARKs: como provar a memória de conhecimento zero?

Este método de verificação detalhada ajuda a identificar erros potenciais, como um problema crítico no mecanismo de contagem da tabela de saltos.

zk-SNARKs de verificação formal avançada: como provar a memória de zero conhecimento?

Para realizar a verificação modular, dividimos o sistema em três partes independentes: verificação do circuito de instruções, verificação da tabela de execução e implementação da tabela de memória. Essa estrutura permite que vários engenheiros trabalhem em paralelo, aumentando a eficiência da verificação.

zk-SNARKs de verificação formal avançada: como provar a memória de conhecimento zero?

De um modo geral, embora a verificação zkVM apresente diferenças ao lidar com estados dinâmicos, ainda é possível adotar uma abordagem modular semelhante à verificação de intérpretes tradicionais, através do alinhamento do nível de abstração na implementação. Esta abordagem minimiza o impacto das diferenças, permitindo que cada instrução seja verificada de forma independente com base na interface get-set.

zk-SNARKs de verificação formal avançada: como provar memória de zero conhecimento?

zk-SNARKs de verificação formal avançada: como provar memória de zero conhecimento?

zk-SNARKs de verificação formal avançada: como provar memória de conhecimento zero?

zk-SNARKs de verificação formal avançada: como provar a memória de zero conhecimento?

zk-SNARKs de verificação formal avançada: como provar memória de zero conhecimento?

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 7
  • Compartilhar
Comentário
0/400
AltcoinHuntervip
· 07-04 16:51
insights valiosos满满Mineração佬
Ver originalResponder0
PerpetualLongervip
· 07-04 00:09
A gestão de memória é crucial.
Ver originalResponder0
MercilessHalalvip
· 07-03 12:25
O método de verificação é muito sólido.
Ver originalResponder0
BearHuggervip
· 07-02 01:45
O custo é extremamente alto e não é adequado para uso comercial.
Ver originalResponder0
BearMarketSagevip
· 07-02 01:43
A tecnologia vem do Blockchain
Ver originalResponder0
TokenCreatorOPvip
· 07-02 01:39
O método de verificação é útil?
Ver originalResponder0
SocialAnxietyStakervip
· 07-02 01:30
A estrutura de memória é realmente complexa
Ver originalResponder0
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)