ZK-rollup (validity rollup): как работают ZK-роллапы на Ethereum

ZK-rollups (ZK-роллапы) — класс решений Layer-2 для масштабирования Ethereum, в которых корректность состояния L2 доказывается криптографически.

Для каждого батча транзакций вычисляется validity proof (zk-доказательство), которое проверяется в контрактах L1. Если доказательство верно, новое состояние L2 считается корректным. Поэтому ZK-rollups часто называют validity rollups.

В отличие от optimistic rollups, ZK-роллап не «ждёт», что кто-то оспорит неверное состояние: он сразу предъявляет доказательство корректности.

ZK-rollup (validity rollup): как работают ZK-роллапы на Ethereum

Принцип работы ZK-rollup

Высокоуровневая схема:

  • пользователи отправляют транзакции в L2 (роллап-сеть);
  • узлы L2 исполняют транзакции, обновляя состояние (балансы, контракты и т.д.);
  • набор L2-блоков объединяется в батч;
  • специальный узел (prover) строит zk-доказательство того, что переход состояния из Sₙ в Sₙ₊₁ корректен;
  • в Ethereum (L1) публикуются:
    • корень нового состояния,
    • zk-доказательство (validity proof),
    • данные для Data Availability (чтобы состояние можно было восстановить);
  • контракт роллапа на L1 проверяет доказательство;
  • если proof корректен — новое состояние фиксируется как валидное.

Ключевой момент: нельзя записать в L1 произвольное состояние L2 без валидного proof. Это существенно повышает уровень безопасности по сравнению с моделями, где корректность нужно оспаривать через спор (как в optimistic rollups).

ZK-rollup vs Optimistic rollup

Оба подхода относятся к L2-роллапам и масштабируют Ethereum, но по-разному относятся к корректности состояния.

Краткое сравнение:

Аспект ZK-rollup (validity rollup) Optimistic rollup
Подход к корректности Каждому батчу сопутствует zk-доказательство корректности; L1 принимает только то состояние, которое доказуемо валидно. Состояние считается корректным «по умолчанию», пока его не оспорили через fraud-proof в challenge-период.
Финальность Финальность наступает после верификации proof на L1 (обычно относительно предсказуемое время). Финальность — после окончания challenge-периода, если не было успешного спора.
Уровень доверия Полагание на корректность zk-криптографии и честность DA; нет зависимости от активности «надзорных» игроков. Зависимость от того, что кто-то запустит fraud-proof при обнаружении ошибки.
Стоимость Дорого строить proof, но хорошо масштабируется при большом числе транзакций в батче. Проще prover, но есть накладные расходы на споры и хранение данных.
UX вывода Вывод может финализироваться быстрее, без много-дневного ожидания challenge-периода. Стандартный вывод ждёт challenge-период; быстрый вывод — через ликвидити-мосты.

Подробно optimistic-модель описана в термине про optimistic rollups.

Типы ZK-rollups

Внутри класса ZK-rollup существуют разные технические подходы:

  • SNARK-роллап

Используется SNARK-криптография (короткие доказательства, часто требуют trusted setup).

  • STARK-роллап

Основан на STARK-доказательствах (масштабируемые, без trusted setup, но более тяжёлые по размеру).

  • zkEVM-роллап

Роллап, который реализует EVM (или близкую к ней виртуальную машину):

  • позволяет запускать Solidity-контракты почти без изменений,
  • пример: Scroll и часть других zkEVM-проектов.
  • Роллап с собственной VM

Использует собственный язык и виртуальную машину, оптимизированные под ZK-доказательства:

  • пример: Starknet с языком Cairo;
  • совместимость с EVM достигается через транспилеры и обёртки.

От выбора криптографии и VM зависят:

  • стоимость и скорость генерации proof;
  • сложность разработки dApp;
  • степень совместимости с существующей экосистемой Ethereum.

Data Availability и режимы: rollup vs validium

Для безопасности критично, чтобы данные L2-транзакций были доступны (DA):

  • Классический ZK-rollup

Данные транзакций или state-diff публикуются в Ethereum:

  • любой участник может восстановить состояние L2 из L1;
  • не нужно доверять отдельным операторам хранения данных;
  • выше стоимость публикации, но максимум безопасности (полный rollup).
  • Validium / гибридные схемы

