Висит неподтвержденная транзакция биткоин, что делать?

Висит неподтвержденная транзакция биткоин, что делать?

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

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

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

В идеальном случае каждая транзакция в Bitcoin должна получить как минимум 6 подтверждений, хотя на практике часто используется и меньшее количество. Однако, ни один сервис не примет неподтвержденную транзакцию, то есть такую, которая не включена ни в один блок. Именно в таких случаях принято говорить, что перевод “завис” в блокчейне. А весь этот список неподтвержденных транзакций называется мемпул, и у каждого участника сети он может быть свой.

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

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

Зависла транзакция в блокчейне: что делать?

Первое, что необходимо сделать, — получить информацию о статусе транзакции. Для этого зайдите на сайт blockchain.info и введите хеш транзакции (обычно обозначается как tx или tx hash).

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

В графе «Плата за байт» указан размер комиссии. Это число пригодится для дальнейшей оценки ситуации.

Далее нужно сравнить эту комиссию с текущей статистикой сети Bitcoin. Сделать это можно, просмотрев рекомендуемые комиссии на сайте https://pubtx.com/network_fee Если плата за байт примерно равна или превышает последнее число в поле «Recommended fee», можно надеяться на подтверждение транзакции в течение 1–2 часов.

Для подтверждения информации можно воспользоваться сервисом Bitcoinfees, который показывает количество неподтвержденных переводов, разделяя их по размеру комиссии.

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

Способы ускорения транзакций

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

Использование ускорителей майнинговых пулов

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

В первую очередь стоит использовать ускоритель ViaBTC: он не требует регистрации, и все, что нужно сделать пользователю — ввести хеш транзакции и капчу. Если после нескольких попыток транзакция так и не подтвердилась, следует переходить к использованию ускорителя Antpool. Для регистрации на сайте нужно указать E-mail и пароль. BTC.com платный и самый дорогой из способов, но даст 100% гарантию, что при следующем блоке этого майнера, ваша транзакция будет подтверждена.

Ретранслировать повторно

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

https://pubtx.com/
https://btcnitro.com/
https://www.bitcoinjumper.com/
https://cryptocurrency360.com/
https://eli.cx/

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

Replace-by-fee

Данная возможность позволяет создать копию зависшей транзакции с повышенной комиссией. На сегодня replace-by-fee поддерживается популярными десктопными кошельками Bitcoin Core и Electrum, а также онлайн-кошельком GreenAddress. Для использования функции нужно создать перевод, содержащий точно такую же сумму, при этом увеличив комиссию до приемлемого уровня. Кроме того, при отправке транзакции нужно обязательно выбрать пункт replace-by-fee: в противном случае средства отправятся дважды. В Bitcoin Core нужная галочка спрятана в нижней части окна отправки.

CPFP (Child pays for parent)

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

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

Для использования CPFP в Bitcoin Core нужно перейти в меню «Настройки» — «Опции», выбрать вкладку «Кошелек» и отметить галочки, как показано на скриншоте.

После этого останется создать новую транзакцию через вкладку «Отправить». Щелчком по кнопке «Входы» нужно выбрать сумму, которая изначально была отправлена на счет получателя. Если ускорение производит отправитель, в качестве входа нужно выбирать «сдачу», которая осталась после отправки транзакции. Увидеть размер сдачи можно при просмотре транзакции на сайте blockchain.info. При использовании CPFP следует устанавливать комиссию, достаточную для проведения сразу двух транзакций. Например, при рекомендуемой плате 15 sat/B следует устанавливать комиссию 30 sat/B или выше.

Двойное расходование

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

Для начала необходимо запустить кошелек из командной строки с параметром -zapwallettxes. Кроме того, для современных версий Bitcoin Core требуется удаление файла mempool.dat из папки с программой. После этого можно создавать новую транзакцию, которая в точности повторит старую, за исключением увеличенной комиссии.

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

Заключение: как защититься от неподтвержденных транзакций

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

 

Источник

Читайте также