Статья Почему биткоин-транзакция зависла?

fenix

Эксперт
Команда форума
Судья
ПРОВЕРЕННЫЙ ПРОДАВЕЦ ⭐⭐⭐⭐⭐
Private Club
Регистрация
26/8/16
Сообщения
9.610
Репутация
52.702
Реакции
52.679
RUB
10.000
Депозит
300 000 рублей
Сделок через гаранта
206
В этой статье мы рассмотрим некоторые основные причины зависания BTC-транзакций, способы избежать такой ситуации и методы, с помощью которых можно попытаться ускорить прохождение транзакции.

После долгой криптозимы в 2024 году наступил бычий рынок. Будучи одним из старейших и надежных блокчейнов, Биткоин может обрабатывать лишь определенное количество транзакций в секунду. И когда происходит всплеск использования, в сети Биткоин становится много ожидающих и зависших транзакций.

Вы отправили кому-нибудь биткоины, но они еще не получили их? Вы ждете, чтобы получить что-то самостоятельно, но в транзакции просто указано, что она находится в ожидании?

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

Как работают биткоин-транзакции?​

Всякий раз, когда кто-то совершает транзакцию в сети Биткоин, она передается всем узлам. Их задача – тщательно проверить все данные и определить приоритет транзакций для включения в блок.

Блок имеет ограниченный размер в 1 мегабайт. Но общий объем транзакций, претендующих на включение в блок может быть существенно больше.
Узлы хранят полную запись всей цепочки блоков, а также коллекцию всех транзакций, которые еще предстоит подтвердить в блоке и добавить в блокчейн.
Эта коллекция неподтвержденных транзакций называется мемпул.

Технически у каждого узла есть свой мемпул, как и у каждого майнера. Все неподтвержденные (заявленные, но пока не попавшие в блок) транзакции хранятся в мемпуле.
Майнеры используют мемпул, чтобы определить приоритетность транзакций, которые они хотят включить в следующий блок, предполагая, что они выиграют шанс предложить следующий блок, найдя правильный в процессе майнинга.

Если ваша транзакция застряла в статусе «ожидает», это потому, что она не была включена ни в один из добытых блоков. На то есть две основные причины:
  • Высокая нагрузка. При большом количестве неподтвержденных транзакций майнеры стараются выбирать переводы с самой большой комиссией сети и с наименьшим размером, чтобы больше заработать. Транзакции с меньшей комиссией сети остаются необработанными до тех пор, пока нагрузка на сеть не уменьшится.
  • Неподтвержденные входы. Вторая по частоте причина статуса UnConfirmed - наличие ранее неподтвержденных переводов. Обычно все предыдущие транзакции необходимо подтверждать в блокчейне. Новые транзакции не попадут в блок, пока входящие биткоины не подтверждены.

Как майнеры расставляют приоритеты транзакций?​

Майнеры — это не благотворительные организации. Это бизнес. Им нужно зарабатывать деньги.

Помимо получения вознаграждения за блок (в настоящее время 3,125 BTC), майнеры хотят максимизировать свой доход.

Они делают это, отдавая приоритет транзакциям, по которым выплачиваются самые высокие комиссии.

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

Майнеры предпочитают включать транзакции с самыми высокими комиссиями. Эти сборы являются добровольными и не обязательно связаны с размером транзакции.
Тот, кто переведет всего несколько сат, может заплатить более высокую комиссию майнеру, чем тот, кто переведет несколько биткоинов. Более того, недавно запущенные протоколы Ordinals, BRC-20 и Runes могут использовать только один сатоши, чтобы записать в блокчейн свою информацию. И таких транзакций становится все больше.
Предложение минимальной комиссии майнерам в таких условиях будет означать, что ваша транзакция всегда будет находиться в конце очереди.

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

Как долго зависшие транзакции остаются в ожидании?​

Не существует точного времени, как долго зависшая транзакция будет оставаться в ожидании.

Максимальный размер мемпула составляет 300 МБ. Если мемпул заполнится до этого предела, узлы «забудут» транзакции с наименьшими комиссиями.
В этом случае все становится так, как будто транзакция никогда не транслировалась. Ваши средства останутся у вас в кошельке, и вы сможете повторить транзакцию.
Даже если мемпул никогда не заполняется, ваша транзакция может быть отклонена и возвращена, если ее включение в блок займет слишком много времени.
Это связано с тем, что узлы не будут хранить транзакции в своих мемпулах более нескольких дней. Точное количество времени варьируется, и ваша транзакция может зависнуть в ожидании на некоторое время, прежде чем она будет подтверждена (включена в блок) или отклонена.

Как гарантировать, что ваши транзакции будут подтверждены​

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

Минимальная комиссия зависит от того, насколько в настоящее время перегружена сеть Биткоин и сколько места ваша транзакция займет в блокчейне.

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

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

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

Как избежать зависания биткоин-транзакций​

Есть только три способа избежать зависания биткоин-транзакций.

