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

Блок имеет ограниченный размер в 1 мегабайт, а все неподтвержденные (пока не попавшие в блок) транзакции хранятся в мемпуле (в памяти биткоин-ноды).

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

Вторая по частоте причина статуса UnConfirmed — наличие ранее неподтвержденных переводов. Обычно сделки необходимо подтверждать по цепочке. Новые транзакции не попадут в блок, пока входящие монеты не подтверждены.

b1369adf541ce669464f71cc57a78615.png

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

Биткоин-ноды имеют разные настройки. Некоторые удаляют транзакции, которые не были подтверждены в течении 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 запросов для бродкаста транзакции:

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

© Habrahabr.ru