Данные хранятся off-chain (в отдельных DA-сетях или у операторов), а в L1 публикуются только proof:

  • дешевле по комиссии;
  • нужно дополнительно доверять DA-операторам;
  • при исчезновении DA-сети восстановить состояние может быть невозможно.

В реальных сетях часто используют гибриды: часть данных — on-chain, часть — off-chain, разные уровни гарантии DA. Подробнее про доступность данных см. Data Availability.

Плюсы и минусы ZK-rollups

Преимущества:

  • Сильная модель безопасности.

Состояние L2 криптографически «привязано» к L1: нельзя зафиксировать неверное состояние без валидного proof.

  • Быстрая и предсказуемая финальность.

Не нужно ждать challenge-период: как только proof проверен на L1, состояние считается финальным.

  • Эффективное масштабирование при больших объёмах.

Затраты на proof «делятся» между множеством транзакций в батче, что улучшает экономику при высокой нагрузке.

  • Лучший UX вывода.

Вывод средств с L2 на L1 может быть финализирован быстрее, чем в optimistic-роллапах.

Ограничения и риски:

  • Сложность протокола и криптографии.

zk-стек (SNARK/STARK, prover, агрегаторы) сложен для реализации и аудита.

  • Высокие требования к prover-узлам.

Генерация proof затратна по ресурсам; часто требуется специализированное железо или распределённая сеть prover’ов.

  • Централизация на ранних этапах.

Sequencer, prover-узлы и ключи апгрейдов на старте системы обычно контролируются ограниченным числом участников.

  • DA и мосты.

Риски выбора режима Data Availability и использования мостов (см. кросс-чейн мост и риски мостов).

Общая оценка рисков ZK-L2 — в модели рисков L2.

Примеры сетей на ZK-rollups

Среди известных ZK-rollup-проектов:

Все они используют ZK-доказательства, но различаются:

  • типом криптографии (SNARK/STARK),
  • степенью EVM-совместимости (zkEVM vs собственная VM),
  • режимами DA и деталями токеномики.

Практическое значение ZK-rollups

Для пользователей:

  • ZK-L2 дают:
    • более низкие комиссии, чем L1;
    • быстрые подтверждения на L2 и более короткий путь до финальности на L1;
    • высокий уровень безопасности при корректной конфигурации DA и prover-слоя.
  • важно понимать:
    • как работает мост L1↔L2,
    • где конкретная сеть хранит данные (полный rollup или validium),
    • кто контролирует секвенсер и апгрейды.

Для разработчиков:

  • ZK-rollups — удобная площадка для:
    • DeFi (частые транзакции, сложные вычисления),
    • NFT и игр (массовый минт, события),
    • data-heavy dApp (аналитика, on-chain-логика).
  • нужно учитывать:
    • стоимость DA и хранения данных,
    • особенности VM (zkEVM или собственный язык),
    • режимы финальности (когда транзакцию считать «безопасной» с точки зрения бизнеса).

Частые вопросы (FAQ)

ZK-rollup и validity rollup — это одно и то же? В контексте Ethereum — да. Термин *validity rollup* подчёркивает, что корректность состояния доказывается заранее (validity proof), а не оспаривается пост-фактум, как в optimistic-моделях.

ZK-rollup — это «отдельный блокчейн»? Это отдельная L2-цепь, но:

  • она наследует безопасность Ethereum через контракты роллапа и zk-доказательства;
  • финальная фиксация состояний происходит на L1.

Почему комиссии в ZK-rollup иногда растут? Часть комиссии — это стоимость публикации данных и проверки proof в Ethereum. Если газ в L1 дорожает, дорожает и компонент комиссий L2.

Чем ZK-rollups лучше optimistic rollups? Основные плюсы:

  • криптографическая гарантия корректности состояния,
  • нет отдельного challenge-периода для финальности,
  • лучше UX вывода.

Но реализация сложнее и дороже с точки зрения инфраструктуры и разработки.

Можно ли хранить крупные суммы на ZK-L2? Модель безопасности сильнее, чем у многих альтернатив L2, но:

  • остаются риски секвенсера, мостов, DA и сложного кода;
  • сеть может быть ещё в фазе активного развития.

Для крупных сумм обычно рекомендуют комбинировать L1 и несколько независимых L2 (см. обзор рисков L2).

См. также

Task Runner