Вариант 1 – Подождать​

Первый – не избегать этого, а просто принять. Если вы не торопитесь и не хотите платить высокие комиссии, можно просто подождать. Ваши биткоины в безопасности, и если ваша транзакция не будет подтверждена, они будут возвращены в ваш кошелек. Использование минимальной комиссии — отличный вариант, если у вас есть время и вы хотите экономичный способ отправить деньги.

Вариант 2. Платить более высокие комиссии​

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

Вариант 3. Использовать сеть Lightning​

— это платежная сеть второго уровня поверх Биткоина, которая позволяет совершать мгновенные и дешевые транзакции. Вам нужно будет заплатить комиссию в основном блокчейне Биткоин, чтобы открыть и закрыть канал Lightning, но как только он откроется, вы сможете совершать транзакции с очень низкой комиссией. Изучите все доступные кастодиальные и некастодиальные кошельки Lightning, чтобы выбрать наиболее подходящий.
При этом важно помнить, что управлять ликвидностью Lightning и наборами UTXO разумно во времена низких комиссий.

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

Узлы сети Биткоин могут иметь разные настройки. В том числе разное время хранения транзакции до включения в блок. Одни узлы удаляют транзакции, которые не были подтверждены в течении 1-3 суток. Другие и вовсе не принимают транзакции со слишком низкой комиссией сети. Так, например, если мемпул переполнен и в нем уже больше максимального количества необработанных записей (это может быть от 50 до 300 Мб), а средняя комиссия сети 30 сатоши на байт, тогда транзакции с комиссией 1 сатоши на байт узел может отказаться принимать.

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

Именно из-за настроек ноды в разных блокчейн-эксплорерах вы можете наблюдать разное количество неподтвержденных транзакций.

Что делать, если биткоин-транзакция все же зависла​

Ждать, пока майнеры разберут по блокам транзакции с более высокой комиссией и дойдут до вашей. Может занять от нескольких часов до нескольких дней.
Сделать Double-Spend или «двойное расходование». Вариант доступен только для отправителя. Предусматривает «двойное расходование», т.е. собрать полностью новую транзакцию, может даже на другую сумму, с большей комиссией сети. Тогда майнеры выберут ее как более выгодную для себя, а старую транзакцию удалят и забудут.

Попробовать использовать функцию replace-by-fee - замена комиссии в той же транзакции. Фактически здесь все зависит от отправителя. Поддерживается кошельками Bitcoin-QT, Electrum, Samourai Wallet (Android), Green, Blue Wallet и другими. Если у Вас произошла ситуация с «зависанием», в будущем обязательно воспользуйтесь одним из этих кошельков.
Применить CPFP (Child pays for parent) - использование неподтвержденных монет в новой транзакции с высокой комиссией. Таким образом майнеры возьмут обе транзакции, т.к. новая транзакция принесет доход майнерам, который покроет добавление обоих переводов. Этот способ только для получателя.

В будущем обязательно пользуйтесь SegWit-адресами, они начинаются на bc1 или в переходном формате на 3. Транзакции с таких адресов имеют более высокий приоритет в сети Биткоин и стоят дешевле. Почти все современные кошельки поддерживают данный формат адреса.

Новый стандарт Taproot, на данный момент крайне мало кто поддерживает, но эти транзакции еще меньше и дешевле в использовании. Протокол Taproot и подписи Шнорра признаны следующим этапом масштабирования сети.

Вариант, при котором используются специальные ускорители, не всегда удобен для пользователей, так как достаточно дорогой, но бывает такое, что это единственный выход из ситуации. Огромной популярностью пользуются viabtc.com и btc.com. Воспользоваться им может и отправитель, и получатель. Это майнговые пулы, которые за дополнительную плату добавляют в ближайший блок данную транзакцию. Минус этого способа в высокой цене.

Как ускорить прохождение транзакции​

Кроме перечисленных выше способов избежать зависания транзакции есть еще ряд инструментов, позволяющих повысить шансы на включение транзакций в блок.

Если перевод отображается не во всех блокчейн-эксплорерах, то можно попробовать отправить транзакцию заново. Для этого скопируйте хэш (hash) транзакции или сырую транзакцию (raw tx), в зависимости от того, что требуется, и отправьте вручную с использованием следующих форм:




Эти инструменты помогают оповестить о вашей транзакции как можно большее количество узлов.

Также существуют платные и бесплатные акселераторы, использующие множество API запросов для широкого оповещения узлов сети о транзакции (бродкастинга):







В любом случае, повторная отправка зависшей транзакции будет полезна. Частные ноды, майнеры, сервисы и блокчейн-обозреватели ее проверят и добавят к себе в мемпул и она получит новый шанс на включение в блок.






 
хотел бы добавить еще пару сайтов, где можно смотреть комиссию битка и ускорить зависшию транзакцию

 
  • Теги
    биткоин биткоин транзакции мемпул криптовалюты
  • Сверху Снизу