Команда Aligned опубликовала технический разбор continuations – способа доказывать длинные вычисления частями, когда полная трасса zkVM не помещается в доступную память. В материале описаны подходы нескольких zkVM и эксперименты Lambda VM, разрабатываемой совместно с LambdaClass и 3MI Labs. Команда сообщает, что epochs уже используются для длинных программ, а prove-and-retire пока остаётся экспериментальным вариантом.
Почему длинное выполнение трудно доказать
zkVM получает программу и входные данные, выполняет её и строит доказательство корректности исполнения. STARK-проверяющей системе требуется обработать трассу вычислений, включая состояние памяти и промежуточные значения. Чем длиннее программа, тем больше данных нужно подготовить и удержать во время доказательства. Для нагрузки масштаба блока Ethereum такой объём может стать ограничением даже при достаточно быстром исполнителе.
Continuations делят длинный запуск на отрезки. Каждый сегмент доказывает часть вычислений и передаёт следующему достаточно состояния для продолжения с правильного места. Главная сложность – память: следующий сегмент может читать значение, записанное предыдущим. Поэтому система должна подтвердить, что граница сегментов не подменяет состояние, а итоговая цепочка доказательств соответствует одному исходному выполнению.
Что команда говорит о Lambda VM
В описанном дизайне epochs делят выполнение на части фиксированного масштаба. Эти эпохи уже являются используемым путём обработки длинной программы в Lambda VM. Каждая часть доказывается, а связь между ними поддерживается через continuation state и проверяемые условия на границах. Выигрыш – ограничение пикового потребления памяти, но разбиение добавляет стоимость формирования и проверки каждого сегмента.
Второй подход, prove-and-retire, пытается уменьшить необходимость долго хранить все промежуточные таблицы в памяти. Идея в том, чтобы повторно выполнить программу, когда это дешевле, чем сохранять тяжёлое состояние доказателя. Команда пишет, что этот подход находится в ветке экспериментов. Это не готовая функция для пользователей и не подтверждение того, что производительность уже улучшена в production.
В статье обсуждаются и компромиссы. Повторное исполнение может стоить дополнительного вычислительного времени, зато потенциально уменьшает нагрузку на память. Эпохи избегают повторной работы, но добавляют расходы на сегменты и связанные доказательства. Выбор зависит от профиля нагрузки, формата доказательства, стоимости проверяющего и сложности корректной обработки переходов между сегментами.
Зачем это важно для Ethereum
Если zkVM сможет доказать исполнение достаточно крупной программы и выдать компактный результат, это может стать частью инфраструктуры масштабирования и проверки. Но между исследовательским прототипом и практическим применением остаются отдельные этапы: оценка корректности, независимый аудит, надёжность prover, стоимость в реальных сценариях и интеграция с протоколами. Публикация технического подхода не равна запуску продукта на Ethereum mainnet.
Разработчики считают, что рекурсия может позволить проверять одно доказательство внутри другого и постепенно объединять набор доказательств. Продолжения решают соседнюю, но отдельную задачу – удержание длинного запуска в памяти управляемыми частями. Для пользователя DeFi это не меняет сегодняшнюю процедуру транзакций, но показывает, какие инженерные проблемы стоят за идеей доказуемого исполнения.
Что пока неизвестно
В опубликованном материале команда прямо обозначает prove-and-retire как эксперимент, который нуждается в дальнейшем изучении. Результаты одного тестового профиля нельзя без дополнительных данных переносить на все программы. Нужно сравнивать не только время генерации, но и пиковую память, размер доказательства, стоимость верификации и устойчивость к ошибкам на границе сегментов.
Главный вывод новости – Lambda VM развивает два подхода к ограничению памяти при длинном исполнении: работающие epochs и экспериментальный повторный запуск с последующим удалением промежуточного состояния. Следующий значимый сигнал – открытые реализации, воспроизводимые измерения и независимая проверка криптографических предположений. Пока корректно говорить о техническом прогрессе проекта, а не о готовом массовом сервисе.
Continuation – это не просто механическое разрезание файла трассы. Проверяющая система должна удостовериться, что сегменты относятся к одной программе и что входное состояние следующего сегмента согласуется с выходным состоянием предыдущего. Если между отрезками передаётся состояние памяти, важно корректно доказать его непрерывность. Иначе можно получить набор локально валидных доказательств, которые не соответствуют единому исходному вычислению. Именно границы и связывающие условия делают архитектуру сложнее, чем простое разбиение нагрузки на произвольные порции.
Разные zkVM выбирают разные стратегии управления памятью и рекурсией. Одни сохраняют снимок памяти и продолжают с него, другие строят дополнительные доказательства или используют рекурсивное объединение результатов. Универсально лучшего выбора нет: стратегия может снизить пиковую память, но повысить вычислительную стоимость, размер доказательства либо работу верификатора. Поэтому полезно рассматривать заявленные метрики вместе с точной моделью теста и форматом доказательства, а не только с рекламным числом ускорения.
Для оценивания Lambda VM важны воспроизводимые тесты на длинных программах, описание набора входных данных и доступность исходного кода. Нужно понимать, измеряется ли только генерация, отдельно ли учитывается повторный запуск, сколько памяти занято на каждом этапе и какой результат получает проверяющая сторона. Также важна независимая проверка soundness-предположений. Пока этих подтверждений недостаточно для вывода о готовности к широкой интеграции, корректная формулировка – команда публикует инженерные детали и изучает варианты улучшения. Для вводного контекста читайте материал о ZK-сети Aztec и статью о ранних подтверждениях в Ethereum.



