Застрявшие и неудавшиеся транзакции

2026-07-28

Застрявшие и неудавшиеся транзакции

Мало что тревожит новичка сильнее, чем транзакция, час висящая в «ожидании», или та, что не удалась, но всё равно взяла комиссию. И то, и другое — нормальные части работы блокчейнов, и оба можно исправить или избежать, поняв, что происходит. Вот почему транзакции застревают или проваливаются и что делать в каждом случае.

Застрявшие и неудавшиеся транзакции: ключевые моменты кратко

Ожидание, застревание и провал

Эти три слова описывают разные состояния, и их путаница вызывает лишнюю панику. Ожидающая транзакция передана и стоит в очереди на включение — вполне нормально какое-то время. Застрявшая транзакция ожидает необычно долго, потому что её комиссия слишком мала, чтобы её взяли. Неудавшаяся, напротив, действительно обработалась, но не завершила задуманное действие. Знание того, в каком вы состоянии, говорит, ждать ли, вмешаться или расследовать.

Почему транзакция застревает

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

Как высвободить транзакцию

Поскольку ожидающая транзакция ещё не окончательна, вы можете её заменить. Стандартный инструмент — замена по комиссии: вы переотправляете транзакцию с тем же nonce, но большей комиссией, и валидаторы берут лучше платящую версию. Кошельки обычно выставляют это как кнопку «ускорить». Если вы предпочли бы, чтобы она никогда не выполнилась, вы шлёте «отмену» — транзакцию нулевой стоимости себе с тем же nonce и большей комиссией, занимающую этот слот. В любом случае, очистка застрявшего nonce также освобождает всё, стоящее за ним.

Почему транзакция проваливается и всё же стоит

Неудавшаяся транзакция кажется несправедливой, ведь с вас всё же берут плату, но логика согласована: валидаторы проделали реальную работу, чтобы её выполнить, так что им должны заплатить независимо от исхода. Частые причины: исчерпание выделенного вами газа, смарт-контракт, отклонивший действие откатом, или обмен, провалившийся, потому что цена ушла за ваш допуск проскальзывания. Блокчейн записывает попытку и потребляет газ, хотя ваши средства в остальном остаются на месте.

Чтение и избегание ошибки

Обозреватель блоков обычно показывает, почему транзакция провалилась, часто с короткой причиной вроде «нехватка газа» или сообщением об ошибке контракта. Чтобы избегать провалов, позвольте кошельку оценивать газ, а не форсируйте низкий лимит, задавайте реалистичный допуск проскальзывания на волатильных обменах и будьте осторожны с незнакомыми контрактами, что могут откатиться. Когда что-то проваливается снова и снова, это часто контракт говорит, что действие сейчас не может удаться, а не проблема для грубой силы.

Итог

Застревание и провал — разные проблемы с разными решениями. Застрявшая транзакция ждёт из-за комиссии, слишком малой для спроса, и решается ускорением или отменой, помня, что порядок nonce блокирует всё за ней. Неудавшаяся уже выполнилась и не смогла завершиться, всё же стоя газа, и лучше предотвращается разумными настройками газа и проскальзывания. Ни то, ни другое не безнадёжно — оба рутинны, когда знаешь приёмы.

Отказ от ответственности: Эта статья — образовательный материал от Bitbase Academy, предоставленный только в информационных целях. Она не является инвестиционным, торговым, налоговым или финансовым советом. Написано по состоянию на июль 2026 года; полагайтесь на самую свежую официальную информацию.

Источники

[1] MetaMask, "Speed up, cancel, or resubmit a transaction" metamask.io

[2] Blocknative, "Understanding stuck and dropped transactions" blocknative.com