Ethereum

Подтверждение в L2 и финальность в Ethereum: почему это разные этапы

L2 быстро принимает операцию, затем публикует данные или доказательство в Ethereum. Разбираем локальное подтверждение, settlement и финальность.

Подтверждение в L2 и финальность в Ethereum: почему это разные этапы

Короткий ответ: отметка Success в L2 обычно означает, что секвенсор принял и исполнил транзакцию в своей цепочке. Затем rollup должен опубликовать данные или доказательство в Ethereum, а блок базовой сети – достичь финальности. Поэтому кошелёк, мост и биржа могут считать одну операцию завершённой в разные моменты.

Что даёт быстрое подтверждение L2

Секвенсор упорядочивает поступившие операции, формирует блоки L2 и быстро возвращает пользователю результат. Баланс в приложении меняется, появляется receipt и становится известен номер блока. Для обычного обмена внутри одной L2 этого часто достаточно, чтобы продолжить работу.

Такое подтверждение опирается на правила конкретной сети. Пока сведения не закреплены в Ethereum, сохраняются дополнительные риски: секвенсор может временно изменить порядок, данные ещё не опубликованы, а индексатор – показывать предварительное состояние. Это не означает, что любая операция откатится, но степень уверенности отличается от финальности L1.

Проверьте TxID в обозревателе самой L2. Статус, gas и события относятся к этой сети. Поиск того же хеша только в обозревателе Ethereum часто ничего не найдёт, потому что пользовательская транзакция не становится отдельной L1-транзакцией.

Как rollup связывает состояние с Ethereum

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

После публикации становится труднее скрыть или переписать историю L2 без нарушения правил контракта. У optimistic rollup дополнительно действует механизм оспаривания спорных утверждений. У validity rollup проверяется криптографическое доказательство корректности. Конкретные стадии и названия зависят от сети.

Состояние публикации обычно видно в специализированном обозревателе или интерфейсе моста. Не доверяйте случайному сайту, который просит подключить кошелёк только для чтения статуса: публичный TxID проверяется без подписи.

Что означает финальность Ethereum

В Ethereum блок сначала предлагается и подтверждается валидаторами, а затем становится финализированным по правилам proof of stake. Финальность означает, что изменение такой истории потребовало бы серьёзного нарушения протокола и потери залога участниками.

Если пачка L2 включена в финализированный блок L1, её опора на базовую сеть сильнее, чем сразу после мягкого подтверждения секвенсора. Но окончательность вывода активов также зависит от контракта моста и предусмотренного периода ожидания.

Не подменяйте эти этапы числом «подтверждений» из другой сети. Пять блоков L2 и пять блоков Ethereum измеряют разные процессы. Для крупной суммы ориентируйтесь на политику принимающего сервиса и состояние settlement конкретного rollup.

Реорганизация на раннем этапе может изменить положение операции в цепочке, поэтому приложения иногда ждут несколько блоков даже до публикации пачки. Если TxID временно исчез, сравните высоту и хеш блока в нескольких источниках. Повторная отправка безопасна только после проверки nonce и окончательного отсутствия исходного результата.

Почему биржа всё ещё ждёт

Биржа может поддерживать L2, но зачислять депозит только после заданного количества блоков, публикации пачки или собственного риск-контроля. Её статус Processing не отменяет Success в обозревателе. Сервис отдельно индексирует токен, сеть и адрес назначения.

Сначала убедитесь, что выбраны поддерживаемые сеть и контракт актива. Если депозит отправлен из другой L2, формально одинаковый 0x-адрес не гарантирует зачисление. Подробный порядок есть в статье, почему биржа не видит депозит из L2.

Как проверить стадию самостоятельно

  1. Откройте пользовательский TxID в обозревателе L2 и проверьте status, block и token transfers.
  2. Убедитесь, что блок не помечен как предварительный или изменённый.
  3. Через официальный обозреватель сети найдите пачку или обязательство, включающее этот блок.
  4. Проверьте L1-транзакцию публикации и её состояние в Ethereum.
  5. Для вывода отдельно проверьте готовность доказательства и финального claim.

Если секвенсор не отвечает, не создавайте много одинаковых операций. Сначала разберите, что происходит при остановке секвенсора. Локальная ошибка RPC и сетевой простой требуют разных действий.

Вывод через мост – отдельная последовательность

Канонический мост может потребовать инициацию в L2, доказательство в L1 и финализацию после установленного периода. Быстрое подтверждение первого шага не означает, что ETH уже доступен в Ethereum. Этапы подробно разобраны в материале о выводе из optimistic rollup.

Сторонний мост иногда выдаёт ликвидность назначения раньше, принимая на себя ожидание. Тогда пользователь зависит ещё и от контракта, валидаторов или пула этого сервиса. Разницу раскрывает сравнение канонического и стороннего моста.

Что сообщить поддержке

Подготовьте название L2, публичный адрес, пользовательский TxID, номер блока, контракт токена, сумму и L1-хеш пачки, если он доступен. Seed-фраза, приватный ключ, пароль и 2FA не нужны для проверки финальности. Не подписывайте «синхронизацию блока» по просьбе незнакомца.

Если вопрос относится к бирже или мосту, приложите точное название выбранной сети из формы депозита и ожидаемый этап. Это помогает отделить задержку финальности от неподдерживаемого маршрута.

Итог

Подтверждение секвенсора даёт быстрый результат внутри L2, публикация связывает его с Ethereum, а финальность укрепляет необратимость базового блока. Для обычного действия и канонического вывода критерии завершения разные. Проверяйте каждый слой в его обозревателе и не повторяйте платёж из-за одной задержавшейся отметки.