zk-rollups
zk-rollups — это технология масштабирования блокчейнов второго уровня (Layer 2), которая позволяет выполнять транзакции вне основной сети (Layer 1), объединять их в пакеты (rollups) и отправлять на основной блокчейн только криптографическое доказательство их валидности, называемое доказательством с нулевым разглашением (zero-knowledge proof, ZK-proof). Это обеспечивает высокую пропускную способность и низкую комиссию при сохранении безопасности, эквивалентной базовому блокчейну. Основное применение zk-rollups — масштабирование сетей, таких как Ethereum, и повышение эффективности децентрализованных приложений (dApps), децентрализованных бирж (DEX) и платежных систем.
История
Концепция zk-rollups возникла из более ранних исследований в области криптографии, в частности, доказательств с нулевым разглашением, впервые предложенных Шафи Гольдвассером, Сильвио Микали и Чарльзом Ракоффом в 1985 году. Однако практическое применение в блокчейне стало возможным только с развитием эффективных схем ZK-доказательств, таких как zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) и zk-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge).
Первая значимая реализация zk-rollups была предложена в 2018 году командой Matter Labs, которая запустила протокол zkSync. В 2019 году проект Loopring представил децентрализованную биржу на основе zk-rollups. С 2020 года технология начала активно развиваться: появились решения, такие как StarkNet (от StarkWare) и Polygon Hermez. К 2023 году zk-rollups стали одним из ключевых направлений масштабирования Ethereum, конкурируя с optimistic rollups. В 2024 году несколько крупных проектов, включая zkSync Era и Scroll, запустили основные сети, что привело к росту числа транзакций и пользователей.
Принцип работы
Основные компоненты
zk-rollups функционируют за счет разделения ролей между основной сетью (Layer 1, например, Ethereum) и сетью второго уровня (Layer 2). Основные компоненты системы:
- Смарт-контракт на Layer 1: управляет депозитами, снятием средств и проверкой доказательств. Он хранит состояние rollup-пакета (например, корень дерева Меркла) и принимает пакеты транзакций от секвенсора.
- Секвенсор (sequencer): узел, который собирает транзакции пользователей, упорядочивает их, вычисляет новое состояние и создает ZK-доказательство. В некоторых реализациях секвенсор может быть централизованным или децентрализованным.
- Провайдер доказательств (prover): генерирует криптографическое доказательство, подтверждающее корректность всех транзакций в пакете. Это требует значительных вычислительных ресурсов.
- Пользователи: отправляют транзакции в сеть Layer 2, платят комиссии и получают подтверждения.
Процесс обработки транзакции
- Пользователь отправляет транзакцию в сеть zk-rollup (например, перевод токенов). Транзакция подписывается и передается секвенсору.
- Секвенсор собирает множество транзакций (например, от 100 до 1000) в один пакет. Он вычисляет новое состояние системы (например, обновленные балансы) и строит дерево Меркла для хранения данных.
- Провайдер генерирует ZK-доказательство, которое математически подтверждает, что все транзакции в пакете корректны, а новое состояние является результатом их выполнения. Это доказательство занимает всего несколько сотен байт, независимо от количества транзакций.
- Пакет данных (сжатые данные о транзакциях, например, идентификаторы отправителей, получателей и суммы) и ZK-доказательство отправляются в смарт-контракт на Layer 1.
- Смарт-контракт проверяет доказательство. Если оно верно, контракт обновляет корень состояния (state root) на Layer 1, фиксируя новое состояние. Транзакции считаются завершенными.
Отличие от optimistic rollups
В отличие от optimistic rollups, которые предполагают, что транзакции корректны по умолчанию, и полагаются на период оспаривания (обычно 7 дней) для выявления мошенничества, zk-rollups предоставляют математическую гарантию корректности сразу. Это устраняет необходимость в длительном ожидании вывода средств: пользователи могут вывести свои токены с Layer 2 на Layer 1 практически мгновенно (после подтверждения доказательства на Layer 1, что занимает несколько минут).
Типы ZK-доказательств
zk-SNARKs
zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) — это компактные доказательства, которые не требуют взаимодействия между проверяющим и доказывающим. Они имеют фиксированный размер (обычно несколько сотен байт) и быстро проверяются. Однако для их генерации требуется доверенная настройка (trusted setup) — начальная фаза, при которой создаются секретные параметры. Если этот процесс скомпрометирован, злоумышленник может создавать ложные доказательства. Примеры: zkSync Lite, Loopring.
zk-STARKs
zk-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge) не требуют доверенной настройки, что делает их более безопасными и прозрачными. Они используют хеш-функции и устойчивы к квантовым атакам. Однако доказательства zk-STARKs имеют больший размер (от 10 до 100 килобайт) и требуют больше вычислительных ресурсов для генерации. Примеры: StarkNet, dYdX.
Другие схемы
Также существуют гибридные схемы, такие как PLONK (Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge), которые сочетают преимущества SNARKs и STARKs, и Halo 2, не требующая доверенной настройки. Каждая схема имеет свои компромиссы между скоростью, размером и безопасностью.
Преимущества и недостатки
Преимущества
- Высокая пропускная способность: zk-rollups могут обрабатывать тысячи транзакций в секунду (tps), в то время как Ethereum (Layer 1) — около 15–30 tps. Например, zkSync Era в 2024 году достигал более 100 tps.
- Низкие комиссии: за счет объединения транзакций комиссии на Layer 2 составляют доли цента, по сравнению с несколькими долларами на Layer 1.
- Быстрый вывод средств: пользователи могут вывести токены на Layer 1 за несколько минут, без длительного периода ожидания.
- Безопасность: zk-rollups наследуют безопасность базового блокчейна, так как все данные и доказательства проверяются на Layer 1. Мошенничество математически невозможно.
- Конфиденциальность: хотя не все реализации используют полную конфиденциальность, технология ZK позволяет скрывать детали транзакций (например, сумму или адреса) при сохранении проверяемости.
Недостатки
- Высокая вычислительная сложность: генерация ZK-доказательств требует значительных вычислительных мощностей (GPU или специализированного оборудования), что может увеличивать задержки и затраты для секвенсоров.
- Сложность разработки: создание смарт-контрактов, совместимых с zk-rollups, требует специальных знаний и инструментов, так как виртуальная машина (например, zkEVM) отличается от стандартной EVM.
- Централизация секвенсора: в ранних реализациях секвенсор часто является единственным узлом, что создает риск цензуры или отказа в обслуживании. Децентрализация секвенсора — активная область исследований.
- Ограниченная совместимость: не все dApps могут быть легко перенесены на zk-rollups из-за различий в среде выполнения.
Применение
Масштабирование Ethereum
Основное применение zk-rollups — масштабирование Ethereum. Проекты, такие как zkSync Era, Scroll, Polygon zkEVM и StarkNet, предоставляют среду, совместимую с Ethereum Virtual Machine (EVM), что позволяет разработчикам развертывать существующие смарт-контракты с минимальными изменениями. Это снижает нагрузку на Layer 1 и уменьшает комиссии для пользователей.
Децентрализованные биржи (DEX)
zk-rollups используются для создания высокопроизводительных децентрализованных бирж. Например, dYdX (до перехода на собственный блокчейн) использовал StarkWare для обработки миллионов транзакций в день с низкими комиссиями. Loopring также предоставляет DEX на основе zk-rollups.
Платежные системы
Технология позволяет создавать платежные системы с высокой пропускной способностью, например, для микроплатежей или переводов между пользователями. zkSync Lite и другие решения поддерживают переводы токенов ERC-20 с комиссией менее 0,01 доллара.
Игры и NFT
В игровой индустрии zk-rollups используются для обработки внутриигровых транзакций (покупка предметов, обмен) и выпуска NFT. Например, Immutable X (ныне Immutable zkEVM) использует zk-rollups для масштабирования NFT-маркетплейсов, обеспечивая нулевые комиссии за газ для пользователей.
Примеры проектов
- zkSync Era (Matter Labs): один из первых zk-rollups с полной совместимостью с EVM. Запущен в основной сети в 2023 году. Поддерживает смарт-контракты и децентрализованные приложения.
- StarkNet (StarkWare): использует zk-STARKs и собственный язык программирования Cairo. Не полностью совместим с EVM, но предоставляет высокую производительность и прозрачность.
- Scroll: проект с открытым исходным кодом, ориентированный на совместимость с EVM. Использует zk-SNARKs и гибридные схемы.
- Polygon zkEVM: решение от Polygon, которое стремится к полной эквивалентности с EVM, позволяя разработчикам переносить контракты без изменений.
- Loopring: протокол для децентрализованных бирж, использующий zk-rollups для обработки ордеров и расчетов.
Критика и ограничения
Несмотря на преимущества, zk-rollups подвергаются критике за высокую сложность и затраты на генерацию доказательств. В 2024 году стоимость генерации ZK-доказательства для одного пакета может достигать нескольких долларов, что при малом числе транзакций в пакете делает технологию менее экономически эффективной. Также существует проблема централизации: большинство проектов на начальных этапах используют единственный секвенсор, что противоречит принципам децентрализации. Кроме того, некоторые эксперты отмечают, что zk-rollups не решают проблему хранения данных: все транзакции должны быть доступны для проверки, что требует места на Layer 1.
Будущее развитие
Технология zk-rollups продолжает активно развиваться. Основные направления исследований включают:
- Децентрализация секвенсора: создание механизмов, позволяющих множеству узлов участвовать в формировании пакетов и генерации доказательств.
- Улучшение производительности: разработка более эффективных схем ZK-доказательств, таких как zk-SNARKs на основе рекурсии, что снижает вычислительные затраты.
- Совместимость с EVM: совершенствование zkEVM для достижения полной эквивалентности с Ethereum, что упростит миграцию dApps.
- Интеграция с другими Layer 2: создание мостов между различными zk-rollups и optimistic rollups для повышения ликвидности и взаимодействия.
Ожидается, что к 2025–2026 годам zk-rollups станут основным стандартом масштабирования для Ethereum и других блокчейнов, поддерживающих смарт-контракты.
Источники
- Buterin, V. (2020). "An Incomplete Guide to Rollups". Ethereum Foundation.
- Matter Labs. (2023). "zkSync Era: A ZK Rollup for Ethereum".
- StarkWare. (2022). "StarkNet: A Permissionless Decentralized ZK-Rollup".
- Ethereum.org. (2024). "Layer 2 Scaling: Rollups".
- Thibault, L. T., et al. (2022). "ZK-Rollups: A Survey". arXiv preprint.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →