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

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

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

Web-page
Транзакции blockchain.

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

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

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

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

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

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

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

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

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

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

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

Web-page
Сайт blockchain.info.

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

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

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

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

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

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

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

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

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

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

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

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

Перевод
Opt-In RBF.
Этот метод доступен не для всех пользователей. Opt-In RBF – опция, доступная только в некоторых кошельках.

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

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

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

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

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

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

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

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

Web-page
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, будет подтверждением надежного перевода. Система возьмет в блок такую транзакцию гораздо быстрее.

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

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

Web-page
Сервис.

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

Требуется:

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

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here