Опубликовано

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

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

Исправить это положение может только отправитель.

Для этого ему нужно произвести некоторые действия на свое компьютере в кошельке

В консоле вводишь
1. walletpassphrase «пароль от кошелька» 180
если кошель закрыт паролем
2. dumpprivkey «твой биткоин адрес»
получаешь приватный ключ
устанавливаешь Electrum и импортируешь в туда приватный ключ
получаешь доступ к кошельку, там уже можно колдовать с неподтверждёнными транзакциями, например увеличить комиссию и отправить ещё раз.
либо другой вариант…
удаляешь файл mempool.dat в каталоге данных биткоина и запускаешь Bitcoin Core c ключом -zapwallettxes:
bitcoin-qt.exe -zapwallettxes
все неподтверждённые транзакции исчезнут.

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

Полезные ссылки на эту тему

https://blockchain.info/charts/mempool-count?timespan=30days

https://bitcoinfees.earn.com/

https://btc.com/stats/unconfirmed-tx

И вот еще по теме зависших транзакций

Скорее всего, вы выставили недостаточную комиссию. Может быть так, что месяц, неделю, или даже сутки назад её хватало для быстрого подтверждения, а сегодня — нет. Убеждаемся, что она ждёт подтверждения. Для этого копируем id вашей транзакции, вставляем в строку поиска сервиса blockchain.info (а также bitaps.com, blocktrail.com/BTC или аналогичного). Далее ищем глазами строку «неподтвержденная транзакция» («unconfirmed transaction»). Нашли? Значит, транзакция ждет подтверждения.
Примечание. На «Приблизительное время подтверждения» («Estimated Confirmation Time») на странице с вашей транзакцией blockchain.info не смотрим — там неизвестно что.

Мои биткоины теперь пропадут?

Нет. Они либо дойдут до получателя, либо когда-нибудь опять станут доступны в кошельке у отправителя.

Как узнать, скоро ли она подтвердится?

Ищем на странице вашей транзакции на сервисе blockchain.info (а также bitaps.com, blocktrail.com/BTC или аналогичного) строку «Плата за байт» («Fee per byte») и запоминаем число, которое там стоит. Затем, пользуясь этим или этим сервисом, оцениваем свое место в очереди и делаем выводы.

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

Если ждать очень долго или надоело, то есть несколько вариантов:

1)сделать даблспенд. Особенности: может сделать только отправитель, нужен доступ к ключам, недорого.

2)использовать CPFP. Особенности: может сделать получатель и обычно отправитель, немного дороже.

3)использовать replace-by-fee. Особенности: может только отправитель и если заранее позаботился; не все кошельки могут; недорого.

4)использовать «ускоритель» от viabtc. Особенности: может кто угодно, бесплатно, но сервис часто перегружен (как это обойти см здесь) и есть ограничения на транзакцию. Имейте в виду, что этот сервис приносит прямые убытки своим создателям и вряд ли просуществует очень долго.

Как сделать даблспенд (двойную трату)?

Действуем по следующему алгоритму (алгоритм описан для кошелька Bitcoin Core; для других кошельков действия аналогичны, но команды будут другими):

0) Убеждаемся, что она ждёт подтверждения. Для этого копируем id вашей транзакции, вставляем в строку поиска сервиса blockchain.info (а также bitaps.com, blocktrail.com/BTC или аналогичного). Далее ищем глазами строку «неподтвержденная транзакция» («unconfirmed transaction»). Нашли? Значит, транзакция ждет подтверждения.
Примечание. На «Приблизительное время подтверждения» («Estimated Confirmation Time») на странице с вашей транзакцией blockchain.info не смотрим — там неизвестно что.

