Оптимистичные накопительные пакеты (Optimistic Rollups) — это решения 2 уровня (Layer 2), предназначенные для масштабирования базового блокчейна Ethereum. Накопительные пакеты значительно уменьшают объем вычислений в основной сети Ethereum за счет обработки транзакций на втором слое, увеличивая таким образом пропускную способность.
Так как вычисления в Ethereum медленные и дорогие, оптимистичные накопители объединяют большое количество транзакций на втором слое, проводят вычисления, сжимают данные и только потом публикуют конечные состояния в основной сети Ethereum. Таким образом, оптимистичные накопители увеличивают масштабируемость в 10-100 раз без ущерба безопасности, так как унаследуют безопасность базового блокчейна.
Как работают оптимистичные накопительные пакеты?
Optimistic Rollups — это подход к масштабированию сети Ethereum, который предполагает перемещение вычислений и хранения состояний за пределы основной сети. Оптимистичные накопители выполняют транзакции за пределами сети, но публикуют объединенные и сжатые данные транзакций в Etheruem как данные вызова (calldata).
Операторы накопителя объединяют большое количество транзакций в пакет перед отправкой в основную сеть. Таким образом, затраты на газ распределяются между всеми транзакциями, попавшими в пакет, значительно снижая комиссию за транзакции для конечного пользователя.
Название «оптимистичные» выбрано не просто так. Предполагается, что все транзакции на уровне 2 являются действительными и доказательства достоверности для пакета транзакций не требуются. Для безопасности используется механизм доказательства мошенничества (Fraud Proof), чтобы исключать случаи с неправильным расчетом транзакций.
После отправки накопительного пакета в Ethereum потребуется время (период проверки), прежде чем состояния будут навсегда зафиксированы в основной сети. В течении этого периода любой может оспорить результаты накопительного пакета транзакций, вычислив доказательство мошенничества.
В случае, если доказательство мошенничества оказывается успешным, протокол накопительного пакета повторно выполнит транзакции и соответствующим образом обновит состояния пакета транзакций. Кроме того, секвенсор, опубликовавший неверные состояния будет наказан сокращением его доли токенов в стейкинге.
Если же за время периода проверки пакет транзакций так и не будет никем оспорен, по истечению периода он будет считаться действительным и принят в Ethereum, после чего, любые включенные транзакции уже будут не отвратимы.
Архитектура оптимистичного накопителя
Любой оптимистичный накопитель управляется набором смарт-контрактов, развернутых в основной сети Ethereum. Они обрабатывают транзакции на втором слое, но отправляют пакеты в контракт на Etheruem.
Архитектура таких протоколов состоит из двух слоев или уровней:
- Контракты в Ethereum (Layer 1). Сюда входят смарт-контракты, которые хранят блоки накопительного пакета, отслеживают обновления состояний пакетов транзакций и депозиты пользователей.
- Виртуальная машина (Layer 2). Вычисление и хранение состояний происходит на отдельной от Ethereum виртуальной машине, в которой выполняются изменения состояний и работают децентрализованные приложения (dApps).
Оптимистичные накопители полностью полагаются на базовый блокчейн Ethereum в целях безопасности, доступности данных и сопротивления цензуре.
Доступность данных (DA)
Накопители публикуют данные о всех совершенных транзакциях в Ethereum в виде дынных вызова (calldata). Эти данные доступны абсолютно для всех и ее может получать любой, кто подключен к базовому блокчейну Ethereum, для выполнения состояния или проверки правильности переходов между состояниями.
Доступность данных имеет важную роль, поскольку без данных о транзакциях невозможно собрать доказательства мошенничества, чтобы оспорить недействительные транзакции в пакете. Поскольку доступность данных обеспечена основной сетью Ethereum, риск злонамеренных действий со стороны секвенсоров сводится практически к нулю.
Сопротивление цензуре
Так же как и с доступностью данных, Ethereum обеспечивает устойчивость к цензуре со стороны узлов в сети накопительного пакета. Почему это важно?
- Узлы накопительных пакетов могут подвергнуть цензуре определенные транзакции, отказываясь создавать блоки, в которые они включены.
- Узлы могут запретить пользователям выводить средства, внесенные в контракт накопительного пакета, скрывая данные, необходимые для подтверждения права собственности при помощи доказательств Меркла. Сокрытие данных о состоянии также может скрыть состояние сводного отчета от пользователей и помешать им взаимодействовать с накопительным пакетом.
Оптимистичные накопители решают эту проблему следующим образом:
- Если узел накопительного пакета отключается или прекращает создавать пакеты транзакций, другой узел может использовать доступные данные для воспроизведения последнего состояния пакета и продолжения производства блоков.
- Пользователи могут использовать данные транзакций для создания доказательств Меркла, подтверждающих право собственности на средства, и вывода своих активов из накопительного пакета.
- Пользователи также могут отправлять свои транзакции на уровень 1, а не в секвенсор, и в этом случае секвенсор обязан включить транзакцию в течение определенного периода времени, чтобы продолжать создавать действительные блоки.
Совместимость с Ethereum
Оптимистичные накопительные пакеты созданы для полной совместимости с основной сетью Ethereum и позволяют пользователям передавать сообщения и произвольные данные между уровнями Layer 1 и Layer 2. Они также совместимы с виртуальной машиной Ethereum (EVM), поэтому каждый разработчик может легко портировать существующие смарт-контракты в оптимистичные накопительные пакеты или создавать новые децентрализованные приложения с помощью инструментов разработки Ethereum, такие как Solidity или Vyper.
Масштабирование Ethereum
Как уже объяснялось выше, оптимистичные накопители публикуют сжатые данные транзакций в Ethereum, чтобы гарантировать доступность данных (DA). Возможность сжимать данные, публикуемые в базовом блокчейне, имеет решающее значение для масштабирования пропускной способности сети Ethereum с помощью оптимистичных накопительных пакетов.
Простая транзакция Ethereum (для отправки токенов ETH) занимает примерно 110 байт, но передача ETH через накопительный пакет занимает всего ~12 байт. Рассмотрим подробнее:
Параметр | Ethereum | Rollups (Layer 2) |
---|---|---|
Nonce | ~3 | 0 |
Gasprice | ~8 | 0-0,5 |
Gas | 3 | 0-0,5 |
To | 21 | 4 |
Value | ~9 | ~3 |
Signature | ~68 | ~0,5 |
From | 0 (из подписи) | 4 |
Итого | ~112 | ~12 |
Преимущества и недостатки Optimistic Rollups
Преимущества | Недостатки |
---|---|
Предлагает значительные улучшения масштабируемости без ущерба для безопасности и надежности сети. | Задержки в завершении транзакции из-за механизма доказательства мошенничества. |
Данные транзакций хранятся в уровне 1, что повышает прозрачность, безопасность, децентрализацию, и устойчивость к цензуре. | Централизованные узлы накопительных пакетов (секвенсоры) могут влиять на порядок транзакций. |
Доказательство мошенничества гарантирует надежную финализацию и позволяет любому честному меньшинству защитить блокчейн. | Если честных узлов нет совсем, злонамеренный оператор может украсть средства, разместив недействительные блоки и доказательства. |
Вычисление доказательств мошенничества доступно обычному узлу Layer 2, в отличие от доказательств достоверности (используемых в ZK-накопителях), которые требуют специального оборудования. | Модель безопасности основана на том, что хотя бы один честный узел выполняет сводные транзакции и отправляет доказательства мошенничества, чтобы оспорить недействительные переходы состояний. |
Накопительные пакеты не требуют доверия (любой может подтверждать транзакции и публиковать утверждения. | Пользователям необходимо дождаться истечения недельного периода проверки, прежде чем выводить средства обратно в Ethereum. |
Оптимистичные накопители полагаются на хорошо продуманные криптоэкономические стимулы для повышения безопасности блокчейна. | Накопители должны публиковать все данные транзакций в основную сеть, что увеличивает затраты. |
Полная совместимость с EVM и популярными языками программирования позволяет разработчикам переносить смарт-контракты Ethereum в накопительные пакеты или использовать существующие инструменты для создания новых децентрализованных приложений. |
Примеры оптимистичных накопительных пакетов
За последние годы, на рынке появилось достаточно большое количество протоколов, основанных на данной технологии, вот некоторые из них:
- Optimism — одно из первых и вероятно самых популярных решений масштабирования второго уровня (Layer 2) для Ethereum, построенное на оптимистичных накопительных пакетах. Optimism в сотрудничестве с Coinbase занимается разработкой кодовой базы OP-Stack для интероперабельной и компонуемой системы Superchain, задачей которой является интеграция разрозненных сетей L2.
- Arbitrum — решение масштабирования второго уровня (Layer 2) для Ethereum, разрабатываемое компаний Offchain Labs. Arbitrum параллельно разрабатывает несколько различных сетей, таких как Arbitrum One, Arbitrum Nova и Arbitrum Stylus, каждая из которых имеет свои преимущества.
- Mantle — решение масштабирования Layer 2, разрабатываемое MantleDAO (ex-BitDAO). Mantle имеет модульную структуру и инновационное решение доступности данных MantleDA, основанное на технологии EigenDA.
- opBNB — это первое решение масштабирование Layer 2, которое призвано масштабировать не Ethereum, а блокчейн BNB Chain. Решение основано на видоизмененной кодовой базе OP-Stack. Разработчики opBNB использовали методы оптимизации исполнения, ранее используемые в блокчейне BNB Smart Chain (BSC).