Bitcoin-транзакция зависла и не подтверждается – что делать

Что делать, если «зависла» транзакция в сети Биткоина?

Что делать, если «зависла» транзакция в сети Биткоина?

С каждым годом, если не месяцем, количество транзакций в сети Биткоина растёт. Это ведёт к переполнению блоков. А поскольку немедленно включить все транзакции в блокчейн невозможно, из не вошедших в блок транзакций у майнеров формируется «пул памяти» (mempool) — своего рода «очередь из транзакций».

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

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

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

При отправке транзакции

В первые годы существования Биткоина большинство кошельков добавляли исходящим транзакциям фиксированную комиссию: обычно она составляла 0.1 мBTC (10 000 сатоши). Поскольку в блоках майнеров в любом случае присутствовало свободное пространство, они обычно включали эти транзакции в первый добытый блок (большинство транзакций с низкими комиссионными или совсем без них также включались в блок).

По мере увеличения борьбы за пространство блока, фиксированной платы в 0.1 мBTC для гарантированного включения транзакции в первый блок стало не хватать. Её перебивали транзакции с более высокими комиссиями. И, несмотря на то, что в конечном итоге подтверждение получали и транзакции с низкими комиссионными, на это требовалось время.

Попробовать повысить комиссию

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

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

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

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

Использовать динамические комиссии

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

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

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

Не бойтесь менять кошельки

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

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

После отправления транзакции

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

Функция Opt-In Replace-by-fee

Самый простой способ заставить вашу транзакцию перепрыгнуть очередь – использование опции под названием Opt-InReplace-by-Fee (Opt-InRBF). С её помощью можно повторно отправить ту же самую транзакцию, но с более высокой комиссией.

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

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

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

В настоящее время, функцию Opt-InRBF поддерживают как минимум два кошелька: Electrum и GreenAddress. В Bitcoin Core она поддерживается при обработке транзакций, однако создавать собственные RBF транзакции возможно только с помощью сторонних скриптов. В зависимости от кошелька, может потребоваться обновление Opt-InRBF в настройках меню до отправления (первой) транзакции.

Child Pays for Parent (ребенок платит за родителя)

Если ваш кошелёк не поддерживает Opt-InRBF, всё немного усложняется.

Здесь на помощь может прийти функция ChildPaysforParent (CPFP). Применяя CPFP, майнеры не обязательно выбирают транзакции с самыми высокими комиссиями, а, наоборот, выбирают комплект транзакций с комбинированными комиссиями.

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

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

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

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

Другие варианты

Если отсутствует возможность применить Opt-InRBF или CPFP, технически можно попробовать отправить оригинальную транзакцию с более высокой комиссией. Обычно это называют «full replace-by-fee», и некоторые майнеры такую возможность допускают. Хотя публичные кошельки пока эту опцию не поддерживают.

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

Со стороны получателя

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

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

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

Пoжaлyйcтa оцените и поделитесь новостью, мы старались для Вас:

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

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

Почему это происходит?

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

Сегодня, когда на крипто-рынке царит ажиотаж, из транзакций выстраивается целая очередь. Происходит это в так называемом мемпуле (от англ. Memory Pool). Порой подтверждения ожидают десятки, а то и сотни тысяч платежей. Например, во время написания этого текста в нем скопилось более 170 тысяч биткоин-транзакций.

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

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

Кратко резюмируем от чего зависит время ожидания:

  • загруженность сети;
  • небольшая сумма транзакции;
  • размер комиссии.

Что может произойти с транзакцией

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

  • Транзакцию может вытеснить из пула другой платеж с более высоким приоритетом. Это происходит в том случае, когда размер пула достигает максимального значения, а ваш перевод оказался на последнем месте.
  • Истекает тайм-аут, и транзакция умирает — обычно это время составляет 3 суток.
  • Возникает конфликт между данной транзакцией и другой, которую уже подтвердили.
  • Транзакцию сам отправитель заменяют на другую.

