Обработка транзакции в сети Whitechain L2

В этой статье мы расскажем о тонкостях обработки транзакций в сети L2.

Как быстро обрабатывается транзакция и когда она становится необратимой?

Блоки поступают каждую секунду, а предварительные подтверждения Flashblock — примерно каждые 200 мс. Эти ранние подтверждения основаны исключительно на данных секвенсора. Ваша транзакция становится «безопасной», когда её пакет подтверждается в сети Ethereum (в тестовой сети это может занять до 30 минут), а «окончательно подтверждается» примерно через 13 минут после этого. Только состояние окончательного подтверждения является необратимым.

Стадии подтверждения

  • Preconfirmation – ваша транзакция включается в частичный блок (Flashblock) по сигналу секвенсора. Примерное время: около 200 мс
  • Soft confirmation – ваша транзакция включена в блок L2 по сигналу секвенсора. Примерное время: около 1 секунды
  • Safe – пакет отправлен в Ethereum и подтверждён. Примерное время: до 30 минут в тестовой сети
  • Finalized – подкреплено финализированными данными Ethereum. На этом этапе ваша транзакция уже не является необратимой. Примерное время: около 13 минут после поступления пакета в L1

Перед каждым полным односекундным блоком секвенсор передает Flashblocks: частичные блоки, публикуемые примерно каждые 200 мс, на основе технологии rollup-boost от Flashbots.

Flashblock представляет собой предварительное подтверждение — он сообщает вам в течение примерно 200 мс, что ваша транзакция включена в блок и упорядочена, и обладает таким же уровнем доверия, как и soft confirmation (слово секвенсора). Приложения, читающие поток Flashblocks, могут отображать обратную связь за доли секунды. Этот поток отделен от общедоступного RPC. Чтобы получить к нему доступ, обратитесь к команде Whitechain с запросом на URL-адрес WebSocket для Flashblocks.

Может ли реорганизация сети Ethereum привести к отмене транзакции?

Финализированный блок L2 защищен так же, как и финализированные блоки Ethereum, поэтому реорганизация не приводит к его откату. “Неглубокая” реорганизация может сместить «безопасную» головку: узел заново выводит данные на основе канонической цепочки Ethereum, и затронутый пакет данных отправляется заново. Блоки, достигшие финализации, не могут быть откачены.

Комиссии 

Whitechain настроен в режиме пользовательского токена газа OP Stack, где в качестве нативного токена вместо ETH используется WBT. Любая комиссия в сети оплачивается в WBT, независимо от того, какую операцию вы выполняете, поэтому для отправки любой транзакции необходимо иметь баланс в WBT. Использование WBT в качестве газа означает, что один актив покрывает как расходы на газ в цепочке, так и функциональность на бирже.

Комиссия состоит из двух частей: комиссии за выполнение на L2 (стоимость выполнения вашей транзакции в Whitechain) и комиссии за передачу данных на L1 (стоимость публикации транзакции в Ethereum).

При минимальной базовой комиссии в 5 gwei выполнение простого перевода WBT объёмом 21 000 газа обходится примерно в 0,000105 WBT, что значительно меньше одного цента при примерной цене 50 долларов за WBT. Развертывание небольшого контракта обходится примерно в 0,0006 WBT, что составляет около трёх центов при том же примерном курсе.

Это текущие параметры комиссий в тестовой сети (Testnet). Окончательные параметры комиссий в основной сети (Mainnet) ещё не установлены и будут опубликованы перед запуском Mainnet.

Обратите внимание: в браузере может отображаться только комиссия за выполнение транзакции на уровне L2. Комиссия за передачу данных на уровне L1 за публикацию вашей транзакции в сети Ethereum взимается дополнительно, и разница между указанной комиссией и суммой вашего баланса и составляет эту комиссию. Обе части комиссии взимаются в любом случае.

FAQ

Нужно ли платить за транзакцию, которая завершилась неудачно?

Да. Сеть выполняет работу до момента сбоя, поэтому вы платите за использованный газ, и взимаются обе части комиссии.

Насколько предсказуемы цены на газ?

В текущей конфигурации тестовой сети (Testnet) базовая комиссия L2 соответствует EIP-1559 с эластичностью 6 и знаменателем 250, поэтому она изменяется не более чем на 2% за блок и никогда не опускается ниже 5 gwei. Переменной частью является комиссия за передачу данных L1, которая привязана к базовой комиссии Ethereum и базовой комиссии за передачу BLOB-данных, поэтому ваша общая сумма комиссии увеличивается, когда сеть Ethereum перегружена. Параметры основной сети (Mainnet) будут опубликованы перед запуском Mainnet.

Кто получает комиссии?

Протокол собирает комиссии в сетевые хранилища комиссий: базовая комиссия, “приоритетный чаевой” и комиссия за передачу данных L1 поступают в отдельные хранилища. Комиссия за передачу данных L1 компенсирует затраты на отправку данных в Ethereum. Whitechain устанавливает комиссию оператора равной нулю, поэтому вы оплачиваете только стоимость выполнения на L2 и стоимость расчёта на L1 без каких-либо дополнительных наценок.

Как правильно рассчитать комиссию?

Вы можете воспользоваться существующими инструментами. Библиотеки, такие как Viem, поддерживают OP Stack и автоматически возвращают комиссию за передачу данных L1, причём они продолжают работать даже после обновлений сети. Если вы не можете использовать библиотеку, получите комиссию за передачу данных L1 из предварительно развернутого модуля «GasPriceOracle» по адресу 0x420000000000000000000000000000000000000F, вызвав функцию «getL1Fee» с вашей сериализованной транзакцией без подписи. Не реализуйте формулу расчета комиссии самостоятельно; она меняется при обновлениях.

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 0 из 0

Еще есть вопросы? Отправить запрос