1) Теперь закрываем кошелек и запускаем его из командной строки с параметром -zapwallettxes и ждем пока он откроется. Когда кошелек запустится, все неподтвержденные транзакции из него исчезнут (но они ещё есть в сети!). Для bitcoin core 0.14 потребуется перед запуском ещё переименовать или перенести файл mempool.dat (мемпул в этой версии сохраняется в файл и старая транзакция остается там).
Примечание. Почему не с параметром -salvagewallet? -zapwallettxes не затронет имена ваших ключей, а -salvagewallet удалит их. Кроме того, bitcoin core иногда падает при запуске с -salvagewallet и тогда ваш wallet.dat будет поврежден. Правда, рядом с ним заранее будет создана копия.

2) Теперь можно создавать новую транзакцию, не забыв поставить адекватную комиссию. Но! Поскольку ваша старая транзакция ещё осталась в сети, она может когда-нибудь неожиданно подтвердиться. Если вас это не устраивает, то у новой транзакции хотя бы один из входов должен будет совпадать с одним из входов старой. Для этого смотрим на странице вашей транзакции на сайте blocktrail.com/BTC или аналоге графу «inputs», запонинаем точный размер входа в битках. После этого при создании транзакции в кошельке нажимаем на кнопку «inputs…», находим в списке такое же точно число в битках и выбираем его (если их несколько, то выбирайте с тем же адресом получения и временем). После этого выбираем ещё какие-нибудь входы, чтобы общая сумма была больше суммы транзакции с будущей комиссией; лучше выбирать с запасом. Далее заполняем все поля как обычно, (не забываем про комиссию!) и отправляем.

Примечание. Иногда пишут, что всё это можно не делать, а просто подождать 2-3 суток, чтобы старая транзакция сама «канула в лету». О том, что иногда это может привести к проблемам, можно прочитать тут: http://qntra.net/201…-miner-problem/

Ещё есть вот это руководство — подходит для любых кошельков! Как вытащить приватные ключи из blockchain,info смотрите тут.

Как использовать CPFP? Как быть, если я не отправитель, а получатель транзакции?

Такой способ есть и он подходит для получателей; для отправителя он также подойдёт, если у вашей транзакции была «сдача» (обычно она есть). Этот способ немного дороже. Можно попробовать задействовать механизм CPFP (child pays for parent). Для этого вы должны потратить один из выходов проблемной транзакции с комиссией, которой хватит на обе транзакции сразу — новую и старую.

Примечание. Будьте внимательны. Если одна из транзакций-«предков» вашей тоже ещё не подтверждена, то комиссию надо будет рассчитывать на три (или более) транзакции.

То есть просто создаёте транзакцию с одним входом (это должен быть один из выходов проблемной, например — сдача) и пересылаете биткоины себе же. Комиссию ставите такую, чтобы её хватило на обе сразу: для этого суммируете их размеры, умножаете на число из пункта «Как выбрать адекватную комиссию?», делите на размер новой в килобайтах и вписываете в графу «custom transaction fee» при отправке транзакции. Подробнее для кошелька Bitcoin Core под спойлером:

Пусть для примера вы получатель и должны получить 0.08500148 btc. Для того, чтобы воспользоваться CPFP, в Bitcoin Core нажимаем «Настройки» -> «Параметры» -> «Бумажник» («Settings» -> «Options» -> «Wallet»); ставим галочки у «включить управление входами» («Enable coin control features») и «тратить неподтвержденную сдачу» («Spend unconfirmed change»), если они не стоят (потом можно будет их убрать); теперь закрываем окно настроек и нажимаем «Отправить» («Send»), там нажимаем кнопку «Входы…» («Inputs…») и ставим галочку у суммы 0.08500148; потом «Ок», получателем ставите свой адрес; количество ставите 0.08500148 и галочку «вычесть комиссию из суммы» («subtract fee from amount»); комиссию ставите «выборочно» («custom»), «за килобайт» («per kilobyte») и пишете с рассчетом на 2 транзакции по формуле ((размер старой транзакции)/(размер новой транзакции) + 1)*(адекватная комиссия за килобайт и лучше побольше). Отправляете.

Всё. Теперь ждёте. Те пулы, которые «понимают» эту схему, с радостью возьмут обе транзакции сразу. Возможно, это будет не быстро, если таких пулов мало.