В свою очередь выбывшая из пула транзакция также имеет два варианта. Если получит статус несостоявшейся, отправляемые монеты вернутся обратно в кошелек. Однако в отдельных случаях бумажник может отправлять ее каждый раз повторно в сеть — в итоге платеж будет возрождаться в системе бесконечно. Средства в этом случае замораживаются и воспользоваться ими невозможно. А кошелек выдает сообщение «Status: 0/unconfirmed, in memory pool».

Как узнать статус транзакции?

Существуют специальные площадки, с помощью которых можно проверить текущее положение транзакции. Чаще всего для этого используется blockchain.info. Здесь в поисковую строку вбиваем ID перевода. И если видим сообщение «Unconfirmed transaction», значит пока что он не подтвержден.

Читайте также:  Bitcoin сигналы онлайн – что нужно знать

Далее смотрим на поле «Плата за байт» (Fee per byte). Запоминаем значение и с этими данными идем для примера в сервис btc.com. Здесь можно хотя бы приблизительно оценить какое место вы занимаете в очереди и насколько затянется ожидание.

Что делать — разбираем варианты

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

Замена комиссии

Сделать это может только отправитель платежа. Для этого необходимо отправить ту же самую транзакцию уже с новой комиссией, обязательно используя функцию Replace-by-fee (RBF). Без нее платеж будет просто отвергнут сетью, поскольку двойное расходование категорически запрещено в системе. А так вы сообщаете сети, что хоть транзакция и та же, однако она идет с увеличенной комиссией.

Из кошельков, которые поддерживают RBF, отметим GreenAddress, Armory и Electrum. Эта опция в них должна быть включена заранее.

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

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

Child Pays for Parent

Ребенок платит за родителей или сокращенно CPFP. Суть метода проста — создается вторая транзакция на символическую сумму, но с повышенной комиссией — ее размер должен компенсировать недостачу в первой. Майнеры, которые поддерживают данную функцию, могут вместо транзакций с высокими комиссиями из пула, выбрать переводы с комбинированными вариантами и подтвердить их. Использовать данный метод может как отправитель, так и получатель транзакции.

Как известно, при отправке платежей часто сеть возвращает нам сдачу, если отправлена была большая, чем необходимо, сумма. Вот эту неподтвержденную сдачу и можно отправить себе во второй транзакции, прикрепив к ней высокую комиссию, достаточную для покрытия расходов двух платежей. С условием, конечно, что кошелек позволяет это сделать. Для этого в Bitcoin Core, например, нужно включить в настройках опции «Тратить неподтвержденную сдачу» и «Включить управление входами».

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

Ускоритель

Бесплатно ускорить транзакцию предлагает майнинговый пул ViaBTC. Для этого в переводе должна быть предусмотрена хотя бы минимальная комиссия в размере 0.0001 BTC за килобайт. В таком случае необходимо отправить ID транзакции на сервис и ей присвоят более высокий приоритет при включении в один из следующих блоков.

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

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

Другие варианты

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

Важный совет — не сообщать никому свои приватные ключи, а также сид фразу из 12 слов.

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

Как избежать зависания в будущем

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

Какую комиссию считать адекватной? Для этого существуют специальные сайты, которые отслеживают основные параметры сети и подбирают оптимальное количество сатошей за байт. На это стоит обратить особое внимание — комиссия зависит не от количества отправляемых средств, а от размера транзакции, выраженного в байтах. Пример такого сервиса — вышеупомянутый btc.com. Тут же можно подсмотреть, сколько времени придется ждать до окончательного утверждения перевода при том или ином уровне комиссии.

Если нет желания ставить высокую комиссию, стоит подождать, когда мемпул будет не сильно загружен и тогда попытать счастья. Правда этот вариант уже скорее из области фантастики, учитывая темпы роста популярности сети биткоина.

Динамическое изменение комиссий

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

