Роллапы изнутри: батчи, доказательства мошенничества, ZK, блобы и вывод средств
Устройство роллапов: секвенсор и батчи, публикация данных (calldata и блобы EIP-4844), fraud и validity proofs, принудительное включение и вывод в L1.
В этой статье
В статье Layer 2 и роллапы мы объяснили идею: выполнять транзакции вне Ethereum, а безопасность брать у него. Здесь заглянем в механизм: как данные попадают в Ethereum, как доказывается корректность и почему вывод средств устроен именно так.
Общий конвейер роллапа
- Пользователь отправляет транзакцию секвенсору (сервер оператора).
- Секвенсор упорядочивает транзакции, исполняет их на своём EVM-подобном движке и сразу отдаёт «предварительное подтверждение».
- Группа транзакций сжимается в батч и публикуется в Ethereum (данные).
- Вместе с батчем публикуется новое состояние L2 (корень состояния).
- Контракт роллапа на Ethereum принимает новый корень либо сразу, либо после проверки.
Критически важно: на L1 лежит достаточно данных, чтобы любой желающий мог заново воспроизвести состояние L2. Это называется доступностью данных. Без неё оператор мог бы «заморозить» пользователей.
Публикация данных: calldata и блобы
Раньше батчи публиковали как calldata обычных транзакций - дорого, потому что эти байты хранятся вечно и платить приходилось по цене газа L1.
С обновлением Dencun (март 2024) появился EIP-4844 и новый тип данных - блобы (blobs):
- блоб - порция данных до 128 КиБ;
- у блобов отдельный рынок комиссий, независимый от обычного газа;
- узлы хранят блобы около 18 дней, затем удаляют (в L1 остаётся лишь обязательство - хеш-подобная «отметка»).
После внедрения блобов комиссии на L2 упали в разы, потому что дорогая часть - публикация данных - подешевела. Срок хранения 18 дней достаточен, чтобы любой успел забрать данные и проверить результат.
Два способа доказать корректность
Оптимистичные роллапы
«Верим, пока не докажут обратное».
- Оператор публикует новый корень состояния и не доказывает его.
- Начинается окно оспаривания (обычно 7 дней).
- Любой наблюдатель, обнаруживший ошибку, подаёт доказательство мошенничества (fraud proof). Контракт L1 проверяет его, повторно исполняя спорный участок.
- Если доказательство верно - неверный корень отменяется, оператор штрафуется. Иначе по истечении окна корень считается окончательным.
Для доказательства нужна лишь одна честная сторона, способная проверить и подать жалобу. Плюс: просто и совместимо с EVM. Минус: вывод средств идёт неделю.
ZK-роллапы (с доказательствами валидности)
«Докажи заранее».
- Оператор исполняет батч и строит криптографическое доказательство (SNARK или STARK) того, что переход от старого состояния к новому выполнен по правилам.
- Контракт L1 проверяет короткое доказательство (быстро и дёшево, независимо от размера батча).
- После проверки корень принимается сразу.
Плюс: нет окна ожидания, быстрый вывод. Минус: построение доказательства требует тяжёлых вычислений (затраты на «доказывающего»), а совместимость с EVM даётся труднее.
| Optimistic | ZK | |
|---|---|---|
| Проверка на L1 | только при споре | всегда, но дёшево |
| Вывод | ~7 дней | минуты - часы |
| Нагрузка на оператора | ниже | выше (генерация доказательств) |
| Допущение безопасности | есть хотя бы один честный наблюдатель | корректность математики и кода |
Принудительное включение
Что если секвенсор цензурирует вашу транзакцию? У роллапа есть контракт-почтовый ящик на L1. Вы можете отправить туда транзакцию напрямую: через заданное время секвенсор обязан её включить, иначе любой может принудительно протолкнуть её. Так обеспечивается «цензуроустойчивость» ценой задержки и платы за L1.
Как работает вывод в L1
Сообщение L2 → L1 (например, вывод ETH) устроено так:
- На L2 пользователь сжигает или блокирует токены и создаёт сообщение.
- Сообщение попадает в данные, зафиксированные в корне состояния.
- После окончания окна оспаривания (или после проверки ZK-доказательства) пользователь на L1 предъявляет доказательство вхождения сообщения в этот корень - по сути, ветку дерева Меркла.
- Контракт моста L1 проверяет доказательство и освобождает активы.
Это объясняет и задержку вывода (ждём окончания окна), и зачем нужны быстрые сторонние мосты: они дают вам деньги сразу, а потом сами ждут вывода.
Структура комиссии
Транзакция на L2 платит за две вещи:
- исполнение на L2 (дёшево);
- публикацию данных на L1 (доля вашей транзакции в батче и блобе).
Чем эффективнее сжатие и больше батч, тем меньше доля. Подробнее о сравнении сетей - в статье как выбрать сеть.
Стадии децентрализации
Не все роллапы одинаково надёжны. Выделяют стадии:
- Стадия 0: система работает, но во многом полагается на доверенных операторов и ключи администраторов.
- Стадия 1: доказательства уже работают, а совет безопасности может вмешаться лишь в ограниченных случаях.
- Стадия 2: полностью управляется кодом, администраторы почти не влияют.
Большинство L2 пока на ранних стадиях. Оценивая сеть для крупной суммы, смотрите, кто может обновить контракты и есть ли таймлок (прокси и обновляемость).
Что это значит для пользователя Coin-Trust
- Сделка в Base исполняется быстро и дёшево, но окончательность в смысле Ethereum наступает после публикации и (для оптимистичного роллапа) окончания окна.
- Контракт эскроу работает внутри L2 как обычный контракт; его адрес и правила те же (CREATE2).
- Для крупных сумм учитывайте допущения безопасности L2.
Что почитать дальше
Узнайте, кто зарабатывает на упорядочивании транзакций, и чем это грозит: MEV и фронтраннинг. Или как сделать кошелёк умнее: абстракция аккаунтов.
Читайте также
- 2 · Практика
Layer 2 и роллапы: как Ethereum стал дешевле и быстрее
Зачем нужны сети второго уровня, как работают оптимистичные и ZK-роллапы, что такое секвенсор и вывод средств, и чем L2 вроде Base отличается от основной сети.
3 мин чтения - 3 · Под капотом
Деревья Меркла и доказательства: как проверять миллионы данных одним хешем
Как строится дерево Меркла, что такое корень и доказательство, как контракт проверяет вхождение элемента, где это применяется и какие бывают атаки.
3 мин чтения
Упоминается в статьях
Готовы попробовать?
Создайте первую сделку за пару минут. Деньги блокируются в смарт-контракте и выплачиваются по правилам, которые видны заранее.

