Главная · Windows · Неподтвержденная транзкация на блокчейн – что делать. Что делать если у вас неподтвержденная транзакция биткоина Неподтвержденные транзакции bitcoin что делать

Неподтвержденная транзкация на блокчейн – что делать. Что делать если у вас неподтвержденная транзакция биткоина Неподтвержденные транзакции bitcoin что делать

Неподтвержденные транзакции “bitcoin” встречаются все чаще. Связано это с многими факторами, в том числе с ростом желающих заработать на криптовалюте. Какие способы исправления ситуации существуют?

Транзакции blockchain.

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

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

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


Схема работы блокчейна.

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

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

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

Количество неподтвержденных транзакций и размер мемпула можно просмотреть на blockchain.info.


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

То есть по этим данным можно предположить, что очередь подтверждения транзакции составит 90 блоков.

На сайте blockchain.info можно узнать среднее время подтверждения транзакции, на графике.


Сайт blockchain.info.

В конце 2017 года из-за резкого повышения BTC в цене резко увеличилось и количество операций, а неподтвержденных транзакций Bitcoin насчитывалось до 20 тыс.

Каковы причины зависания?

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

  1. Загруженность системы. Такое случается из-за резких скачков стоимости биткойна, что само по себе является еще одной причиной затора транзакций, или по причине большого, критического размера мемпула. По некоторым данным загруженность за последние 2-3 года возросла более, чем в 8 раз.
  2. Маленькая комиссия. Однако некоторые пользователи сознательно устанавливают низкую комиссию за транзакцию, поскольку переводят мелкие суммы, они готовы ждать.
  3. Приоритет суммы. Большие размеры транзакций переводятся первыми.

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

Как исправить ситуацию?


Транзакция криптовалюты.

Эксперты предлагают сразу несколько эффективных способов исправления той ситуации, когда транзакция криптовалюты не подтверждена.

Практически всегда есть вариант просто отменить неподтвержденную транзакцию:

  1. В кошельке следует перейти в отладочную консоль. Если бумажник зашифрован, необходим доступ к нему. Получают его с помощью комбинации команд walletpassphrase – dumpprivkey <адрес транзакции>. Если транзакции многосоставные, следует получить все ключи доступа и экспортировать их.
  2. Ключ (ключи) необходимо скопировать.
  3. Удалить кошелек. Можно переименовать файл или переместить его, чтобы заново не скачивать.
  4. Далее требуется перезапуск клиента, который впоследствии создаст кошелек.
  5. Ввести приватный ключ, путем комбинации команд importprivkey -<ключ>.
  6. Новый кошелек не содержит отправленных транзакций, на баланс возвращены средства.

Теперь можно заново создавать транзакции, скорректировав их.

Выборочная замена комиссии


Opt-In RBF.

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

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

Кошельки, поддерживающие выборочную замену комиссии:

  • Bitcoin Core;
  • Armory;
  • Electrum;
  • GreenAdress.

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

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

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

Сделать это можно на сайте blockchain.info или других подобных сервисах.


Blockchain.info.

Если после проведенного поиска появилась информация «unconfirmed transaction», значит операция ждет подтверждения.

  1. Закрыть кошелек, запустить его заново через командную строку. Если использовали Bitcoin Core, задать параметр zapwallettxes. В некоторых случаях понадобится переименовать или перенести файл mempool.dat.
  2. Создать новую транзакцию, комиссия которой будет выше предыдущей.
  3. Для того, чтобы в последствии старая транзакция не подтвердилась, ведь она все еще находится в системе, требуется задать тот же размер входа для нового перевода, что и был в старом. Плюс необходимо выбрать дополнительно еще входы, чтобы она в общей сложности с запасом перекрывала сумму старой транзакции с комиссией.
  4. Завершить отправку.

Использование CPFP


CPFP.

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

Child Pays for Parent (CPFP) – метод, суть которого в трате одного выхода неподтвержденной транзакции и установки такой комиссии, которой бы хватило для включения двух таких в блок.

Действовать необходимо так:

  1. В кошельке в настройках зайти во вкладку «Бумажник», поставить галочки напротив «Включить управление входами», «Тратить неподтвержденную сдачу».
  2. Создать новый перевод, входом которого указать выход неподтвержденного. Можно указать «сдачу».
  3. Рассчитать размер корректной комиссии, учитывая две транзакции.

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

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

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

То есть кошелек самостоятельно в зависимости от загруженности сети определяет допустимую для успешного проведения транзакции комиссионную плату.

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