Если такой опции в кошельке нет, стоит либо обновить софт, или перейти на более современный и удобный вариант бумажника.

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

Заключение

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

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

Все актуальные новости здесь, а также наш канал в Telegram

Содержание

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

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

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

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

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

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

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

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

  • транзакция войдет в новый блок (получит подтверждение) в течение нескольких минут или часов;
  • процесс подтверждения получится ускорить одним из доступных способов;
  • при высокой загруженности сети и отсутствии возможности ускорения транзакции перевод просто вернется на счет отправителя в течение нескольких дней.

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

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

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

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

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

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

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

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

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

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

Читайте также:  Сколько времени нужно майнить 1 Биткоин в 2020?

В первую очередь стоит использовать ускоритель ViaBTC: он не требует регистрации, и все, что нужно сделать пользователю — ввести id транзакции и капчу.

Если после нескольких попыток транзакция так и не подтвердилась, следует переходить к использованию ускорителя Antpool. Для регистрации на сайте нужно указать E-mail и пароль.

Бот-ускоритель в Telegram

Telegram бот @FastTXbot создан для автоматического ускорения переводов в сети Bitcoin. Для его использования необходимо отправить номер зависшей транзакции и ждать результата. На самом деле бот использует один из предыдущих способов — ускорение через Antpool. При этом робот автоматически делает всю работу за пользователя: достаточно просто дождаться уведомления о результате процедуры, которое обычно приходит в течение 10 минут.

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

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 следует устанавливать комиссию, достаточную для проведения сразу двух транзакций. Например, при рекомендуемой плате 150 sat/B следует устанавливать комиссию 300 sat/B или выше.

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

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

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

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

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

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

Все актуальные новости здесь, а также наш канал в Telegram

Неподтвержденная транзакция, или Возвращаем криптовалюту из небытия

Волею судеб довелось мне иметь дело с криптовалютами. Не то что бы плотно работаю с ними, но иногда то отправлю монетки, то получу. Скажем так, понемногу прощупываю новую сферу изнутри.

И вот однажды беда приключилась. Отослал я криптомонетки, а до получателя они не дошли. Собственно, пост о том, как средства возвращались. Ну и размышления и советы по сложившейся ситуации на десерт. Сразу отмечу, что нижесказанное применимо не к какой-то конкретной валюте, а к большинству форков (если не ко всем).

Начну с того, что пост местами пронизан догадками относительно происходящего. Где-то я могу ошибаться. Объективные поправки и дополнения только приветствуются.

Немного о терминологии.

  • Кошельком буду называть файл wallet.dat.
  • Публичный ключ (адрес, на который перечисляются средства, например) временами тоже удобнее назвать кошельком, но, во избежание путаницы, пусть он будет просто номером счета.
  • Комиссия — Transaction Fee. Называть эту штуку комиссией, я считаю, не совсем правильно, но это наиболее привычный и не режущий слух вариант, потому пусть будет комиссией.
  • Размер транзакции — размер блока данных, в котором содержится вся информация о транзакции.

Ко всей этой криптовалютной кухне я изначально подошел как типичный юзер — не особо вникая в систему. Установил, запустил, работает — и ладно. Иногда при попытке послать куда-то средства клиент выдавал сообщение вроде «Размер транзакции слишком велик, нельзя просто взять и послать ее. Но вы можете добавить комиссию в размере N, и тогда все будет хорошо» — я соглашался с добавлением комиссии, и все действительно было хорошо.

Казалось бы, если меня просят дополнительно заплатить, когда это нужно, значит я и буду платить, когда попросят (если комиссия будет устраивать). Это и было главной ошибкой.

Делаю очередной перевод на сумму значительно крупнее, чем обычно. Средства со счета уходят, предложения заплатить комиссию не было и… Ничего. До получателя средства не доходят, статус транзакции «0/Не подтверждено». И такую картину я наблюдал больше недели, попутно перегугливая и перечитывая интернеты в поисках информации по решению подобной проблемы. Причем искал и для конкретной криптовалюты, и в целом для всех — проблем куча, решения нет.

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

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

