Почему биткоин-транзакция зависла?
Блок имеет ограниченный размер в 1 мегабайт, а все неподтвержденные (пока не попавшие в блок) транзакции хранятся в мемпуле (в памяти биткоин-ноды).
При большом количестве неподтвержденных транзакций майнеры стараются выбирать переводы с самой большой комиссией сети и с наименьшим размером, чтобы больше заработать. Транзакции с меньшей комиссией сети остаются необработанными до тех пор, пока нагрузка сети не спадет.
Вторая по частоте причина статуса UnConfirmed — наличие ранее неподтвержденных переводов. Обычно сделки необходимо подтверждать по цепочке. Новые транзакции не попадут в блок, пока входящие монеты не подтверждены.
Почему транзакции теряются?
Биткоин-ноды имеют разные настройки. Некоторые удаляют транзакции, которые не были подтверждены в течении 1–3 суток. Некоторые не принимают транзакции со слишком низкой комиссией сети. Так, например, если мемпул переполнен и в нем уже более 50 Мб необработанных записей, а средняя комиссия сети 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 и подпись Schnorr признаны следующим этапом масштабирования сети.
Вариант, при котором используются специальные ускорители. Не всегда для пользователей он удобен, так как достаточно дорогой, но бывает такое, что это тот самый единственный выход из ситуации. Огромной популярностью пользуются viabtc.com и btc.com. Воспользоваться им может и отправитель, и получатель. Это майнговые пулы, которые за дополнительную плату добавляют в ближайший блок данную транзакцию. Минус этого способа в высокой цене.
Как ускорить подтверждение транзакции?
Если перевод отображается не во всех блокчейн-эксплорерах, то транзакцию лучше заново отправить. Для этого скопируйте хэш (hash) транзакции или сырую транзакцию (raw tx), в зависимости что требуется, и отправьте вручную с использованием следующих форм:
Также существуют платные и бесплатные акселераторы, использующие множество API запросов для бродкаста транзакции:
В любом случае, повторная отправка зависшей транзакции будет полезна. Частные ноды, майнеры, сервисы и блокчейн-обозреватели проверят и добавят их к себе.