Поддерживают функцию, к примеру, такие кошельки:

  • Bitcoin Core;
  • Ledger;
  • Electrum; Airbitz;
  • GreenAddress.

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

Ускорение транзакций


Аntpool.com.

Некоторые предприимчивые компании создавали так называемые «ускорители транзакций», когда отправитель просто указывал хеш, и майнеры пула обрабатывали ее. Наиболее распространенными считаются antpool.com, viabtc.com. Однако по некоторым данным, в настоящее время осуществляет эту функцию только viabtc.com.

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

Также предусмотрены такие способы повышения скорости транзакций:

  1. Повышение комиссии. Допустимо превышение от 0,0002 ВТС.
  2. Перевод больших объемов. Гораздо эффективнее будет перевод единожды, но большой суммы, чем несколько мелких транзакций.
  3. Использование специализированных платформ, например, coinbase.com, здесь сохраняются приватные ключи и продавцов, и покупателей, а перевод осуществляется в пределах платформы. Система блокчейн при том не задействована.
  4. Использование кошельков с функцией мультиподписи. Мультиподпись, например, у GreenAddress, будет подтверждением надежного перевода. Система возьмет в блок такую транзакцию гораздо быстрее.

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

Как защититься от зависаний?


Сервис.

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

Требуется:

  1. Выставлять правильную комиссию. В том случае, если ожидание невозможно, не следует экономить. Приблизительную стоимость комиссии относительно размера перевода можно узнать на сервисах вроде blockchain.info.
  2. Использовать кошельки с динамическим изменением комиссии, прислушиваться к их предупреждениям о целесообразности повышения комиссионных.
  3. Включать опцию выборочной замены комиссии. Не помешает и функция мультиподписи. Если кошелек на данный момент не поддерживает представленных опций, следует задуматься о его замене или обновлении.
  4. Использовать ресурсы, имеющие автономную систему транзакций.

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

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

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

Что значит неподтвержденная транзакция биткоин?

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

Вы всегда можете узнать статус вашего перевода, просто введя в поле поиска сайта blockchain.info свой TXID (id вашей транзакции). Там отображается количество подтверждений и путь самой транзакции. Цифра 2 около и синий статус «кнопки» c надписью Confirmations в Blockchain означает, что транзакция прошла. А если она не была подтверждена, тогда вы увидите характерную надпись Unconfirmed Transaction на красном фоне.

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

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

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

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

Важно помнить, что размер комиссии не зависит от суммы транзакции. То есть, транзакция на 100 биткоинов может оказаться дешевле, чем на 0,01 BTC. Все зависит от ее размера в байтах. В свою очередь размер зависит от количества связанных транзакций. Например, если вы получили по 1 биткоину от Димы, Саши, Кати, а потом отправляете эти 3 биткоина Вахтангу, то в этой транзакции будет участвовать 4 адреса (включая ваш). А это дополнительные 600 байтов или около того.

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

Можно даже провести приблизительный расчет. Размер 1 блока составляет 1 мегабайт, на скрине выше обычная транзакция «занимает» 370 байт. На генерацию 1 блока уходит порядка 10 минут. Это значит, что за 10 минут может быть подтверждено порядка 2600 транзакций. Но ведь их на самом деле значительно больше.

На все том же сайте blockchain.info можно посмотреть размер mempool (мемпул – очередь) сети. Это объем всех транзакций, который ждут подтверждения.

Суммарно они занимают свыше 100 мегабайт. Это означает, что менее 1% транзакций будет подтверждено в течение 10 минут. В общей сложности на их обработку уйдет 10х100=1000 минут или почти 17 часов. И это при условии, что в сети BTC внезапно перестанут проводиться любые новые транзакции.

Глобальное решение этой ситуации – это увеличение размера блока. Именно для этого и был проведен . Он предусматривает оптимизацию использования памяти для хранения данных о транзакциях, и должен подготовить сеть к дальнейшим модификациям (увеличение блока) через софтфорк. Segwit2x, который предусматривал хардфорк (жесткое разделение блокчейн) и увеличение размера блока до 2 мегабайт, был отменен.

Что будет с деньгами?

Одно можно сказать точно – ваши деньги никуда от вас не пропадут. Тут есть два сценария:

  • Ждать, пока ваша транзакция таки получит необходимых 2 подтверждения;
  • Принимать какие-то меры, чтобы ее протолкнуть.