Если первые два пункта более-менее понятны (конкретные величины приводить не стал, полагаю, они могут варьироваться от форка к форку), то в третьем вся загвоздка. Грубо говоря, транзакции при создании попадают в очередь, отсортированные по приоритету. При генерации очередного блока в него включаются транзакции с комиссией (которая идет в награду тому, кто нашел блок), а также транзакции без комиссии с наиболее высоким приоритетом.

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

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

  • Подождите сутки-двое, вашу транзакцию включат в очередной блок.
  • Подождите сутки-двое, программе-клиенту надоест ждать, и она сама отменит транзакцию.
  • Загрузите заново всю цепочку блоков.
  • Запустите клиент с каким-нибудь волшебным ключом (-rescan / -reindex / -salvagewallet).

Ждал я больше недели. Ни в какой блок транзакцию не включили. Даже после повторных отправок через sendrawtransaction. Блокчейн говорил, что о той транзакции ничего не знает, и на счету лежат те самые средства, никуда они не ушли. И только клиент стоял на своем: «Я транзакцию отправил, дальше как хочешь. Уже потраченными деньгами распоряжаться не позволю».

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

  • Зависит от валюты, где-то быстро отменяется, где-то нужно ждать долго.
  • Баг конкретного клиента.
  • Информация об отмене неверна.

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

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

Решение буду описывать на примере клиента, наиболее распространенного для форков, известного как Satoshi Client. Насколько понимаю, оно применимо и к прочим клиентам, но, возможно, со своими нюансами.

Несмотря на простоту и очевидность решения, к нему мало кто приходит, судя по многостраничным веткам форумов. Средства на счете блокируются кошельком, и все, что требуется, это получить доступ к счету вне текущего кошелька.

Итак, если транзакция зависла и не имеет подтверждений:

  1. Проявите терпение. Не поднимайте сразу панику. Подождите пару дней, вдруг и правда само пройдет.
  2. Убедитесь, что транзакция зависла. Зайдите в Block Explorer (обычно гуглится по запросу «blockchain %названиекриптовалюты%») и проверьте, что про зависшую транзакцию там ничего не знают, а на счете деньги на самом деле есть.
  3. Перейдите в отладочную консоль (Помощь — Окно отладки — Консоль)
  4. Если кошелек зашифрован (он же зашифрован?), то для начала необходимо получить доступ, используя команду walletpassphrase

