Сети блокчейна сталкиваются с трилеммой масштабируемости, которая заключается в невозможности достижения сразу трех характеристик: безопасности, децентрализации и высокой пропускной способности. Однако проекты второго уровня являются многообещающими решениями, которые позволяют повысить масштабируемость блокчейна.
Блокчейны второго уровня становятся все более разнообразными: ZK-роллапы стали отдельным технологическим стеком, наряду с оптимистическими роллапами, решениями Optimum, Validium и Plasma.
В этой статье мы рассмотрим ZK-роллапы (ZK-Rollups) — роллапы второго уровня, использующие доказательства с нулевым разглашением (ZK-доказательства или ZKP).
Что такое ZK-роллапы?
ZK-роллапы — это решение масштабирования второго уровня, которое позволяет повысить скорость обработки транзакций. Транзакции обрабатываются за пределами основного блокчейна (офчейн), но при этом данные транзакций записываются в основной блокчейн (ончейн). ZK-роллапы используют ZK-доказательства, чтобы гарантировать подлинность этих транзакций без раскрытия какой-либо персональной информации.
По состоянию на конец 2023 года существует 11 активных ZK-роллапов с общей стоимостью заблокированных активов (TVL) более $1 млрд. Среди самых популярных решений такого рода: zkSync, dYdX и Starknet.
Ключевые особенности ZK-Rollups
Отличительными особенностями ZK-роллапов являются доказательства достоверности и доступность данных в цепочке.
Доказательства достоверности
Доказательства достоверности — это проверки, выполняемые с помощью доказательства с нулевым разглашением. Это криптографическое доказательство, которое позволяет быстро подтвердить результат расчета, не раскрывая определенных деталей этого расчета. Существуют различные типы этих доказательств, включая zk-SNARK и zk-STARK.
Доступность данных в цепочке
Хотя транзакции обрабатываются вне основной цепочки блоков, ZK-роллапы гарантируют, что отдельные важные фрагменты данных хранятся в основной цепочке блоков или блокчейне (первом уровне).
Эта модель хранения является ключом к механизму консенсуса и делает накопительные пакеты zk-Rollups универсальными. Благодаря этой модели каждый может независимо проверять все транзакции в совокупности. Модель даже совместима с виртуальной машиной Ethereum (EVM), что позволяет поддерживать широкий спектр приложений.
Как ZK-Rollups обеспечивают повышенную масштабируемость блокчейна?
В отличие от Plasma и Validium, накопительные пакеты (как ZK, так и оптимистические) не в полной мере реализуют масштабирование второго уровня. В частности, накопительные пакеты не обеспечивают 100% хранение данных вне сети. Вместо этого они лишь перемещают хранилище состояния и вычисления за пределы цепочки. Поэтому роллап-решение ограничено пропускной способностью данных базового блокчейна.
Даже несмотря на это, накопительные пакеты представляют собой значительный шаг вперед по сравнению с базовым уровнем. Например, одобрение токена ERC20 на Ethereum стоит 45 000 единиц газа (gwei), тогда как большинство роллапов требуют менее 300 газа для той же операции.
Кроме того, роллап сжимает транзакционные данные. Как правило, передача ETH требует приблизительно 110 байт, тогда как использование роллапа позволяет использовать всего лишь 12 байт. Сжатие подписи обеспечивает наибольшее уменьшение размера. В Ethereum подпись занимает 68 байт. Роллап может группировать около 100 транзакций под одной подписью, уменьшая размер до 0,5 байта.
Повышенная безопасность
Важнейшей особенностью ZK-накопительных пакетов является гарантия безопасности, согласно которой пользователь всегда может вернуть актив на Layer 1. Это важно, поскольку другие решения Layer 2 не предоставляют такой гарантии. Например, в случае Validium можно потерять активы в случае сбоя доступности данных.
ZK-роллапы не сталкиваются с какими-либо проблемами доступности данных, и это означает, что злоумышленники не могут нанести значительный ущерб. Более того, доступность данных устраняет необходимость сопоставления активов с владельцами. Это самое большое преимущество роллапов по сравнению с другими решениями L2.
Как работают ZK-роллапы?
ZK-роллапы работают посредством смарт-контрактов в блокчейне первого уровня. Смарт-контракты имеют решающее значение, поскольку поддерживают записи, известные как корень состояния.
Корень состояния
Корень состояния представляет собой дерево Меркла, состоящее из пакетов информации о счетах, балансах и коде контракта роллапа. Пользователи публикуют новые пакеты (сжатые наборы транзакций) вместе со старыми и новыми корнями состояний. Затем смарт-контракт сравнивает старый корень состояния с текущим корнем. Если они совпадают, текущая версия переключается на новый корень состояния.
Депозиты и выводы средств
Естественно, чтобы обеспечить возможность депозита и вывода средств, роллапы должны позволять ввод и вывод «извне». Транзакция, которая отправляет пакет, содержащий «внешние» входные данные, также перемещает активы в смарт-контракт. Когда транзакция отправляет пакет, содержащий «внешние» выходы, контракт инициирует процесс вывода. Соответственно, базовый смарт-контракт синхронизирует изменения состояния на базовом уровне и в объединении.
Проверка пост-состояния
Как проверить правильность пост-состояния корня? Ранее злоумышленник мог предоставить любую версию корня состояния. Однако накопительные пакеты решают эту проблему двумя разными способами: доказательством достоверности и доказательством мошенничества. Таким образом, у нас есть две схемы: с нулевым разглашением и оптимистические роллапы.
ZK-роллапы полагаются на доказательства достоверности, чтобы гарантировать отсутствие манипуляций в пост-состоянии корня. По этой причине каждая новая партия транзакций сопровождается zk-SNARK (или zk-STARK) — аргументом знаний, который подтверждает, что пакетное вычисление действительно даёт тот же результат, что и новый корень состояния. И самое главное: даже самые сложные вычисления можно быстро проверить в цепочке благодаря очень сложной математике, лежащей в основе ZK-доказательств.
Сравниваем ZK-роллапы и оптимистические роллапы
Ключевое сходство: как ZK-роллапы, так и оптимистические роллапы хранят часть данных ончейн.
Ключевое отличие: в ZK-роллапах используются доказательства достоверности, а в оптимистических — доказательства мошенничества.
Данные только для проверки: благодаря zk-SNARK ZK-роллапы устраняют необходимость хранить в блокчейне данные только для проверки, в отличие от оптимистических роллапов, которые нуждаются в таких данных для проверок на мошенничество.
В ZK-роллапах данные, которые важны только для проверки, не нужно хранить в блокчейне, поскольку ZK-доказательство неявно подтверждает, что все необходимые данные для проверки были предоставлены. Напротив, доказательства мошенничества, используемые в оптимистических роллапах, подтверждают транзакции постфактум и требуют дополнительной информации. Таким образом, оптимистические роллапы хранят все данные, необходимые для проверки, в блокчейне, независимо от статуса спора.
Сохранение конфиденциальности: ZK-роллапы хранят больше деталей транзакций вне сети (офчейн), что делает их более эффективным инструментом сохранения конфиденциальности. В сценарии вывода средств с сохранением конфиденциальности оптимистический роллап требует в общей сложности 296 байтов на транзакцию, объединяя различные элементы — корневой индекс, обнулитель, информацию о получателе и доказательство ZK-SNARK. Это приводит к увеличению эффективности в 77 раз (по сравнению с L1).
С другой стороны, ZK-роллапу требуется всего 40 байт на транзакцию, поскольку для него не требуется доказательство zk-SNARK в цепочке, что приводит к увеличению эффективности в 570 раз (по сравнению с L1). Оба метода основаны на сопоставимом количестве транзакций (~380 000). Более того, стоимость газа за транзакцию в цепочке ниже для ZK-роллапов.
Стоимость газа за пакет: по сравнению с доказательствами мошенничества проверка zk-SNARK для каждого пакета обходится дорого. Технология ZK-SNARK, как правило, намного сложнее. Следовательно, оптимистические пакеты пакеты дешевле: 40 000 единиц газа против 500 000 единиц газа.
Время вывода средств: оптимистические роллапы задерживают вывод средств, чтобы дать достаточно времени (например, 7 дней) для разрешения споров. С другой стороны, ZK-роллапы допускают мгновенный вывод средств.
Применение и сценарии использования
Oптимистические роллапы более распространены главным образом потому, что они лучше подходят для EVM-вычислений общего назначения. Общая стоимость активов, заблокированная в оптимистических роллапах, превышает $10 млрд, что в десять раз превышает TVL в ZK-роллапах.
ZK-роллапы больше подходят для простых вычислений, обмена и использования в конкретных приложениях. Но последние достижения в области SNARK также привели к появлению универсальных ZK-роллапов.
В настоящее время существует дюжина активных ZK-роллапов с общей заблокированной стоимостью активов на $1,3 млрд. Большинство этих проектов находятся на ранних стадиях и управляются операторами.
Среди проектов чемпионами по мощности TPS являются zkSync Era, dYdX и Starknet. Все эти сети имеют TVL на сумму более $100 млн и обрабатывают около 10 миллионов транзакций в месяц. В большинстве роллапов используются zk-SNARK; исключениями являются Starknet и dYdX, которые используют zk-STARK.
Подводим итоги
ZK-rollups — это решение масштабирования второго уровня, которое использует доказательства достоверности для вычислений офчейн и сохраняет небольшой объем данных транзакций ончейн.
Сложность проверки SNARK и доступность данных в цепочке являются основными проблемами операций ZK-роллапов, что делает их менее привлекательными для EVM общего назначения. По этой причине оптимистические роллапы лидируют с точки зрения внедрения на рынке. Кроме того, даже самые популярные проекты ZK-rollup, zkSync Era, Starknet и Loopring, находятся только на ранних стадиях разработки и не работают автономно.