Первый вариант не требует от вас никаких действий. Вы знаете, что проверка транзакции доступна на blockchain.info и некоторых других сервисах, и можете время от времени посматривать на ее статус, вводя в поиск идентификатор. Однако время ожидания может затянуться на дни, а в крайних случаях – недели.

И даже если вы не спешите с переводом, на каком-то этапе придется принимать меры. О об основных способах ускорения мы поговорим ниже.

Сколько ждать подтверждения транзакции биткоин

На некоторых сервисах указывается как долго ожидать подтверждения. Но эти цифры редко-когда имеют что-то общее с реальностью. Вы можете самостоятельно рассчитать время подтверждения транзакции. Для этого вам необходимо обратить внимание на строку Fee per byte.

Метод с двойной тратой зависит от выбранного вами кошелька. Обычно применяется пользователями Bitcoin-Core или Bitcoin Knots. Для реализации этого метода, необходимо закрыть Bitcoin Core, запустить заново в CMD (командная строка) c помощью команды –zapwalletettxes, предварительно убрав с каталога кошелька файл mempool.dat.

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

CPFP

CPFP – это сокращение от child pays for parent. Этот метод рассчитан на ситуации, когда отправитель создал новую транзакцию с битками, которые «условно» получил с другой транзакции, которая еще не была подтверждена. В таком случае, для проведения операции необходимо оплатить комиссию еще за ту самую неподтвержденную транзакцию.

Чтобы это сделать, нужно перейти в раздел Wallet (Settings -> Options -> Wallet), пометить поля Spend unconfirmed change и Enable coin features.

После этого нажимаем отправить и снова работаем с разделом Inputs. В качестве получателя указываете себя (свой ), вводите сумму, которую вам ранее отправили и отмечаете галочку subtract fee amount. Ниже устанавливаете размер комиссии через Сustom, а не через Recommended.

Гораздо проще справится с зависшей неподтвержденной транзакцией можно в кошельке Electrum. Там есть функция повторного отправления с увеличенной комиссией – replace-by-fee. Правда, она сработает только в том случае, если при первичном отправлении была отмечена галочка Replaceable.

Ускорители и “проталкиватели”

Ускорением транзакций также занимаются майнинговые пулы – ViaBTC , AntPool . Чтобы ускорить транзакцию через ViaBTC, достаточно перейти в раздел Tools на сайте пула и выбрать Transaction Accelerator. Для ускорения просто укажите ID транзакции и разгадайте каптчу. Эффективность этого метода спорная.
В сети также есть много сайтов-агрегаторов пулов ViaBTC и AntPool. Пример – perenosi.com . А в Telegram создан бот по ускорению - @FastTXbot . Бот агрегирует проталкивание через AntPool автоматически.

Еще больше способов ускорения вы можете найти в нашей статье:

Как обезопаситься от зависания транзакций

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

Если вы получили 10 биткоинов через 10 транзакций по 1 биткоину, то перевод этих 10 биткоинов по своему объему в байтах будет намного больше, чем перевод 100 биткоинов, которые вы получили с 1 адреса. Это и есть пример «Пути» отправляемых биткоинов. Аналогично и при отправлении – чем больше адресов, тем больше комиссия. Если вам нужно отправить BTC нескольким получателям, тогда объединяйте транзакции в одну и «разветвляйте» ее через Input.

Ключевое значение – это размер комиссии на 1 байт. Перед тем как отправлять битки, посмотрите показатели мемпула и проверьте среднее значение комиссий в сети. Посмотреть показатели комиссий можно на BitcoinFees.

Если мемпул пуст, тогда даже перевод с небольшой «пеней» пройдет – здесь работает простой закон спроса и предложения. Майнеры обрабатывают транзакции, так как лучшие предложения поступают редко. Идеальное время проведения – это когда Китай и Азия спят. То есть в европейской первой и второй временной зоне в этот период вечер (6-10 часов).

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

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

