Данные транзакций Layer 2 (Optimism) перед отправкой в Ethereum группируются в так называемый сверток (Rollup), который публикуется в родительском блокчейне. Стоимость одной транзакции в свертке равна комиссии, которую снял за пакетную транзакцию Ethereum, разделённой на количество транзакций в этом свертке.
Создание свертка (rollup)
Данные, хранящиеся в CallData, дополнительно сжимаются, что позволяет ещё уменьшить объём хранимой информации.
Сжатые данные
В смарт-контрактах есть свои маленькие участки памяти для хранения различных данных. В EVM используется несколько типов памяти, обращение к которым имеет разную стоимость газа. В Optimistic Rollup для хранения данных используется самый дешёвый тип — CallData.
Дешевое хранение памяти
Когда пользователь сети Optimism отправляет транзакцию, её данные записываются в основную сеть Ethereum. Транзакция выполняется одним компьютером в сети Optimism — секвенсором, вместо тысяч компьютеров, как это делает Ethereum.
Принцип работы
Optimism хочет решить один из основных недостатков блокчейна Ethereum — его низкую пропускную способность. Для этого он объединяет сотни транзакций в одну, которая и представлена в блокчейне Ethereum. В результате транзакции в сети Optimism выполняются быстрее и дешевле по сравнению с Ethereum.
Важным аспектом является то, что свертки Optimism, в которые объединены транзакции, считаются правильными до тех пор, пока не будет доказано, что они ложны. Другими словами, существует 7-дневный период, когда транзакции могут быть оспорены и удалены из цепочки.
Технические особенности
Optimistic Rollup
EVM
Optimism создаётся на уровне не совместимости, а эквивалентности с EVM. Он наследует любые улучшения, внесённые в код клиента Ethereum. Формальное определение протокола Ethereum описано в «Ethereum yellow paper». Optimism будет полностью соответствовать этому документу.
Эта технология рассматривалась в исследовании Arbitrum. Команда Optimism также использует её с полным правом, ведь именно она является создателем. Основная суть решения — транзакции выполняются на Layer 2, а хранятся на Layer 1 (Ethereum). Защищается сеть механизмами безопасности родительского блокчейна.
Основной причиной использования технологии Optimistic Rollup является значительное удешевление комиссий за транзакции. За счёт чего это достигается?
Плюсы и минусы
Если сравнивать комиссии сетей, использующих Optimistic Rollup, они на порядок меньше, чем у Ethereum, но несколько больше, чем, например, у сайдчейнов. Это связано с тем, что сетям L2 приходится платить L1 за хранение данных. Каждый байт транзакции стоит примерно 16 gas (приблизительно $0,006 за байт). Транзакция должна иметь пункт назначения (20 байт), подпись (65 байт) и несколько других полей. От этого и зависит минимально возможная комиссия.
Но безопасность таких сетей лучше, чем у сайдчейнов. То есть, при решении задач масштабирования разработчики вынуждены работать в рамках триллемы масштабируемости.
Виталик Бутерин считает Rollups перспективным решением для масштабирования Ethereum. Но и тут есть свои нюансы, которые при неправильной реализации могут навредить безопасности основной сети. В долгосрочной перспективе наиболее перспективным решением Бутерин считает шардинг. Но на его реализацию в Ethereum потребуется много времени.
Optimistic Virtual Machine
Это виртуальная машина, предназначенная для поддержки Layer 2. OVM — серверная часть для Optimistic Rollup, обеспечивающая полную поддержку EVM.
Каждый вычислительный шаг называется переходом. Переходы могут оцениваться на стороне клиента отдельными пользователями, желающими вычислить или проверить последнее состояние, или в контракте цепи для проверки доказательств мошенничества.
Использование OVM в качестве виртуальной машины для Optimistic Rollup позволяет поддерживать смарт-контракты Ethereum точно так же, как и на Layer 1. В случае недопустимых переходов состояний в OVM создается виртуальная среда, которая позволяет эффективно доказать мошенничество без сохранения состояния.
Секвенсоры и верификаторы
В Optimistic Rollups используются экономические стимулы для обеспечения правильной обработки данных вне Layer 1. Узел секвенсора публикует корень состояния (хеш) на L1. Другие узлы, называемые верификаторами, могут не согласиться с секвенсором, если считают, что корень состояния неверен. В этом случае часть транзакции выполняется на L1, чтобы проверить, правильность корня состояния.
Секвенсоры, публикующие правильные корни состояния, и верификаторы, которые оспаривают неправильные, получают вознаграждение за свою честность.
Штрафами наказываются секвенсоры, публикующие неправильные корни состояния, и верификаторы, которые оспаривают правильные результаты.
Если состояние сети не оспаривается в течение семь дней, оно считается правильным. Пока есть хотя бы один честный проверяющий, состояние в конечном итоге окажется правильным.
О доходах верификаторов в открытых источниках данных нет, секвенсор же получает около 25 % от комиссии сети. Секвенсор в сети пока один и управляется командой Optimism. В будущем планируется увеличить их количество и передать в управление сообществу.
Право на участие в децентрализованной сети секвенирования Optimism будет продаваться.
Запуск ноды
Любой желающий может может запустить собственную ноду и стать верификатором, если удовлетворены технические требования к аппаратной части.