Оптимистичные роллапы
Оптимистичные роллапы — это протоколы уровня 2 (l2), предназначенные для увеличения пропускной способности базового уровня Эфириума. Они сокращают объем вычислений в основной цепи Эфириума за счет обработки транзакций офчейн, предлагая значительное улучшение скорости обработки. В отличие от других решений для масштабирования, таких как сайдчейны, оптимистичные роллапы заимствуют безопасность у Мейннета, публикуя результаты транзакций ончейн, или цепей Плазмы, которые также верифицируют транзакции в Эфириуме с помощью доказательств мошенничества, но хранят данные транзакций в другом месте.
Поскольку вычисления — это медленная и дорогая часть использования Эфириума, оптимистичные роллапы могут предложить улучшение масштабируемости в 10-100 раз. Оптимистичные роллапы также записывают транзакции в Эфириум в виде calldata или в блобах, снижая затраты на газ для пользователей.
Предварительные требования
Вы должны прочитать и понять наши страницы о масштабировании Эфириума и уровне 2 (l2).
Что такое оптимистичный роллап?
Оптимистичный роллап — это подход к масштабированию Эфириума, который включает перенос вычислений и хранения состояния офчейн. Оптимистичные роллапы выполняют транзакции за пределами Эфириума, но публикуют данные транзакций в Мейннете в виде calldata или в блобах.
Операторы оптимистичных роллапов объединяют множество офчейн-транзакций в большие пакеты перед отправкой в Эфириум. Этот подход позволяет распределить фиксированные затраты между множеством транзакций в каждом пакете, снижая комиссии для конечных пользователей. Оптимистичные роллапы также используют методы сжатия для уменьшения объема данных, публикуемых в Эфириуме.
Оптимистичные роллапы считаются «оптимистичными», поскольку они предполагают, что офчейн-транзакции действительны, и не публикуют доказательства действительности для пакетов транзакций, размещенных ончейн. Это отличает оптимистичные роллапы от роллапов с нулевым разглашением, которые публикуют криптографические для офчейн-транзакций.
Вместо этого оптимистичные роллапы полагаются на схему доказательства мошенничества для обнаружения случаев, когда транзакции рассчитаны неправильно. После того как пакет роллапа отправлен в Эфириум, существует временное окно (называемое периодом оспаривания), в течение которого любой может оспорить результаты транзакции роллапа, вычислив .
Если доказательство мошенничества успешно, протокол роллапа повторно выполняет транзакцию(и) и соответствующим образом обновляет состояние роллапа. Другим следствием успешного доказательства мошенничества является то, что секвенсор, ответственный за включение неправильно выполненной транзакции в блок, получает штраф (слэшинг).
Если пакет роллапа остается неоспоренным (т. е. все транзакции выполнены правильно) после истечения периода оспаривания, он считается действительным и принимается в Эфириуме. Другие могут продолжать строить на неподтвержденном блоке роллапа, но с оговоркой: результаты транзакций будут отменены, если они основаны на неправильно выполненной транзакции, опубликованной ранее.
Как оптимистичные роллапы взаимодействуют с Эфириумом?
Оптимистичные роллапы — это офчейн-решения для масштабирования, созданные для работы поверх Эфириума. Каждый оптимистичный роллап управляется набором смарт-контрактов, развернутых в сети Эфириум. Оптимистичные роллапы обрабатывают транзакции вне основной цепи Эфириума, но публикуют офчейн-транзакции (пакетами) в ончейн-контракт роллапа. Как и блокчейн Эфириума, эта запись транзакций является неизменяемой и формирует «цепь оптимистичного роллапа».
Архитектура оптимистичного роллапа состоит из следующих частей:
Ончейн-контракты: Работа оптимистичного роллапа контролируется смарт-контрактами, работающими в Эфириуме. Сюда входят контракты, которые хранят блоки роллапа, отслеживают обновления состояния в роллапе и отслеживают депозиты пользователей. В этом смысле Эфириум служит базовым уровнем или «уровнем 1 (l1)» для оптимистичных роллапов.
Офчейн виртуальная машина (VM): Хотя контракты, управляющие протоколом оптимистичного роллапа, работают в Эфириуме, протокол роллапа выполняет вычисления и хранение состояния на другой виртуальной машине, отдельной от виртуальной машины Эфириума. Офчейн-VM — это место, где живут приложения и выполняются изменения состояния; она служит верхним уровнем или «уровнем 2 (l2)» для оптимистичного роллапа.
Поскольку оптимистичные роллапы предназначены для запуска программ, написанных или скомпилированных для EVM, офчейн-VM включает в себя многие спецификации дизайна EVM. Кроме того, доказательства мошенничества, вычисляемые ончейн, позволяют сети Эфириум обеспечивать действительность изменений состояния, вычисленных в офчейн-VM.
Оптимистичные роллапы описываются как «гибридные решения для масштабирования», потому что, хотя они существуют как отдельные протоколы, их свойства безопасности заимствованы у Эфириума. Помимо прочего, Эфириум гарантирует правильность офчейн-вычислений роллапа и доступность данных, стоящих за вычислениями. Это делает оптимистичные роллапы более безопасными, чем чисто офчейн-протоколы масштабирования (например, сайдчейны), которые не полагаются на Эфириум в плане безопасности.
Оптимистичные роллапы полагаются на основной протокол Эфириума в следующем:
Доступность данных
Как уже упоминалось, оптимистичные роллапы публикуют данные транзакций в Эфириуме в виде calldata или блобов. Поскольку выполнение цепи роллапа основано на отправленных транзакциях, любой может использовать эту информацию, закрепленную на базовом уровне Эфириума, для выполнения состояния роллапа и проверки правильности переходов состояния.
Доступность данных критически важна, поскольку без доступа к данным состояния оспаривающие стороны не могут создать доказательства мошенничества для оспаривания недействительных операций роллапа. Благодаря тому, что Эфириум обеспечивает доступность данных, снижается риск того, что операторам роллапов сойдут с рук злонамеренные действия (например, отправка недействительных блоков).
Устойчивость к цензуре
Оптимистичные роллапы также полагаются на Эфириум для обеспечения устойчивости к цензуре. В оптимистичном роллапе централизованная сущность (оператор) отвечает за обработку транзакций и отправку блоков роллапа в Эфириум. Это имеет некоторые последствия:
-
Операторы роллапов могут подвергать пользователей цензуре, полностью отключаясь от сети или отказываясь создавать блоки, включающие определенные транзакции.
-
Операторы роллапов могут помешать пользователям вывести средства, депонированные в контракте роллапа, утаивая данные состояния, необходимые для доказательств Меркла о праве собственности. Утаивание данных состояния также может скрыть состояние роллапа от пользователей и помешать им взаимодействовать с роллапом.
Оптимистичные роллапы решают эту проблему, заставляя операторов публиковать данные, связанные с обновлениями состояния, в Эфириуме. Публикация данных роллапа ончейн имеет следующие преимущества:
-
Если оператор оптимистичного роллапа отключается от сети или прекращает создавать пакеты транзакций, другой узел может использовать доступные данные для воспроизведения последнего состояния роллапа и продолжения создания блоков.
-
Пользователи могут использовать данные транзакций для создания доказательств Меркла, подтверждающих право собственности на средства, и вывода своих активов из роллапа.
-
Пользователи также могут отправлять свои транзакции на уровень 1 (l1) вместо секвенсора, и в этом случае секвенсор должен включить транзакцию в течение определенного срока, чтобы продолжать создавать действительные блоки.
Финализация расчетов
Еще одна роль, которую Эфириум играет в контексте оптимистичных роллапов, — это роль уровня финализации расчетов. Уровень финализации расчетов закрепляет всю экосистему блокчейна, устанавливает безопасность и обеспечивает объективную финальность, если в другой цепи (в данном случае в оптимистичных роллапах) возникает спор, требующий арбитража.
Основная сеть Ethereum предоставляет центр для оптимистичных роллапов для проверки доказательств мошенничества и разрешения споров. Более того, транзакции, проведенные в роллапе, становятся окончательными только после того, как блок роллапа будет принят в Эфириуме. Как только транзакция роллапа зафиксирована на базовом уровне Эфириума, она не может быть отменена (за исключением крайне маловероятного случая реорганизации цепи).
Как работают оптимистичные роллапы?
Выполнение и агрегация транзакций
Пользователи отправляют транзакции «операторам», которые представляют собой узлы, ответственные за обработку транзакций в оптимистичном роллапе. Также известный как «валидатор» или «агрегатор», оператор агрегирует транзакции, сжимает базовые данные и публикует блок в Эфириуме.
Хотя любой может стать валидатором, валидаторы оптимистичных роллапов должны предоставить залог перед созданием блоков, во многом как в системе доказательства доли владения. Этот залог может быть подвергнут слэшингу, если валидатор публикует недействительный блок или строит на старом, но недействительном блоке (даже если его блок действителен). Таким образом, оптимистичные роллапы используют криптоэкономические стимулы для обеспечения честного поведения валидаторов.
Ожидается, что другие валидаторы в цепи оптимистичного роллапа будут выполнять отправленные транзакции, используя свою копию состояния роллапа. Если конечное состояние валидатора отличается от предложенного оператором состояния, он может начать оспаривание и вычислить доказательство мошенничества.
Некоторые оптимистичные роллапы могут отказаться от общедоступной системы валидаторов и использовать единый «секвенсор» для выполнения цепи. Как и валидатор, секвенсор обрабатывает транзакции, создает блоки роллапа и отправляет транзакции роллапа в цепь уровня 1 (l1) (Эфириум).
Секвенсор отличается от обычного оператора роллапа тем, что он имеет больший контроль над порядком транзакций. Кроме того, секвенсор имеет приоритетный доступ к цепи роллапа и является единственной сущностью, уполномоченной отправлять транзакции в ончейн-контракт. Транзакции от узлов, не являющихся секвенсорами, или обычных пользователей просто ставятся в очередь в отдельный почтовый ящик, пока секвенсор не включит их в новый пакет.
Отправка блоков роллапа в Эфириум
Как уже упоминалось, оператор оптимистичного роллапа объединяет офчейн-транзакции в пакет и отправляет его в Эфириум для нотаризации. Этот процесс включает сжатие данных, связанных с транзакциями, и их публикацию в Эфириуме в виде calldata или в блобах.
calldata — это немодифицируемая, непостоянная область в смарт-контракте, которая ведет себя в основном как память. Хотя calldata сохраняется ончейн как часть журналов истории (opens in a new tab) блокчейна, она не хранится как часть состояния Эфириума. Поскольку calldata не затрагивает ни одну часть состояния Эфириума, она дешевле, чем состояние, для хранения данных ончейн.
Ключевое слово calldata также используется в Solidity для передачи аргументов функции смарт-контракта во время выполнения. calldata идентифицирует функцию, вызываемую во время транзакции, и содержит входные данные для функции в виде произвольной последовательности байтов.
В контексте оптимистичных роллапов calldata используется для отправки сжатых данных транзакций в ончейн-контракт. Оператор роллапа добавляет новый пакет, вызывая требуемую функцию в контракте роллапа и передавая сжатые данные в качестве аргументов функции. Использование calldata снижает комиссии пользователей, поскольку большинство затрат, которые несут роллапы, связаны с хранением данных ончейн.
Вот пример (opens in a new tab) отправки пакета роллапа, чтобы показать, как работает эта концепция. Секвенсор вызвал метод appendSequencerBatch() и передал сжатые данные транзакции в качестве входных данных, используя calldata.
Некоторые роллапы теперь используют блобы для публикации пакетов транзакций в Эфириуме.
Блобы немодифицируемы и непостоянны (как и calldata), но удаляются из истории примерно через 18 дней. Для получения дополнительной информации о блобах см. данкшардинг.
Обязательства состояния
В любой момент времени состояние оптимистичного роллапа (аккаунты, балансы, код контракта и т. д.) организовано в виде дерева Меркла, называемого «деревом состояния». Корень этого дерева Меркла (корень состояния), который ссылается на последнее состояние роллапа, хешируется и хранится в контракте роллапа. Каждый переход состояния в цепи создает новое состояние роллапа, которое оператор фиксирует, вычисляя новый корень состояния.
Оператор обязан отправлять как старые корни состояния, так и новые корни состояния при публикации пакетов. Если старый корень состояния совпадает с существующим корнем состояния в ончейн-контракте, последний отбрасывается и заменяется новым корнем состояния.
Оператор роллапа также обязан зафиксировать корень Меркла для самого пакета транзакций. Это позволяет любому доказать включение транзакции в пакет (на уровне 1 (l1)), представив доказательство Меркла.
Обязательства состояния, особенно корни состояния, необходимы для доказательства правильности изменений состояния в оптимистичном роллапе. Контракт роллапа принимает новые корни состояния от операторов сразу после их публикации, но позже может удалить недействительные корни состояния, чтобы восстановить роллап до его правильного состояния.
Доказательство мошенничества
Как объяснялось, оптимистичные роллапы позволяют любому публиковать блоки без предоставления доказательств действительности. Однако, чтобы гарантировать безопасность цепи, оптимистичные роллапы определяют временное окно, в течение которого любой может оспорить переход состояния. Следовательно, блоки роллапа называются «утверждениями», поскольку любой может оспорить их действительность.
Если кто-то оспаривает утверждение, протокол роллапа инициирует вычисление доказательства мошенничества. Каждый тип доказательства мошенничества является интерактивным — кто-то должен опубликовать утверждение, прежде чем другой человек сможет его оспорить. Разница заключается в том, сколько раундов взаимодействия требуется для вычисления доказательства мошенничества.
Однораундовые интерактивные схемы доказательства воспроизводят оспариваемые транзакции на уровне 1 (l1) для обнаружения недействительных утверждений. Протокол роллапа эмулирует повторное выполнение оспариваемой транзакции на уровне 1 (l1) (Эфириум) с использованием контракта верификатора, при этом вычисленный корень состояния определяет, кто выигрывает оспаривание. Если заявление оспаривающего о правильном состоянии роллапа верно, оператор наказывается слэшингом его залога.
Однако повторное выполнение транзакций на уровне 1 (l1) для обнаружения мошенничества требует публикации обязательств состояния для отдельных транзакций и увеличивает объем данных, которые роллапы должны публиковать ончейн. Воспроизведение транзакций также влечет за собой значительные затраты на газ. По этим причинам оптимистичные роллапы переходят на многораундовое интерактивное доказательство, которое достигает той же цели (т. е. обнаружения недействительных операций роллапа) с большей эффективностью.
Многораундовое интерактивное доказательство
Многораундовое интерактивное доказательство включает в себя протокол обмена сообщениями между утверждающим и оспаривающим под контролем контракта верификатора уровня 1 (l1), который в конечном итоге определяет лгущую сторону. После того как узел уровня 2 (l2) оспаривает утверждение, утверждающий обязан разделить оспариваемое утверждение на две равные половины. Каждое отдельное утверждение в этом случае будет содержать столько же шагов вычислений, сколько и другое.
Затем оспаривающий выберет, какое утверждение он хочет оспорить. Процесс деления (называемый «протоколом бисекции») продолжается до тех пор, пока обе стороны не будут оспаривать утверждение об одном шаге выполнения. На этом этапе контракт уровня 1 (l1) разрешит спор, оценив инструкцию (и ее результат), чтобы поймать мошенническую сторону.
Утверждающий обязан предоставить «одношаговое доказательство», подтверждающее действительность оспариваемого одношагового вычисления. Если утверждающий не может предоставить одношаговое доказательство или верификатор уровня 1 (l1) сочтет доказательство недействительным, он проигрывает оспаривание.
Некоторые замечания об этом типе доказательства мошенничества:
-
Многораундовое интерактивное доказательство мошенничества считается эффективным, поскольку оно минимизирует работу, которую цепь уровня 1 (l1) должна выполнить при арбитраже споров. Вместо воспроизведения всей транзакции цепи уровня 1 (l1) нужно только повторно выполнить один шаг в выполнении роллапа.
-
Протоколы бисекции уменьшают объем данных, публикуемых ончейн (нет необходимости публиковать обязательства состояния для каждой транзакции). Кроме того, транзакции оптимистичного роллапа не ограничены лимитом газа Эфириума. И наоборот, оптимистичные роллапы, повторно выполняющие транзакции, должны убедиться, что транзакция уровня 2 (l2) имеет более низкий лимит газа, чтобы эмулировать ее выполнение в рамках одной транзакции Эфириума.
-
Часть залога злонамеренного утверждающего присуждается оспаривающему, а другая часть сжигается. Сжигание предотвращает сговор между валидаторами; если два валидатора вступят в сговор для инициирования фиктивных оспариваний, они все равно потеряют значительную часть всего стейка.
-
Многораундовое интерактивное доказательство требует, чтобы обе стороны (утверждающий и оспаривающий) делали ходы в течение указанного временного окна. Неспособность действовать до истечения крайнего срока приводит к тому, что не выполнившая обязательства сторона проигрывает оспаривание.
Почему доказательства мошенничества важны для оптимистичных роллапов
Доказательства мошенничества важны, потому что они способствуют финальности, не требующей доверия, в оптимистичных роллапах. Финальность, не требующая доверия, — это качество оптимистичных роллапов, которое гарантирует, что транзакция — при условии, что она действительна — в конечном итоге будет подтверждена.
Злонамеренные узлы могут попытаться задержать подтверждение действительного блока роллапа, начиная ложные оспаривания. Однако доказательства мошенничества в конечном итоге докажут действительность блока роллапа и приведут к его подтверждению.
Это также связано с другим свойством безопасности оптимистичных роллапов: действительность цепи зависит от существования одного честного узла. Честный узел может правильно продвигать цепь, публикуя действительные утверждения или оспаривая недействительные утверждения. В любом случае злонамеренные узлы, вступающие в споры с честным узлом, потеряют свои стейки в процессе доказательства мошенничества.
Интероперабельность L1/L2
Оптимистичные роллапы разработаны для интероперабельности с основной сетью Ethereum и позволяют пользователям передавать сообщения и произвольные данные между уровнем 1 (l1) и уровнем 2 (l2). Они также совместимы с EVM, поэтому вы можете переносить существующие децентрализованные приложения (dapp) в оптимистичные роллапы или создавать новые dapp, используя инструменты разработки Эфириума.
1. Перемещение активов
Вход в роллап
Чтобы использовать оптимистичный роллап, пользователи депонируют ETH, токены ERC-20 и другие принимаемые активы в контракт моста роллапа на уровне 1 (l1). Контракт моста передаст транзакцию на уровень 2 (l2), где эквивалентное количество активов чеканится и отправляется на выбранный пользователем адрес в оптимистичном роллапе.
Транзакции, сгенерированные пользователями (например, депозит L1 > L2), обычно ставятся в очередь, пока секвенсор не отправит их повторно в контракт роллапа. Однако для сохранения устойчивости к цензуре оптимистичные роллапы позволяют пользователям отправлять транзакцию непосредственно в ончейн-контракт роллапа, если она была задержана сверх максимально допустимого времени.
Некоторые оптимистичные роллапы применяют более прямой подход для предотвращения цензуры пользователей секвенсорами. Здесь блок определяется всеми транзакциями, отправленными в контракт уровня 1 (l1) с момента предыдущего блока (например, депозитами), в дополнение к транзакциям, обработанным в цепи роллапа. Если секвенсор игнорирует транзакцию уровня 1 (l1), он опубликует (доказуемо) неправильный корень состояния; следовательно, секвенсоры не могут задерживать сгенерированные пользователями сообщения после их публикации на уровне 1 (l1).
Выход из роллапа
Вывод средств из оптимистичного роллапа в Эфириум сложнее из-за схемы доказательства мошенничества. Если пользователь инициирует транзакцию L2 > L1 для вывода средств, депонированных на уровне 1 (l1), он должен подождать, пока не истечет период оспаривания, длящийся примерно семь дней. Тем не менее, сам процесс вывода довольно прост.
После того как запрос на вывод инициирован в роллапе уровня 2 (l2), транзакция включается в следующий пакет, в то время как активы пользователя в роллапе сжигаются. Как только пакет опубликован в Эфириуме, пользователь может вычислить доказательство Меркла, подтверждающее включение его транзакции выхода в блок. Затем остается только переждать период задержки, чтобы финализировать транзакцию на уровне 1 (l1) и вывести средства в Мейннет.
Чтобы не ждать неделю перед выводом средств в Эфириум, пользователи оптимистичного роллапа могут воспользоваться услугами поставщика ликвидности (LP). Поставщик ликвидности берет на себя право собственности на ожидающий вывод средств с уровня 2 (l2) и платит пользователю на уровне 1 (l1) (в обмен на комиссию).
Поставщики ликвидности могут проверить действительность запроса пользователя на вывод средств (самостоятельно выполнив цепь) перед выдачей средств. Таким образом, у них есть гарантии, что транзакция в конечном итоге будет подтверждена (т. е. финальность, не требующая доверия).
2. Совместимость с EVM
Для разработчиков преимуществом оптимистичных роллапов является их совместимость — или, что еще лучше, эквивалентность — с виртуальной машиной Эфириума (EVM). EVM-совместимые роллапы соответствуют спецификациям в желтой книге Эфириума (opens in a new tab) и поддерживают EVM на уровне байт-кода.
Совместимость с EVM в оптимистичных роллапах имеет следующие преимущества:
i. Разработчики могут переносить существующие смарт-контракты в Эфириуме в цепи оптимистичных роллапов без необходимости значительного изменения кодовых баз. Это может сэкономить время командам разработчиков при развертывании смарт-контрактов Эфириума на уровне 2 (l2).
ii. Разработчики и проектные команды, использующие оптимистичные роллапы, могут воспользоваться инфраструктурой Эфириума. Сюда входят языки программирования, библиотеки кода, инструменты тестирования, клиентское программное обеспечение, инфраструктура развертывания и так далее.
Использование существующих инструментов важно, поскольку эти инструменты на протяжении многих лет подвергались тщательному аудиту, отладке и улучшению. Это также избавляет разработчиков Эфириума от необходимости учиться создавать приложения с использованием совершенно нового стека разработки.
3. Кроссчейн-вызовы контрактов
Пользователи (внешне принадлежащие аккаунты) взаимодействуют с контрактами уровня 2 (l2), отправляя транзакцию в контракт роллапа или поручая это секвенсору или валидатору. Оптимистичные роллапы также позволяют аккаунтам контрактов в Эфириуме взаимодействовать с контрактами уровня 2 (l2), используя контракты мостов для ретрансляции сообщений и передачи данных между уровнем 1 (l1) и уровнем 2 (l2). Это означает, что вы можете запрограммировать контракт уровня 1 (l1) в основной сети Ethereum для вызова функций, принадлежащих контрактам в оптимистичном роллапе уровня 2 (l2).
Кроссчейн-вызовы контрактов происходят асинхронно — это означает, что вызов сначала инициируется, а затем выполняется позже. Это отличается от вызовов между двумя контрактами в Эфириуме, где вызов дает результаты немедленно.
Примером кроссчейн-вызова контракта является депозит токенов, описанный ранее. Контракт на уровне 1 (l1) депонирует токены пользователя и отправляет сообщение в парный контракт уровня 2 (l2) для чеканки равного количества токенов в роллапе.
Поскольку кроссчейн-вызовы сообщений приводят к выполнению контракта, от отправителя обычно требуется покрыть затраты на газ для вычислений. Рекомендуется установить высокий лимит газа, чтобы предотвратить сбой транзакции в целевой цепи. Сценарий моста токенов является хорошим примером; если сторона транзакции уровня 1 (l1) (депонирование токенов) работает, но сторона уровня 2 (l2) (чеканка новых токенов) дает сбой из-за нехватки газа, депозит становится безвозвратным.
Наконец, следует отметить, что вызовы сообщений L2 > L1 между контрактами должны учитывать задержки (вызовы L1 > L2 обычно выполняются через несколько минут). Это связано с тем, что сообщения, отправленные в Мейннет из оптимистичного роллапа, не могут быть выполнены до истечения окна оспаривания.
Как работают комиссии оптимистичных роллапов?
Оптимистичные роллапы используют схему комиссий за газ, во многом похожую на Эфириум, чтобы обозначить, сколько пользователи платят за транзакцию. Комиссии, взимаемые в оптимистичных роллапах, зависят от следующих компонентов:
-
Запись состояния: Оптимистичные роллапы публикуют данные транзакций и заголовки блоков (состоящие из хеша предыдущего заголовка блока, корня состояния, корня пакета) в Эфириуме в виде
blobили «большого двоичного объекта» (блоба). EIP-4844 (opens in a new tab) представил экономически эффективное решение для включения данных ончейн.blob— это новое поле транзакции, которое позволяет роллапам публиковать сжатые данные перехода состояния на уровне 1 (l1) Эфириума. В отличие отcalldata, которая остается ончейн навсегда, блобы недолговечны и могут быть удалены из клиентов через 4096 эпох (opens in a new tab) (примерно 18 дней). Используя блобы для публикации пакетов сжатых транзакций, оптимистичные роллапы могут значительно снизить стоимость записи транзакций на уровень 1 (l1). -
Использованный газ блоба: Транзакции, несущие блобы, используют механизм динамической комиссии, аналогичный тому, который был введен в EIP-1559 (opens in a new tab). Комиссия за газ для транзакций типа 3 учитывает базовую комиссию для блобов, которая определяется сетью на основе спроса на пространство блобов и использования пространства блобов отправляемой транзакцией.
-
Комиссии оператора L2: Это сумма, выплачиваемая узлам роллапа в качестве компенсации за вычислительные затраты, понесенные при обработке транзакций, во многом как комиссии за газ в Эфириуме. Узлы роллапа взимают более низкие комиссии за транзакции, поскольку уровни 2 (l2) имеют более высокие вычислительные мощности и не сталкиваются с перегрузками сети, которые заставляют валидаторов в Эфириуме отдавать приоритет транзакциям с более высокими комиссиями.
Оптимистичные роллапы применяют несколько механизмов для снижения комиссий для пользователей, включая пакетирование транзакций и сжатие calldata для снижения затрат на публикацию данных. Вы можете проверить трекер комиссий L2 (opens in a new tab) для получения обзора в реальном времени того, сколько стоит использование оптимистичных роллапов на базе Эфириума.
Как оптимистичные роллапы масштабируют Эфириум?
Как объяснялось, оптимистичные роллапы публикуют сжатые данные транзакций в Эфириуме, чтобы гарантировать доступность данных. Способность сжимать данные, публикуемые ончейн, имеет решающее значение для масштабирования пропускной способности в Эфириуме с помощью оптимистичных роллапов.
Основная цепь Эфириума устанавливает ограничения на то, сколько данных могут содержать блоки, выраженные в единицах газа (средний размер блока составляет 15 миллионов газа). Хотя это ограничивает количество газа, которое может использовать каждая транзакция, это также означает, что мы можем увеличить количество транзакций, обрабатываемых в блоке, за счет уменьшения данных, связанных с транзакциями, что напрямую улучшает масштабируемость.
Оптимистичные роллапы используют несколько методов для достижения сжатия данных транзакций и повышения скорости TPS. Например, в этой статье (opens in a new tab) сравниваются данные, которые базовая транзакция пользователя (отправка эфира) генерирует в Мейннете, с тем, сколько данных та же транзакция генерирует в роллапе:
| Параметр | Эфириум (L1) | Роллап (L2) |
|---|---|---|
| Нонс | ~3 | 0 |
| Цена газа | ~8 | 0-0.5 |
| Газ | 3 | 0-0.5 |
| Кому | 21 | 4 |
| Значение | 9 | ~3 |
| Подпись | ~68 (2 + 33 + 33) | ~0.5 |
| От кого | 0 (восстановлено из подписи) | 4 |
| Итого | ~112 байт | ~12 байт |
Выполнение некоторых грубых расчетов по этим цифрам может помочь показать улучшения масштабируемости, обеспечиваемые оптимистичным роллапом:
- Целевой размер для каждого блока составляет 15 миллионов газа, а проверка одного байта данных стоит 16 газа. Деление среднего размера блока на 16 газа (15 000 000/16) показывает, что средний блок может содержать 937 500 байт данных.
- Если базовая транзакция роллапа использует 12 байт, то средний блок Эфириума может обработать 78 125 транзакций роллапа (937 500/12) или 39 пакетов роллапа (если каждый пакет содержит в среднем 2000 транзакций).
- Если новый блок создается в Эфириуме каждые 15 секунд, то скорость обработки роллапа составит примерно 5208 транзакций в секунду. Это делается путем деления количества базовых транзакций роллапа, которые может содержать блок Эфириума (78 125), на среднее время блока (15 секунд).
Это довольно оптимистичная оценка, учитывая, что транзакции оптимистичного роллапа не могут составлять весь блок в Эфириуме. Однако это может дать приблизительное представление о том, какой прирост масштабируемости оптимистичные роллапы могут предоставить пользователям Эфириума (текущие реализации предлагают до 2000 TPS).
Ожидается, что внедрение шардинга данных в Эфириуме улучшит масштабируемость в оптимистичных роллапах. Поскольку транзакции роллапа должны делить пространство блока с другими транзакциями, не относящимися к роллапу, их пропускная способность ограничена пропускной способностью данных в основной цепи Эфириума. Данкшардинг увеличит пространство, доступное цепям уровня 2 (l2) для публикации данных в каждом блоке, используя более дешевое, непостоянное хранилище «блобов» вместо дорогой, постоянной CALLDATA.
Плюсы и минусы оптимистичных роллапов
| Плюсы | Минусы |
|---|---|
| Предлагает значительные улучшения масштабируемости без ущерба для безопасности или отсутствия необходимости в доверии. | Задержки в финальности транзакций из-за потенциальных оспариваний мошенничества. |
| Данные транзакций хранятся в цепи уровня 1 (l1), что улучшает прозрачность, безопасность, устойчивость к цензуре и децентрализацию. | Централизованные операторы роллапов (секвенсоры) могут влиять на порядок транзакций. |
| Доказательство мошенничества гарантирует финальность, не требующую доверия, и позволяет честному меньшинству обеспечивать безопасность цепи. | Если нет честных узлов, злонамеренный оператор может украсть средства, публикуя недействительные блоки и обязательства состояния. |
| Вычисление доказательств мошенничества открыто для обычного узла уровня 2 (l2), в отличие от доказательств действительности (используемых в ZK-роллапах), которые требуют специального оборудования. | Модель безопасности опирается как минимум на один честный узел, выполняющий транзакции роллапа и отправляющий доказательства мошенничества для оспаривания недействительных переходов состояния. |
| Роллапы выигрывают от «живучести, не требующей доверия» (любой может заставить цепь продвигаться вперед, выполняя транзакции и публикуя утверждения). | Пользователи должны дождаться истечения недельного периода оспаривания, прежде чем выводить средства обратно в Эфириум. |
| Оптимистичные роллапы полагаются на хорошо продуманные криптоэкономические стимулы для повышения безопасности в цепи. | Роллапы должны публиковать все данные транзакций ончейн, что может увеличить затраты. |
| Совместимость с EVM и Solidity позволяет разработчикам переносить нативные смарт-контракты Эфириума в роллапы или использовать существующие инструменты для создания новых dapp. |
Визуальное объяснение оптимистичных роллапов
Лучше воспринимаете визуальную информацию? Посмотрите, как Finematics объясняет оптимистичные роллапы:
Дополнительная литература об оптимистичных роллапах
- Как работают оптимистичные роллапы (Полное руководство) (opens in a new tab)
- Что такое блокчейн-роллап? Техническое введение (opens in a new tab)
- Основное руководство по Arbitrum (opens in a new tab)
- Практическое руководство по роллапам Эфириума (opens in a new tab)
- Состояние доказательств мошенничества на уровнях 2 (L2) Эфириума (opens in a new tab)
- Как на самом деле работает роллап Optimism? (opens in a new tab)
- Глубокое погружение в OVM (opens in a new tab)
- Что такое оптимистичная виртуальная машина? (opens in a new tab)
Руководства: Оптимистичные роллапы и мосты в Эфириуме
- Пошаговое руководство по стандартному контракту моста Optimism — Аннотированное пошаговое руководство по коду стандартного моста Optimism для перемещения активов между уровнем 1 (l1) и уровнем 2 (l2).