. Импорт может производиться достаточно долго. Позвольте ему завершиться — дождитесь получения ответа на команду.

  • В новом кошельке должен появиться счет с реальным его состоянием. Для надежности можно перезапустить клиент с ключом -rescan, но, полагаю, это уже лишнее. Ранее заблокированные средства снова доступны для отправки, шлите их заново, на этот раз не забудьте включить комиссию. (есть важные дополнения по этому пункту в upd3)
  • Если на старом кошельке остались прочие используемые и важные счета, можно снова вернуться к нему.
  • Таким нехитрым образом удалось вернуть криптомонетки. Хотя я уже и начал думать, что они потеряны совсем. В общем, не надейтесь на чудо, перед использованием нового клиента убедитесь, что комиссия всегда включена. Рекомендуемый размер комиссии, думаю, лучше искать на ресурсах, посвященных используемой криптовалюте.

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

    Upd2: Значительно упростить описанный процесс переноса счетов в новый кошелек может ключ -salwagewallet, уже упомянутый ранее. При запуске клиента с этим ключом создается новый wallet.dat, в который импортируются все счета из старого, а история транзакций к нему берется из цепочки блоков (за описание спасибо grich). К сожалению, запуск с данным ключом реализован не во всех клиентах.

    Upd3: Если после импорта перечислить не всю сумму, имеющуюся на счету, то часть средств (сдача от используемых выходов) будет перечислена на другой счет нового кошелька. Учитывайте это, если планируете вернуться к старому кошельку:

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

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

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

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

    Что придется делать?

    На данный момент у нас будет 2 варианта дальнейшего развития:

    1. Подождать момента, пока транзакция обратит на себя внимание со стороны других клиентов. Это в первую очередь занимает время (сколько? неизвестно). Это может быть несколько часов, что, согласитесь, не очень удобно. И тут же отметим, что условие сделки в том, чтобы присутствовала хотя бы минимальная комиссия;
    2. При втором варианте также придется подождать, но особенность в том, что комиссия здесь отсутствует. А это первый повод для того, чтобы вообще забыть о соей транзакции, что критично для пользователя системы.

    Более детально отметим варианты, которые могут помочь решить проблему с «зависанием»…

    • Double-spendin (даблспенд). Вариант доступен только для отправителя. Предусматривает «двойное расходование», которое обеспечит продолжение (движение) транзакции. Это гораздо лучше, чем висеть в сети сутками;
    • Вариант и для отправителей, и для получателей. Очень эффективное решение при наличие знаний, как им воспользоваться;
    • Кошелек replace-by-fee. Фактически здесь все зависит от отправителя. Если Вы выбрали онлайн-кошелек/локальный кошелек, который предусматривает возможность replace-by-fee для транзакций, это просто замечательно. Если у Вас произошла ситуация с «зависанием», в будущем обязательно воспользуйтесь именно таким кошельком. Это позволит обеспечить гораздо большую безопасность Ваших денег;
    • Вариант, при которых используются специальные ускорители. Не всегда для пользователей он удобен и эффективен, но бывает такое, что это тот самый единственный выход, который складывается исходя из ситуации. Огромной популярностью пользуется viabtc. Воспользоваться им может и отправитель, и получатель. Стоит отметить, что данная система изначально добавила максимальное число выполнения операций (то есть, поставлено ограничение на транзакции). Частенько этим сервисом пользуются другие пользователи, поэтому реально очень редко он оказывается неперегруженным.

    Что такое double-spending? Представляет из себя повторную передачу средств. Фактически пользователь уже должен заметить, что оплата не прошла, транзакция «повисла» и еще не подтверждена. Но в самом блокчейне (благодаря его децентрализованной структуре) предусмотрено, что можно делать сразу несколько транзакций. Что делать? Попытаемся отправить еще одну транзакцию, но слегка изменить показатели самой системы (увеличим комиссию для этого). Не следует переживать по поводу того, что пройдут сразу обе транзакции. Тот вариант транзакции, который является выгодным для майнера, будет пройден. Второй вариант исчезает автоматически.

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

    Вариант с replace-by-fee позволяет при необходимости изменить значение комиссии. Зачем это делается? По сути, в истории транзакций первыми проходят те, у которых комиссия наиболее высокая, остальные идут за ними в очереди. Кошельки, в которых предусмотрен вариант replace-by-fee, позволяют изменить комиссии (сделать их выше). Это позволит значительно пройти дальше.

    Ускоритель VIABTC

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

    Почему работать с ускорителем не так просто?

    1. Разобраться в управлении ПО сложновато. Для этого придется, как минимум, поработать с каким-нибудь видео по детальной настройке, дабы не сделать только хуже;
    2. Сервис так популярен, что часто не справляется с положенной на себя нагрузкой. Программа работает с ограниченным числом транзакций, поэтому не всегда получается воспользоваться ей;
    3. На данный момент ускоритель VIABTC является абсолютно бесплатным, но в ближайшем будущем разработчики собираются запустить оплату за свои услуги.

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

    Что делать если зависла транзакция биткоин.

    К странице.
    Страница 1 из 212>

    В связи с тем, что раздел “Криптовалюта” заполонили однотипные топики в стиле “Что делать, у меня зависла транза?! Шеф, все пропало!” или “Как отменить транзу?! Ахтунг!”. Поэтому я и решил запилить данный топик. Надеюсь он поможет вам, ибо всяк ищущий находит.

    Итак, если ты отправляешь биткоины и хочешь, чтобы транзакция прошла быстро, то:
    1) Перед отправкой биткоинов ОБЯЗАТЕЛЬНО проверяй комиссию майнерам! Если она слишком маленькая, то велика вероятность зависания транзакции. Если она стоит по дефолту, то не поленись и измени ее на актуальную. Комиссию выставлять в Satoshis/Byte.
    Узнать актуальную комиссию можно здесь
    https://bitcoinfees.21.co/

    Если же ты проигнорировал пункт выше и транзакция у тебя все-таки зависла, то:
    1) Воспользуйся ускорителями транзакций:
    Как пользоваться ускорителями? Просто вставляешь txid (хэш) своей транзакции, далее вводишь капчу и жмешь Submit.
    =====
    Бесплатный от ViaBTC
    https://viabtc.com/tools/txaccelerator/

    Если будет свободное место, то твою транзакцию добавят в следующий блок.
    Если места нет, то ждешь когда ViaBTC добудет блок – после сразу пихаешь txid своей транзы.
    Список добытых блоков:
    https://blockchain.info/ru/blocks
    =====
    Платный от BTC.com (на данный момент оплата только алипей, сс временно не принимают)
    https://pushtx.btc.com

    2) Замени транзакцию с помощью RBF* – замена существующей транзакции новой транзакцией с повышением комиссии.
    Для этого тебе поможет этот сервис ниже:
    https://coinb.in/
    А подробная инструкция с картинками по использованию этого сервиса находится здесь
    https://habrahabr.ru/post/327218/

    комиссию смотрим тут:Bitcoin Fees for Transactions | bitcoinfees.21.co

    MookyJazza
    Посмотреть профиль
    Отправить личное сообщение для MookyJazza
    Найти ещё сообщения от MookyJazza / в этой теме
    Tomcatmkii
    Посмотреть профиль
    Отправить личное сообщение для Tomcatmkii
    Найти ещё сообщения от Tomcatmkii / в этой теме
    the machine
    Посмотреть профиль
    Отправить личное сообщение для the machine
    Найти ещё сообщения от the machine / в этой теме

    Добрый день. Судя по тому как Вы усердно рекламируете данный сайт на этом форуме, нарушая при этом правила, я бы сказал, что Вы не клиент, а заинтересованное лицо. На другом форуме тему с данной рекламой уже удалили, т.к. посчитали мошеннической. По порядку. 1. Можно ссылку на Вашу транзакцию, которая у Вас зависла и якобы подтвердилась после использования рекламируемого сайта? 2. Про то, что не пробиться на ВИА и Антпул – это откровенная ложь, у многих моих знакомых и у меня проблем на этих сайтах нет. 3. То, что транзакция ускоряется за 10 минут сомнительно. И данный сервис не совсем бесплатный, что указано в комментариях внизу страницы “Мы предоставляем услуги платного ускорения только для особых случаев, таких как срочность, очень низкая комиссия за транзакцию и тд.”.

    А теперь еще про ряд сомнений.
    “Мы сотрудничаем с несколькими крупными пулами, с помощью которых мы имеем возможность ускорить подтверждение 600 транзакций в течении часа.” – сотрудничество с крупными пулами требует денежных вливаний и за бесплатно они Вам и создателям данного сайта не будут подтверждать 600 транзакций в час. Тут или на начальных этапах сбор базы клиентов на бесплатных началах, а потом взимания с них платы под различными предлогами. Или просто обычный обман, когда любой случай может войти в ряд “особенных”, за который берут плату.

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

    Читайте также:  Рост сложности майнинга Биткоинов – как часто увеличивается
    Ссылка на основную публикацию