Rollup — это один из вариантов масштабирования «тяжелого» и дорогого блокчейна Ethereum. Технология роллапов используется для разных целей. Рассмотрим некоторые из них.
Любая команда разработчиков, которая планирует развернуть свой проект на блокчейне, должна создать полную инфраструктуру (интерфейсы, кошельки, API и т. д.), прежде чем у пользователей появится возможность создавать работающие приложения.
Сети смарт-контрактов, такие как Ethereum, уменьшают необходимость создания собственных блокчейнов для разработки, но они накладывают ограничения (такие, как высокая стоимость транзакций и низкая масштабируемость), сужая диапазон применения возможных DApps.
Кроме Ethereum, команды Cosmos и Polkadot также предлагают инструменты для создания пользовательских блокчейнов с общими функциями безопасности и совместимости. Однако они остаются недоступными для большинства начинающих разработчиков, т.к. их использование требует значительных ресурсов и опыта.
Сейчас девелоперы вышли на плато, где необычные идеи требуют такой пропускной способности, которой практически невозможно достичь на загруженных публичных блокчейнах. Поэтому многие интересные приложения не могут быть реализованы на практике.
Здесь им на помощь приходит Rollup — новый стандарт L2.
Что такое Rollup
Точно так же, как облачные сервисы предоставляют разработчикам дополнительные уровни абстракции, так и роллапы позволяют быстро и без особых затрат создавать рабочие среды блокчейнов.
Rollup выполняет транзакции и смарт-контракты вне основной цепи, объединяя результаты нескольких операций в криптографически проверяемые транзакции в основном блокчейне.
Благодаря технологии Rollup один блокчейн может одновременно «нести на себе» несколько десятков высокопроизводительных виртуальных сетей второго уровня, тем самым значительно увеличивая свою пропускную способность и одновременно минимизируя комиссии за транзакции.
Важно отметить, что Rollup — это не блокчейн в том смысле, как мы его можем для себя определять. Rollup — это особая среда моделирования, имеющая преимущества блокчейна. Смарт-контракты здесь работают так же, как и на реальном блокчейне.
Объединение может быть централизованным и децентрализованным, в зависимости от потребностей в производительности, контроле или соблюдении бизнес-требований.
Существует только одно жесткое условие: операторы должны регулярно фиксировать данные в базовом (основном) блокчейне, чтобы не повредить их.
Помимо масштабируемости, отделяя уровень «исполнения» от уровней «доступности данных», «расчетов» и «консенсуса», разработчики получают гибкость, одновременно повышая безопасность основной цепочки. Например, если разработчику не нравится кодить на Solidity и он хочет воспользоваться преимуществами экосистемы Ethereum, он может развернуть свое приложение в сети Ethereum с помощью Rollup, используя Python в качестве основного языка программирования.
Таким образом, технология Rollup позволяет любому начинающему разработчику запустить собственный виртуальный блокчейн за считанные минуты.
Схема работы rollup на Ethereum. Источник: horizen
Что такое zk-Rollup
Для приложений, которые требуют быстрой обработки и повышенной конфиденциальности, используют zk-Rollup.
Zk-Rollup — это виртуальный блокчейн, использующий технологию доказательства с нулевым соглашением. Этот вариант был впервые запущен в сети Ethereum как возможность дополнительного масштабирования основного блокчейна. Он позволял передавать информацию на уровне L2 без раскрытия всех деталей транзакции. При этом все данные имеют сертификат, что они переданы, проверены и сохранены с использованием стандартных процессов L1. Это значит, что все данные могут быть восстановлены, если безопасность уровня L2 будет скомпрометирована.
Zk-Rollup чаще всего используется на NFT-маркетплейсах и в блокчейн-играх — то есть в сферах, где скорость обработки данных должна быть максимально высокой, а плата за gas — минимальной.
По сути технология Rollup является одним из этапов перехода к модульной структуре блокчейна, которая пытается решить трилемму децентрализованных сетей.