Итак, резюме:

  1. Неподтвержденная транзакция – это транзакция, которая после отправки по какой-то причине не была добавлена в блок.
  2. Чтобы ускорить транзакцию, можно использовать метод двойной траты (Double Spend), CPFP, Replace-by-fee либо специальные ускорители.
  3. Чтобы обезопаситься от зависаний, нужно выставлять правильную комиссию и учитывать время проведения транзакции.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Проявите терпение. Не поднимайте сразу панику. Подождите пару дней, вдруг и правда само пройдет.
  2. Убедитесь, что транзакция зависла. Зайдите в Block Explorer (обычно гуглится по запросу «blockchain %названиекриптовалюты%») и проверьте, что про зависшую транзакцию там ничего не знают, а на счете деньги на самом деле есть.
  3. Перейдите в отладочную консоль (Помощь - Окно отладки - Консоль)
  4. Если кошелек зашифрован (он же зашифрован?), то для начала необходимо получить доступ, используя команду walletpassphrase .
  5. Теперь нужно получить приватный ключ от нужного счета. dumpprivkey
    . Вместо
    нужно подставить публичный номер счета, на котором лежат заблокированные средства. В ответ получите приватный ключ данного счета. Его нужно куда-нибудь скопировать, он еще понадобится. Если средства для транзакции брались с нескольких счетов, то и импортировать нужно их все. И да, никогда не храните приватные ключи в доступном для кого-либо месте. Знание ключа дает полный доступ к соответствующему ему счету.
    Обратите также внимание на то, что на каждую команду в отладочной консоли приходит ответ. Он может быть пустым, но он есть всегда. Позже будет понятно, к чему я это.
  6. Закройте клиент и удалите кошелек. Расположение кошелька (wallet.dat) зависит от конкретного клиента и ОС. Естественно, совсем удалять его не стоит, лучше переименовать или переместить в надежное место.
  7. Запустите клиент заново. Создастся новый кошелек. В него необходимо импортировать полученный ранее ключ (ключи). Идем в отладочную консоль и пишем importprivkey . Импорт может производиться достаточно долго. Позвольте ему завершиться - дождитесь получения ответа на команду.
  8. В новом кошельке должен появиться счет с реальным его состоянием. Для надежности можно перезапустить клиент с ключом -rescan, но, полагаю, это уже лишнее. Ранее заблокированные средства снова доступны для отправки, шлите их заново, на этот раз не забудьте включить комиссию. (есть важные дополнения по этому пункту в upd3 )
  9. Если на старом кошельке остались прочие используемые и важные счета, можно снова вернуться к нему.
Таким нехитрым образом удалось вернуть криптомонетки. Хотя я уже и начал думать, что они потеряны совсем. В общем, не надейтесь на чудо, перед использованием нового клиента убедитесь, что комиссия всегда включена. Рекомендуемый размер комиссии, думаю, лучше искать на ресурсах, посвященных используемой криптовалюте.

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

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

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

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

Теги: Добавить метки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В первую очередь стоит использовать ускоритель 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 из папки с программой. После этого можно создавать новую транзакцию, которая в точности повторит старую, за исключением увеличенной комиссии.

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

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

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

  • Подборки новостей один раз в день к вам на Email:
  • Подборки криптоновостей 1 раз в день в Телеграме: BitExpert
  • Инсайды, прогнозы обсуждения важных тем у нас в Телеграм чате: BitExpert Chat
  • Вся лента криптоновостей журнала BitExpert у вас в Телеграме: BitExpert LIVE

Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

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

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

Что такое транзакция биткоин

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

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

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

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

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

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

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

Как ускорить транзакцию уже после ее отправки в блокчейн

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

В первую очередь, можно воспользоваться опцией Opt-In Replace-by-Fee.

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

Если владелец биткоинов попытается проделать все это без соответствующей опции, сеть воспримет ее как попытку двойной траты. Соответственно, такая криптосделка не будет обработана.

Использование Opt-In Replace-by-Fee позволяет решить эту проблему, так как сеть увидит, что пользователь отправляет ту же проводку, но только с более высокой комиссией.

Единственная проблема, с которой можно столкнуться клиент сети в этом случае – не все майнеры поддерживают такую функцию. То есть необходимо дождаться момента, пока на операцию обратит внимание тот майнер, который работает с Opt-In Replace-by-Fee. Что еще можно сделать при неподтвержденной ?

Второй вариант – Child Pays for Parent. При таком подходе, майнер может выбрать не ту транзу, которая предлагает более высокую оплату, а серию переводов, общая комиссионных которых будет выше. К сожалению, функция пока что поддерживается не всеми майнерами.

Наконец, можно использовать ускорители переводов вроде ViaBTC.

Этот сервис позволяет быстрее подтвердить те транзакции, которые все еще не подтверждены сетью.

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

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

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

Как минимизировать риски «зависания» транзакций

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

Выше уже была рассмотрена одна из причин «зависания» сделок – низкая комиссия.

Но есть и еще один важный момент – путь отправляемых биткоинов.

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

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

Итоги

Неподтвержденные транзакции – результат перегруженности сети биткоин.

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