Проблема неподтвержденных транзакций Биткоин — больное место всех пользователей, которые часто переводят деньги на кошельки адресатов. В системе невозможно отменить сделку: если средства дойдут к пункту назначения, никто не вернет BTC отправителю. С неподтвержденными операциями ситуация обстоит иначе.
Содержание статьи:
- 1 Что делать, если зависла транзакция в сети Биткоина
- 2 Динамическое изменение комиссий
- 3 Двойное расходование (Double-spending)
- 4 Использование CPFP
- 5 Выборочная замена комиссионных Replace-by-Fee
- 6 Ускоритель ViaBTC
- 7 Отмена неподтвержденных операций
- 8 Большой размер комиссии одобрен, но перевод завис
- 9 Может ли операция в сети Bitcoin отмениться сама
- 10 Как обезопасить себя от зависания транзакций
Что делать, если зависла транзакция в сети Биткоина
Понятие «мемпул» в сети Биткоин означает очередь из транзакций, ведь физически невозможно одновременно поместить в блокчейн сразу все сделки. Майнеры, подтверждающие транзакции, держат в приоритете операции с высокой комиссией, а более дешевые остаются висеть в mempool до момента, пока не будет создан новый блок. Если после создания блока опять появилась транзакция с более объемной комиссией, дешевая снова перемещается в конец очереди, и так до бесконечности.
Неподтвержденные операции Биткоина висят часами, даже днями, но отчаиваться не нужно — способы получить Биткоины все же есть.
Когда первая криптовалюта только появилась, программы-кошельки ставили комиссию по умолчанию в размере 10 тысяч сатоши (0,1 mBTC). В каждом создаваемом майнерами блоке оставалось свободное место, транзакции всегда включались в блок (это можно сказать и о транзакциях с комиссиями ниже дефолтных или вовсе без них). С ростом популярности криптовалюты борьба за свободное пространство усиливалась. Стандартного комиссионного сбора стало не хватать, начали появляться неподтвержденные транзакции Биткоин.
Наиболее логичное решение избежать ситуации — повысить комиссионные отчисления. Опцию поддерживают все кошельки (либо в настройках, либо непосредственно при создании сделки).
Возможные причины неподтвержденной операции, кроме низкой комиссии:
- истекло 72 часа (время жизни платежа, выставленное по умолчанию);
- появился конфликт между текущей транзакцией и подтвержденной раньше;
- отправитель заменил один платеж на второй.
Есть сервисы, анализирующие состояние сети и предлагающие оптимальный размер сборов в текущий момент. Если хочется, чтобы средства дошли как можно быстрее, рекомендуется немного повысить это число.
Динамическое изменение комиссий
С переменными комиссиями сейчас работают многие электронные бумажники. Комиссия добавляется автоматически, рассчитываясь на основе загрузки сети. Ряд программ позволяет выбрать приоритетные комиссионные сборы. Механизм остается прежним: чем больше комиссия, тем приоритетнее транзакция.
Если вдруг неподтвержденная транзакция Bitcoin появилась в «час пик», когда сеть сильно загружена, и такое повторяется часто, а кошелек не дает возможности повысить комиссии, скорее всего, устарела версия программного обеспечения. Следует скачать новый кошелек или проверить софт на обновления.
Двойное расходование (Double-spending)
Неподтвержденную операцию Bitcoin можно «протолкнуть» путем двойного расходования — повторной отправки с использованием тех же ресурсов. Возможность заложена в технических особенностях блокчейна.
Суть состоит в том, что проверка баланса совершается в конкретный момент. Если транзакция оказалась безуспешной, отправитель имеет право откорректировать параметры (например, увеличить отчисления) и повторить попытку. Нет нужды волноваться, что пройдут оба платежа: сеть устроена так, что если совершаются две сделки с одним и тем же активом, подтвердится только более выгодная для майнеров, а остальные будут уничтожены.
Инструкция, как получить Биткоины через Double—spending на примере криптокошелька Bitcoin Core:
- Убедиться, что первая транзакция действительно прочно зависла, поскольку проблема может быть не только в комиссиях, но и в технических повреждениях сделки. Проверить поможет сайт Blockchain.info. Если рядом с нужной транзакцией висит надпись Unconfirmed, можно выполнять следующие шаги. Там указано примерное время, когда неподтвержденная сделка будет проведена, но информация редко совпадает с реальностью.
- Закрыть десктопный кошелек и, воспользовавшись командной строкой, вбить команду zapwallettxes. Нужно отправить команду внимательно, потому что ошибка, опечатка или ввод другого слова чреваты потерей доступа к сбережениям (удалению приватного ключа).
- Дождаться запуска кошелька. Визуально неподтвержденной транзакции Биткоин уже не будет, но перевод еще висит в сети. Примечание: владельцам устаревшей версии программы необходимо перед запуском кошелька поменять имя или перетащить в другой каталог файл mempool.dat.
- Создать новую транзакцию с повышенной комиссией. Чтобы не было ошибки, всю информацию, кроме размера сборов, указать такую же, как в старой: система не даст выполниться старой неподтвержденной операции с низкими комиссионными. Особо важен одинаковый объем входа в Биткоин: параметр расположен в графе Inputs.
- Заполнить остальные поля как обычно.
Остается дождаться окончания операции, время проведения которой должно заметно сократиться.
Использование CPFP
Метод решения проблемы перевода Биткоина расшифровывается как Child Pays for Parent. Недостаток заключается в требовании платы за проталкивание неподтвержденной транзакции. Применение CPFP доступно лишь в ограниченном числе пулов. Для решения проблемы используется любой выход, главное, чтобы сумма на балансе была достаточной.
Схема заключается в создании отправителем еще одной сделки с использованием выхода для того, чтобы оформить новый перевод. Неважно, на какой адрес будет пересылаться Биткоин: необходимо, чтобы сдача использовалась с неподтвержденной проводки. Комиссия прописывается сразу для двух сделок.
Порядок действий:
- В Bitcoin Core открыть настройки, вкладка «Параметры».
- Перейти в подраздел Кошелек, активировать управление входами; разрешить трату сдачи с неподтвержденных транзакций или убедиться, что озвученные галочки уже установлены.
- Закрыть окно, нажать на кнопку «Отправить».
- Перейти в графу, отвечающую за входы, выделить строку с интересующей суммой денег.
- Вставить адрес получателя, подтвердить действия.
- Установить необходимую сумму, отметить пункт о вычете комиссии. Отметить желаемый комиссионный сбор за 1 КБ информации. Комиссия рассчитывается так: размер неподтвержденной транзакции разделить на размер новой транзакции. Получившееся число сложить с единицей и умножить на оптимальный комиссионный сбор за килобайт.
Если пул поддерживает схему, можно воспользоваться этим действенным способом.
Выборочная замена комиссионных Replace-by-Fee
С целью решить проблему, когда не подтверждается операция Биткоин, отправитель может заменить комиссии. Опция RBF служит, чтобы сообщать системе о корректности сделки. Если параметр отключен, блокчейн отбросит повторный перевод, ведь двойная трата по правилам сети невозможна.
Работа RBF заключается в следующем. Платежи с большой комиссией проводятся быстро, с маленькой — идут вплоть до нескольких суток. Увеличение награды автоматически переносит неподтвержденную сделку в начало очереди. Это и называется выборочной заменой комиссии (RBF). Сама операция не изменяется, затронуты исключительно комиссионные сборы.
Конечная цель Replace-by-Fee — не допустить записывания сделки в «брак», что случится, если блокчейн обнаружит попытку провести двойные траты. Функция доступна не во всех кошельках, пока только в GreenAddress и Electrum, однако путем применения скриптов можно настроить и Bitcoin Core.
Ускоритель ViaBTC
Разработан специальный софт для ускорения неподтвержденных транзакций. Сюда входит майнинг-пул ViaBTC, функционал которого помогает уменьшить время подтверждения перевода.
Широко используется, но имеет ряд недостатков:
- новичку придется потратить время на то, чтобы разобраться с запутанным интерфейсом и функционалом пула;
- на сайте случаются сбои;
- программа не умеет обрабатывать сразу много неподтвержденных транзакций, из-за чего иногда зависает;
- разработчики планируют ввести комиссию за услуги.
Чтобы активировать ускоритель, потребуется предоставить ID проводимой операции и расшифровать капчу. Проанализировав полученные сведения, программа формирует очередь и переносит неподтвержденные транзакции в блок.
Отмена неподтвержденных операций
Отменить сделку в сети Биткоин не так-то просто: суть системы строится на ее неизменности. Однако путем специальных манипуляций сделать это все же можно.
Пошаговая инструкция (на примере Bitcoin Core):
- С помощью Blockchain.info убедиться, что перевод не подтвержден.
- Войти в раздел отладки бумажника, затем в отладочное окно — консоль. Потребуется доступ, если кошелек зашифрован. Открывается по команде walletpassphrase < кодовая фраза >.
- Командой dumpprivkey < адрес > получить личный ключ, скопировать в надежное место. Если операция была групповая, то есть в качестве отправителей выступают более одного аккаунта, ключи понадобятся для всех отдельно.
- Закрыть Личный кабинет и удалить кошелек с компьютера. Перед этим сохранить в другую папку файл wallet.dat, переименовав его, чтобы не запутаться.
- Установить программу, запустить, создать новый кошелек. Вставить ключ (ключи), прописать команду importprivkey < приватный ключ > в разделе отладки. Перемещение информации займет время, но прерывать процесс нельзя.
- Проверить баланс. Неподтвержденные транзакции должны пропасть, деньги — разблокироваться.
Сразу после этого можно приступать к оформлению нового перевода, но комиссию выставить уже повыше. В облачных сервисах метод не работает.
Большой размер комиссии одобрен, но перевод завис
Но и когда комиссия высокая, перевод иногда зависает. Нередко это связано с загрузкой серверов, когда из дорогих транзакций тоже выстраивается длинная очередь. Даже если прошло 5–6 часов, еще рано паниковать, а вот несколько дней — повод приступать к действиям.
Первое, на что обращают внимание, — приоритет операции, который зависит от ряда факторов. Например, влияет время нахождения средств на счету отправителя и суммарный объем неподтвержденной транзакции. Даже большая сумма не гарант того, что кто-нибудь не создаст сделку еще объемнее. Если ожидание слишком затянулось, будет разумно отменить перевод и попробовать создать заново.
Может ли операция в сети Bitcoin отмениться сама
Отмена подтвержденной транзакции невозможна. Если речь идет о неподтвержденной, отменить можно описанным выше способом, а вот сама по себе операция этого не сделает. Если транзакция зависла, не стоит пускать дело на самотек и надеяться, что когда-нибудь отменится сама. Этого не случится, поэтому рекомендуется проявить ответственность и не относиться к денежным делам халатно.
Как обезопасить себя от зависания транзакций
Совершенно очевидно, что лучший способ не допустить появления неподтвержденных операций — ставить комиссию выше средней. Это влечет за собой потери в деньгах, но зато цель перевода будет точно достигнута. Если нет возможности завысить комиссионные, остается только выставить дефолтные значения и спокойно ждать. Чего точно нельзя делать — занижать сборы. В таком случае зависание неподтвержденной транзакции гарантировано, поскольку операция станет менее конкурентной.
Есть и другое правило: не забывать включать функцию Replace-by-Fee при оформлении перевода, а затем помечать все созданные операции параметром Replaceable. Не все кошельки поддерживают такой функционал, поэтому здесь каждый решает сам, отдать предпочтение надежности и безопасности или скорости работы и удобному интерфейсу.