ZK-rollups (ZK-роллапы) — класс решений Layer-2 для масштабирования Ethereum, в которых корректность состояния L2 доказывается криптографически.
Для каждого батча транзакций вычисляется validity proof (zk-доказательство), которое проверяется в контрактах L1. Если доказательство верно, новое состояние L2 считается корректным. Поэтому ZK-rollups часто называют validity rollups.
В отличие от optimistic rollups, ZK-роллап не «ждёт», что кто-то оспорит неверное состояние: он сразу предъявляет доказательство корректности.
Принцип работы 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-проектов:
- Polygon zkEVM (от экосистемы Polygon)
- Linea (L2 от Consensys)
Все они используют 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).
