Содержание статьи:
- Почему может зависнуть транзакция Биткоин
- Что делать, если зависла транзакция Bitcoin — все варианты
- Как защититься от неподтвержденных транзакций Биткоин
Неподтвержденная транзакция Биткоин — сделка в криптовалютной сети, которая после инициации не получила место в очередном блоке цепочки блокчейн. Число операций с Bitcoin растёт, поэтому при заполнении элементов blockchain появляется конкуренция. Размер блока остаётся неизменным и составляет только 1000 Кб (1 Мб). Не удивительно, что в криптосети всё чаще возникают задержки, которые растягиваются на 5–7 часов и более.
Такие ситуации создают трудности для людей, которые планировали быстро перевести деньги, но столкнулись с непредвиденной паузой в транзакции. Что делать? Как поступить, если платёж завис? В чём особенности каждого из методов? Эти и другие нюансы рассмотрим ниже.
Почему может зависнуть транзакция Биткоин?
Время отправки криптовалюты другому пользователю зависит от ряда факторов — загруженности сети на момент перевода, размера установленной комиссии, объёма сделки, а также приоритета платежа. Чтобы уточнить время, которое осталось для подтверждения (хотя бы ориентировочно), можно зайти на специальный сервис (к примеру, blockchain.info), после чего указать в сроке поиска ID операции.
Причин, почему не подтверждается транзакция Биткоин, множество:
- Сделка вытесняется из блока другой операцией, которая имеет приоритет. Такое возможно, когда размер элемента цепи подходит к предельному параметру, а перевод участника сети оказался последним.
- Заканчивается время «жизни» платежа, которое равно 72 часам.
- Появляется конфликт между текущей операцией и иной сделкой, которая ранее была подтверждена.
- Платеж заменяется отправителем на другой платеж.
Операция, которая «выдавлена» из блока, может вернуться в хранилище отправителя (при получении статуса несостоявшейся транзакции) или зависнуть. Иногда платёж направляется кошельком снова и снова. В такой ситуации деньги «замораживаются» и применить их уже не получится. В бумажнике появляется информация следующего содержания «Status:0/unconfirmed, in memory pool».
Последняя ситуация происходит редко. Как правило, по истечению 3-х суток деньги возвращаются на хранилище отправителя. Это происходит в случае, если человек отправил небольшую сумму и выставил слишком низкую или нулевую комиссию.
Что делать, если зависла транзакция Bitcoin — все варианты
Рост спроса на Биткоин и задержки с подтверждением транзакций привели к новому этапу обсуждений проблем с мастштабируемостью Биткоина. Текущего размера блока в 1 Мб недостаточно, чтобы покрыть потребности пользователей, которые ежедневно совершают миллионы переводов. Если исходить из того, что средний размер операции равен 0,5 Кб, в один блок вмещается 2000 сделок, а реальных запросов в десятки раз больше. Как следствие, в очередной узел «пробиваются» крупные платежи с высокой комиссией, а остальные висят в статусе неподтверждённых и ожидают своей очереди. Ниже рассмотрим, как действовать в ситуации, если зависла транзакция Биткоин.
Дождаться проведения сделки
Если время терпит, можно не форсировать события и просто подождать. Распространённая причина задержки связана с загрузкой сети и ограниченным числом майнеров, занимающихся формированием очередного блока. Если сеть не отличается высокой волатильностью и не перегружена, причиной может быть низкая комиссия. Узнать оптимальную премию можно по ссылке btc.com/stats/unconfirmed-tx. На 11 апреля 2018 года рекомендуемый размер платежа равен 0,00001 Биткоин за 1 Кб. Следовательно, при проведении транзакции объёмом 500 Кб комиссия должна составлять не меньше 0,0005 BTC.
Замена размера премии (Replace by fee)
Для ускорения транзакции можно заменить комиссии. Такая возможность доступна отправителю средств. Официальное название опции — Replace by fee (RBF). При её отсутствии повторный перевод не пройдёт проверку и будет отброшен блокчейном. Это связано с тем, что двойная трата одних и тех же средств запрещена. Включение рассмотренной опции информирует систему о том, что сделка корректна.
Суть функции проста. Известно, что платежи с меньшей комиссией проходят дольше, чем сделки, за которые назначена более высокая премия. Если пользователь увеличит вознаграждение, транзакция передвинется вперёд по очереди и будет проведена одной из первых. Такая особенность носит название «выборочная замена комиссии» (Replace by fee). Сущность в том, что операция не меняется — просто к ней прибавляются дополнительные комиссионные.
При проведении такой манипуляции важно быть внимательным, ведь система может воспринять действие с позиции двойного расходования и заблокировать проведение платежа. Если же применить опцию RBF, брак транзакции исключен. При включении функции сеть видит операцию, которая имеет большую комиссию, после чего сделка перемещается вперед по очереди и быстрее исполняется.
Наличие такой опции ещё не даёт гарантии быстрого проведения перевода, ведь это зависит от майнеров, которые формируют блоки. Причина в том, что не все участники сети работают с Replace by fee. Кроме того, RBF актуальна не для всех кошельков. Сегодня она поддерживается бумажниками Электрум и ГринАдрес. Что касается Bitcoin Core, здесь такая функция доступна при включении дополнительных скриптов.
Ускорители
Неподтверждённые транзакции Bitcoin можно «протолкнуть» с помощью специальных ускорителей. Один из вариантов — майнинговый пул viaBTC, позволяющий снизить время проведения перевода. Несмотря на сравнительную «молодость», сервис заслужил популярность в широких кругах и часто применяется для ускорения зависших сделок в криптовалютной сети. Если транзакция не поступает получателю в течение суток и более, помощь такого пула будет полезна.
Недостатки viaBTC для ускорения транзакции Bitcoin:
- Сервис сложен в управлении, поэтому перед применением стоит потратить время на рассмотрение его возможностей.
- Программа работает с небольшим числом транзакций, что приводит к периодическим зависаниям в процессе применения. На практике ускоритель обрабатывает несколько сделок в течение 60 минут, что ограничивает его возможности.
- Зайти в пул удаётся не всегда. К примеру, 11 апреля 2018 года с этим возникли проблемы. Система просит войти на страничку позже.
- В будущем за услуги площадки будет взиматься комиссия, зависящая от размера транзакции.
Для запуска ускорителя требуется ID операции, а также ввод каптчи. Сервис изучает введенные сведения и ставит перевод в очередь. Если транзакция отмечена сервисом, она переносится в блок, полученный пулом.
Альтернативой для рассмотренного сайта является пул AntPool. Кроме того, в Интернете можно найти ресурсы-агрегаторы (к примеру, perenosi.com), разрабатываются боты-ускорители для мессенджера Телеграм (пример @FastTXbot).
Двойное расходование (Double Spending)
Если зависла транзакция Bitcoin, можно применить ещё одну методику — второй раз передать деньги тем же сервисом. К примеру, участник сети видит, что платёж не проходит в течение продолжительного времени и находится в подвешенном виде. Здесь можно воспользоваться особенностями blockchain — проведением сразу нескольких операций.
Суть в том, что проверка объёма средств на счету проводится в определенный момент времени. Если первый перевод оказался неуспешным, отправитель вправе поменять некоторые параметры, к примеру, увеличить размер премии и провести платёж снова. Переживать, что обе операции пройдут, не стоит. По правилам криптовалютной сети при отправке одного и того же актива проводится сделка, имеющая более выгодные условия для участников сети (майнеров). Остальные аналоги уничтожаются. Единственный риск — разветвление цепи, поэтому к применению опции Double Spending стоит подходить с осторожностью.
Рассмотрим, что необходимо сделать для применения методики на примере Bitcoin Core. Отметим, что для остальных бумажников подход остаётся аналогичным. Разница может заключаться в наименовании команд, а общая последовательность не меняется. Алгоритм такой:
- Подготавливаемся к проведению Double Spending. Для этого важно убедиться, что транзакция зависла. Бывают случаи, когда сделка подтверждена, но по различным причинам не доходит до адресата. Для проверки рекомендуется использовать упомянутый ранее сайт blockchain.info. Если напротив сделки имеется фраза «unconfirmed transaction», переходим к дальнейшим шагам. Кроме того, можно обратить внимание на время проведения сделки, но оно ориентировочное.
- Закрываем программу-хранилище Биткоин, после чего в командной строке вводим слово «zapwallettxes». Иные варианты команд использовать запрещено, ведь возможно случайное удаление ключа и потеря доступа к деньгам.
- Ожидаем запуск бумажника. После пуска в нём уже не будет зависших транзакций. Но не стоит радоваться раньше времени, ведь в криптовалютной сети они ещё сохранены. К слову, пользователи Bitcoin Core старой версии 0.14 должны поменять имя или отправить документ mempool.dat в другую папку, после чего заходить в программу.
- Проводим новую сделку с указанием более высокой комиссии. Помните, что риск подтверждения прежней сделки через какое-то время остаётся. Чтобы исключить такую ситуацию, в новом платеже важно указывать параметры, максимально похожие на проведенную ранее (неуспешную) операцию. В таком случае система не позволит ей исполниться. К примеру, важно прописать идентичный размер входа в Bitcoin (найти требуемый параметр можно в разделе inputs). Что касается размера сделки, его можно увеличить для ускорения перевода.
- Заполняем необходимые поля по привычному плану (как при проведении стандартной транзакции).
- Ожидаем завершения операции, которая должна пройти быстрее.
CPFP
Популярный метод «проталкивания» платежа — Child Pays for Parent. Он подходит в ситуации, когда применяемое хранилище не позволяет включить рассмотренную выше опцию RBF. Минус способа в том, что за него придется платить. Кроме того, лишь небольшое число пулов поддерживают применение CPFP. Для «продвижения» сделки, с которой возникли трудности, необходимо использовать любой из выходов транзакции. Важно, чтобы суммы на счету было достаточно для проведения двух операций.
Суть в том, что отправитель формирует ещё один перевод с применением выхода для оформления новой транзакции. Отправка Биткоинов может осуществляться по любому адресу. Главное — использовать сдачу с зависшего платежа. Не менее важный нюанс — размер комиссионной выплаты, который должен прописываться сразу для двух операций.
Рассмотрим применение этого метода на примере бумажника Bitcoin Core. Исходное условие — транзакция размером 0,095 Биткоинов. Алгоритм такой:
- Переходим в раздел настроек и выбираем кнопку параметров.
- Входим в подкатегорию «Кошелёк» и включаем управление входами (устанавливается отметка в специальном поле). Здесь же ставим отметку, разрешив тратить неподтверждённую сдачу. Бывают ситуации, когда упомянутые галочки уже установлены (в таком случае ничего не меняем).
- Закрываем окно и жмём на кнопку отправки.
- Переходим в раздел входов и ставим отметку напротив интересующей суммы (в нашем случае 0,095 BTC).
- Указываем адрес получающей стороны, после чего одобряем действия, нажатием на кнопку «ОК».
- Ставим число 0,095 и жмём на отметку напротив команды «Вычесть комиссию из суммы». Здесь же отмечаем выборочный комиссионный платеж за килобайт. Важно отметить, что премия вычисляется из расчёта проведения двух сделок. Вычисление осуществляется следующим образом. Сначала величина прежней операции делится на размер нового платежа. К полученному числу прибавляется единица, а итог умножается на оптимальную комиссию за 1 Кб.
Как отмечалось, не все пулы работают с этой схемой, но при наличии такой опции стоит ей воспользоваться.
Динамическое изменение комиссии
Одна из причин, почему не подтверждается транзакция Bitcoin — низкая комиссия. Чтобы изменить ситуацию в свою пользу, можно провести динамическое изменение этого параметра через кошелёк. Для этого бумажник должен поддерживать подобную функцию. Суть специальных хранилищ в том, что они автоматически считают оптимальный размер вознаграждения, при котором операция в криптовалютной сети проходит быстрее. Если владелец кошелька согласен с предложенным параметром, сделка без задержек включается в очередной блок.
Динамическая правка комиссии позволяет вычислить приоритет сделки. Здесь подход прост. Чем больше премия, тем выше приоритетность. Рассмотренное правило особенно актуально в периоды максимальной загрузки сети. Если пользователь указал высокое вознаграждение, а транзакция всё равно зависает, это требует принятия срочных действий. Часто проблема связана с применением старых версий бумажников для Bitcoin. В таком случае имеется два пути — обновить существующий или установить новый кошелёк.
Откат неподтверждённой транзакции
Ещё один способ решить проблему с зависанием — отменить транзакцию Bitcoin. К примеру, в случае с Bitcoin Core требуется сделать следующее:
- Убеждаемся через сайт blockchain, что сделка не подтверждена.
- Входим в кошелёк, а далее в раздел отладки, для чего переходим по пути «помощь, отладочное окно и консоль». Если бумажник шифрован, к нему требуется доступ. Для этого вводится команда walletpassphrase < passphrase >.
- Получаем персональный ключ от необходимого адреса. Для этого указываем фразу dumpprivkey < address >. Слово в фигурных скобках меняем на адрес, использованный для проведения транзакции. Полученный ключ требуется копировать в отдельное место. В случае с групповой операцией, когда Bitcoin отправлялись с нескольких аккаунтов, нужны ключи для каждого из них. Наличие под рукой этих данных открывает доступ к счету.
- Закрываем кабинет и удаляем бумажник. Единственное, что стоит сохранить — wallet.dat. Этот файл рекомендуется заранее переименовать и переместить в иную папку.
- Перезапускаем программу, и дожидаемся создания нового кошелька. Вставляем в него полученные ключи, переходим в панель отладки и прописываем importprivkey < privkey >. Перенос сведений занимает определенное время. Важно, чтобы процесс не прерывался.
- Проверяем счёт. Зависшие операции удаляются, а блокированные деньги доступны для перечисления. Теперь можно снова оформлять транзакцию, но уже с более высокой комиссией.
Рассмотренный метод не даёт результата в случае применения облачного хранилища для проведения перевода.
Как защититься от неподтвержденных транзакций Биткоин?
Чтобы обезопасить себя от проблем с зависшими транзакциями Bitcoin в будущем, требуется сделать следующее:
- Сразу выставлять оптимальную премию за проведение транзакции. Желание сэкономить может вылиться в продолжительные затраты времени на ожидание подтверждения операции. Сразу определитесь, что важнее — скорость или экономия.
- Перед проведением транзакции важно включить опцию RBF, о которой упоминалось выше. Далее при проведении операций через кошелёк рекомендуется делать отметки Replaceable. Но стоит убедиться, что кошельком поддерживается такая опция.
Если выставлена адекватная комиссия, но транзакция всё равно зависла, бездействовать нельзя. В таком случае высок риск зависания перевода на продолжительное время. Чтобы решить проблему, пригодятся методы, которые рассмотрены в статье. Главное — не паниковать, ведь задержка операции является обычным делом в криптовалютной сети Биткоин. Сначала нужно разобраться с причиной появления проблемы, а уже после приступать к её решению. Как правило, помогает ускоритель или двойная трата. Но лучше не допускать таких задержек и сразу выставлять актуальную комиссию.
Что делать, если зависла транзакция Bitcoin, смотрите в нижеследующем видео: