TGViewer
Из Solidity в AI и дальше Из Solidity в AI и дальше @solidityset · 2.49K subscribers
Post #1370 789
Чтобы запустить программу с меньшим количеством опкодов, чем фиксированное число, мы просто вставляем в нее NOP до тех пор, пока программа не достигнет максимального размера. Чтобы знать, когда «прекратить выполнение», пользователь должен предоставить вышеупомянутый аргумент steps, чтобы определить, когда будет возвращено значение в нижней части стека.

Несколько замечаний о нашей архитектуре:

- VM основана на стеке, как EVM, Java Virtual Machine или (для тех, кто знает) калькулятор Reverse Polish notation.

- Инструкций перехода нет, поэтому program counter только увеличивается.

- Все операционные коды принимают один аргумент, но ADD, MUL и NOP игнорируют переданный им аргумент. Это позволяет нам всегда увеличивать program counter на одну и ту же величину - нам не нужно обновлять его на 2 для PUSH, на 1 для ADD и так далее. Мы всегда сдвигаем счетчик на 2.

- Для того, чтобы прочитать аргумент PUSH, мы просто «смотрим вперед» на один индекс от program counter.

- Сложение и умножение выполняются с использованием модульной арифметики (по умолчанию в Circom). В качестве «размера слова» мы используем порядок поля по умолчанию в Circom - мы не пытаемся эмулировать виртуальные машины с традиционными размерами слов, такими как 64 или 256 бит. Эмуляция вычислений с битами фиксированного размера - тема следующей главы.

Вся статья тут - How a ZKVM Works.

#zkvm
  • 👍 10
More from @solidityset
  1. Sep 22, 2026Какой язык программирования учить сейчас? На днях в Твиттере увидел небольшой пост о разви…
  2. Sep 18, 2026Интересная модель Jev Буквально пару дней назад в Твиттере многие начали обсуждение новой…
  3. Sep 14, 2026Графы повсюду Если вы также следите за новостями в мире ИИ, то наверняка уже все чаще встр…
  4. Sep 10, 2026GTA6, Cyberleek, блокчейн и безопасность Увидел несколько постов (тут и тут) про Cyberleek…
  5. Sep 9, 2026Работа с чистой энергией Дисклеймер Сегодня ава и название канала, наконец, поменялись. Я…
  6. Sep 9, 2026Channel name was changed to «Из Solidity в AI и дальше»
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →