Методы верификации памяти в системе нулевых знаний: как zkWasm реализует Формальную верификацию

Формальная верификация zk-SNARKs: методы доказательства памяти

При формальной верификации системы zk-SNARKs обработка подсистемы памяти является ключевым вызовом. В отличие от традиционных виртуальных машин, zkVM использует таблицы выполнения и вспомогательные таблицы для представления состояния памяти, что требует специальных методов верификации.

zk-SNARKs передовая Формальная верификация: как доказать нулевую память?

Система памяти zkWasm состоит из таблицы выполнения и таблицы памяти. Таблица выполнения фиксирует процесс выполнения инструкций, а таблица памяти сохраняет всю историю доступа к памяти. Для упрощения разработки zkWasm предоставляет абстрактный уровень, позволяя управлять памятью с помощью двух функций: alloc_memory_table_lookup_write_cell и alloc_memory_table_lookup_read_cell.

zk-SNARKs продвинутой формальной верификации: как доказать нулевую память?

В процессе верификации мы рассматриваем таблицу памяти как изменяемую структуру данных, создавая адресное отображение с помощью функции memory_at. Это позволяет доказать, что ограничения, созданные функцией alloc, эквивалентны операциям set и get, выполняемым над отображением, что упрощает верификацию инструкций до формы, аналогичной не-ZK интерпретатору.

Формальная верификация продвинутых zk-SNARKs: как доказать нулевую знание памяти?

Чтобы предотвратить манипуляцию таблицей памяти со стороны злоумышленников, zkWasm использует механизм подсчета для отслеживания количества действительных записей. Таблицы выполнения и таблицы памяти поддерживают счетчики, которые обеспечивают согласованность между ними с помощью ограничений. Это требует более точной проверки, необходимо доказать, что каждая инструкция соответствует правильному количеству записей в таблице памяти.

zk-SNARKs продвинутой Формальной верификации: как доказать нулевую память?

Процесс верификации осуществляется сверху вниз и включает три шага:

  1. Ожидаемое количество создаваемых записей для команды
  2. Количество записей в таблице доказательств не должно превышать ожидаемое
  3. Докажите с помощью индукции, что cum_mops и instructions_mops всегда一致 в таблице

Формальная верификация продвинутых zk-SNARKs: как доказать нулевое знание памяти?

Этот детализированный метод верификации помогает выявить потенциальные ошибки, такие как ключевая проблема в механизме подсчета переходных таблиц.

zk-SNARKs продвинутой Формальной верификации: как доказать нулевую знаниевую память?

Для реализации модульной верификации мы разделили систему на три независимые части: верификация схемы инструкций, верификация таблицы выполнения и реализация таблицы памяти. Эта структура позволяет нескольким инженерам работать параллельно, повышая эффективность верификации.

Формальная верификация продвинутых zk-SNARKs: как доказать нулевую память?

В целом, хотя zkVM-верификация имеет различия при обработке динамических состояний, благодаря соответствию абстрактным уровням реализации все же можно применять модульный подход, аналогичный верификации традиционных интерпретаторов. Такой подход минимизирует влияние различий, позволяя каждой инструкции независимо проверяться на основе интерфейса get-set.

zk-SNARKs продвинутой Формальной верификации: как доказать нулевую знание память?

zk-SNARKs продвинутой формальной верификации: как доказать нулевую память?

Формальная верификация продвинутых zk-SNARKs: как доказать нулевую знание памяти?

zk-SNARKs продвинутой формальной верификации: как доказать нулевую память?

zk-SNARKs продвинутая формальная верификация: как доказать нулевую знаниевую память?

Посмотреть Оригинал
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.
  • Награда
  • 7
  • Поделиться
комментарий
0/400
AltcoinHuntervip
· 07-04 16:51
ценные идеи满满Майнинг佬
Посмотреть ОригиналОтветить0
PerpetualLongervip
· 07-04 00:09
Управление памятью очень важно
Посмотреть ОригиналОтветить0
MercilessHalalvip
· 07-03 12:25
Метод проверки очень основательный
Посмотреть ОригиналОтветить0
BearHuggervip
· 07-02 01:45
Слишком высокая стоимость, не подходит для коммерческого использования
Посмотреть ОригиналОтветить0
BearMarketSagevip
· 07-02 01:43
Технология исходит из Блокчейн
Посмотреть ОригиналОтветить0
TokenCreatorOPvip
· 07-02 01:39
Метод проверки удобен ли?
Посмотреть ОригиналОтветить0
SocialAnxietyStakervip
· 07-02 01:30
Структура памяти действительно сложная
Посмотреть ОригиналОтветить0
  • Закрепить