ИНТЕРЕСНО Зависла/не подтверждается транзакция. Что делать? [ОТВЕТ]

Makein

Admin SkyNetZone
АДМИНИСТРАТОР

Makein

Admin SkyNetZone
АДМИНИСТРАТОР
Регистрация
21 Май 2018
Сообщения
440
Реакции
1,222
Репутация
1,091
FAQ по зависшим транзакциям

Скорее всего, отправитель выставил недостаточную комиссию. Может быть так, что месяц, неделю, или даже сутки назад её хватало для быстрого подтверждения, а сегодня - нет. Вторая возможная причина - отправитель потратил выход неподтвержденной транзакции: получил биткоины и, не дожидаясь подтверждений, отправил часть из них дальше.
Сначала убедимся, что ваша транзакция действительно ожидает подтверждения. Для этого копируем 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. сделать даблспенд. Особенности: может сделать только отправитель, нужен доступ к приватным ключам или hd seed (12 слов), недорого, относительно сложно.
  2. использовать CPFP. Особенности: может сделать получатель и обычно отправитель, немного дороже, не очень сложно.
  3. использовать replace-by-fee. Особенности: может только отправитель и если в кошельке стояла галочка до отправки; не все кошельки поддерживают; недорого, несложно.
  4. использовать

    Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    от viabtc. Особенности: может кто угодно, бесплатно, несложно, но сервис часто перегружен (как это обойти см

    Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    ) и есть ограничения на транзакцию. Имейте в виду, что этот сервис приносит прямые убытки своим создателям и вряд ли просуществует очень долго.
  5. использовать "

    Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    от antpool (необходим аккаунт на antpool.com). Особенности: может кто угодно, бесплатно, несложно и есть ограничения на транзакцию. Как и сервис от viabtc, этот тоже приносит прямые убытки своим создателям. Последнее время не работает...

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

1. Убеждаемся, что она ждёт подтверждения

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


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

Примечание. Иногда пишут, что всё это можно не делать, а просто подождать 2-3 суток, чтобы старая транзакция сама "канула в лету". О том, что иногда это может привести к проблемам, можно прочитать тут:

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.



Как использовать 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)*(адекватная комиссия за килобайт и лучше побольше). Отправляете.

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

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

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

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

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

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

Рекомендую

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

,

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

и

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

сервис. Если понять, что изображено на диаграмме, тяжело, просто открываем первую ссылку и рекомендацию сверху страницы вписываете в графу "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%. Или можно заранее консолидировать входы по сниженной ставке за байт - когда комиссии ниже или когда есть время.

 
Последнее редактирование модератором:
Сверху