Как отменить транзакцию? Может ли транзакция отмениться сама?

Если транзакция подтвердилась (включена в блок), отмениться или быть отменена она не может. Чтобы отменить неподтвержденную транзакцию, необходимо создать конкурирующую с ней транзакцию и добиться её включения в блок — смотрите ответ на вопрос «Как сделать даблспенд (двойную трату)?». В любом случае, гарантии успеха тут нет.

Сама неподтвержденная транзакция отмениться не может — может лишь поменяться отображение в вашем кошельке. Далее смотрите ответ на вопрос «Моя транзакция висела неподтвержденной несколько дней, а затем пропала и деньги вернулись обратно. Теперь все хорошо и я могу просто отправить деньги ещё раз?».

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

Нет! Ваша старая транзакция ещё есть в сети и может неожиданно подтвердиться. Чтобы этого избежать, надо сделать так, чтобы была новая транзакция и конкурировала со старой; далее смотрите ответ на вопрос «Как сделать даблспенд (двойную трату)?». Если вы вообще передумали делать тот перевод, то можно будет сделать перевод себе самому. Если у вас нет возможности выбора входов транзакции, можно переслать себе всё сразу.

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

1. Выставлять адекватную комиссию.

2. Включить в кошельке механизм replace-by-fee и помечать все транзакции как replaceable, если ваш кошелёк его поддерживает (вроде бы electrum поддерживает). Это позволит при возникновении проблемы легко повысить комиссию.

Как выбрать адекватную комиссию?

Рекомендую этот, этот и этот сервис. Если понять, что изображено на диаграмме, тяжело, открываем, например, сайт bitaps.com. Там есть графа «Рекомендуемая комиссия» («Recommended fee»). Если навести мышкой на эти слова, увидите подсказку. Если коротко — выбираете синее, зеленое или серое число в зависимости от желаемой скорости подтверждения, умножаете на 1000 (чтобы перейти от байтов к килобайтам) и вписываете в графу «custom transaction fee» при отправке транзакции.

Обратите внимание, что величина комиссии зависит от размера транзакции в байтах, а не от количества пересылаемых биткоинов.

Будьте внимательны — некоторые кошельки имеют плохо реализованную рекомендацию комиссий и могут вас подвести (среди них bitcoin core и особенно blockchain.info).

У меня получается очень большая комиссия, как сэкономить?

Во-первых, если вам надо сделать несколько переводов — объедините их: создайте одну транзакцию с несколькими выходами. Размер в байтах такой транзакции будет меньше, чем нескольких обычных транзакций; а значит — меньше общая комиссия при неизменной плате за байт. В типичном случае экономия для двух переводов будет в 1.7 раза; для десяти — в 4 раза.

Во-вторых, не полагайтесь на комиссию, которую рекомендует вам кошелек: она может быть как занижена, так и завышена. Самостоятельно оцените её через один из сервисов, показывающих состояние мемпула (см ответ на вопрос «Как выбрать адекватную комиссию?»). Обычно экономия от 10% до 30% (1.5 раза), хотя иногда может быть до 10 раз.

В-третьих, можно выставить вручную комиссию гораздо меньше рекомендуемой и транзакция всё равно пройдёт, если нет очереди (наличие или отсутствие очереди проверяйте на bitaps.com — графа «новые транзакции» («new transactions») или аналогичном). Если там видим число не больше 5 (максимум 10) тысяч, можно попробовать. Иногда успешно проходят транзакции с комиссией от 1000 сатоши за килобайт (это в 100-300 раз меньше обычно рекомендуемой), но придётся подождать несколько часов или даже суток и есть вероятность, что транзакция не пройдёт. Если нужно перевести деньги быстро, не пытайтесь так сэкономить.

Ну и «на любителя»: можно вручную подбирать входы и величину транзакции так, чтобы не было сдачи; экономия до 15%. Или можно заранее консолидировать входы по сниженной ставке за байт — когда комиссии ниже или когда есть время.