Optimism хочет решить один из основных недостатков блокчейна Ethereum — его низкую пропускную способность. Для этого он объединяет сотни транзакций в одну, которая и представлена в блокчейне Ethereum. В результате транзакции в сети Optimism выполняются быстрее и дешевле по сравнению с Ethereum.
Важным аспектом является то, что свертки Optimism, в которые объединены транзакции, считаются правильными до тех пор, пока не будет доказано, что они ложны. Другими словами, существует 7-дневный период, когда транзакции могут быть оспорены и удалены из цепочки.
Когда пользователь сети Optimism отправляет транзакцию, её данные записываются в основную сеть Ethereum. Транзакция выполняется одним компьютером в сети Optimism — секвенсором, вместо тысяч компьютеров, как это делает Ethereum.
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 будет продаваться.
Любой желающий может может запустить собственную ноду и стать верификатором, если удовлетворены технические требования к аппаратной части.
Дешевое хранение памяти
В смарт-контрактах есть свои маленькие участки памяти для хранения различных данных. В EVM используется несколько типов памяти, обращение к которым имеет разную стоимость газа. В Optimistic Rollup для хранения данных используется самый дешёвый тип — CallData.
Сжатые данные
Данные, хранящиеся в CallData, дополнительно сжимаются, что позволяет ещё уменьшить объём хранимой информации.
Создание свертка (rollup)
Данные транзакций Layer 2 (Optimism) перед отправкой в Ethereum группируются в так называемый сверток (Rollup), который публикуется в родительском блокчейне. Стоимость одной транзакции в свертке равна комиссии, которую снял за пакетную транзакцию Ethereum, разделённой на количество транзакций в этом свертке.