Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 💫 💫 читайте на сайте

Сколько Может Висеть Неподтвержденная Транзакция на Blockchain

Неподтвержденная транзакция, или Возвращаем криптовалюту из небытия

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Подождите сутки-двое, вашу транзакцию включат в очередной блок.
  • Подождите сутки-двое, программе-клиенту надоест ждать, и она сама отменит транзакцию.
  • Загрузите заново всю цепочку блоков.
  • Запустите клиент с каким-нибудь волшебным ключом (-rescan / -reindex / -salvagewallet).

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

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

  • Зависит от валюты, где-то быстро отменяется, где-то нужно ждать долго.
  • Баг конкретного клиента.
  • Информация об отмене неверна.

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

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

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

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

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

  1. Проявите терпение. Не поднимайте сразу панику. Подождите пару дней, вдруг и правда само пройдет.
  2. Убедитесь, что транзакция зависла. Зайдите в Block Explorer (обычно гуглится по запросу «blockchain %названиекриптовалюты%») и проверьте, что про зависшую транзакцию там ничего не знают, а на счете деньги на самом деле есть.
  3. Перейдите в отладочную консоль (Помощь — Окно отладки — Консоль)
  4. Если кошелек зашифрован (он же зашифрован?), то для начала необходимо получить доступ, используя команду walletpassphrase

Импорт может производиться достаточно долго. Позвольте ему завершиться — дождитесь получения ответа на команду.

  • В новом кошельке должен появиться счет с реальным его состоянием. Для надежности можно перезапустить клиент с ключом -rescan, но, полагаю, это уже лишнее. Ранее заблокированные средства снова доступны для отправки, шлите их заново, на этот раз не забудьте включить комиссию. (есть важные дополнения по этому пункту в upd3)
  • Если на старом кошельке остались прочие используемые и важные счета, можно снова вернуться к нему.
  • Таким нехитрым образом удалось вернуть криптомонетки. Хотя я уже и начал думать, что они потеряны совсем. В общем, не надейтесь на чудо, перед использованием нового клиента убедитесь, что комиссия всегда включена. Рекомендуемый размер комиссии, думаю, лучше искать на ресурсах, посвященных используемой криптовалюте.

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

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

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

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

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

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

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

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

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

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

    Если после нескольких попыток транзакция так и не подтвердилась, следует переходить к использованию ускорителя Antpool. Для регистрации на сайте нужно указать E-mail и пароль. replace-by-fee

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

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

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

    Бот-ускоритель в Telegram

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

    Нужна поддержка? Свяжитесь с нами

    Чтобы получить нужную информацию, просто вставьте в поле поиска txid транзакции (предоставляется кошельком после отправки) и посмотрите статус перевода.

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

    Проблема в том, что с Replace-by-Fee работают не все майнеры, хотя, благодаря преимуществам этой функции, их число постепенно растет.

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

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

    Двойной тратой в блокчейн-сфере называется повторная передача денежных средств и использованием одного и того же источника. В некоторых случаях, если транзакция не проходит, пользователь может изменить комиссию или другие условия и отправить ее заново. Вероятность, что пройдут обе, исключена. Первой пройдет та, которая для майнеров более привлекательна. Вторая же просто устранится. Двойная трата — «Double Spend»

    Child Pays for Parent
    Если платеж не срочный, то можно не торопиться и подождать пару дней – вдруг старая операция подтвердится. Это вполне возможно. Но не следует ждать дольше 72 часов, это чревато потерей средств.
    Даже при нормальном уровне комиссии продолжительность обработки платежа может быть долгой, если в сети слишком большая нагрузка. Это может быть связано с какими-либо внешними событиями, влияющими на активность пользователей в сети. Когда слишком много транзакций совершается ежеминутно, то задержки неизбежны.

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

    Использование ускорителей.

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

    Стандартное ожидание подтверждения биткоин-транзакции варьируется от 15 до 60 минут. Это зависит также от того, сколько подтверждений нужно для завершения перевода. Число по умолчанию – шесть, но некоторые сервисы могут и снижать его до 1-2. Не паникуйте, если средства не пришли в течение часа – при высокой загрузке блокчейна операция может занимать даже два часа.

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

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

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

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

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

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

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

    Комиссии за биткоин-транзакции

    Соответственно, такая криптосделка не будет обработана.

    Итоги

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

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

    Как отменить транзакцию Биткоин, обзор действующих методов

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

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

    Условия возможности отмены транзакции

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

    Бот-ускоритель в Telegram
    Включение в 1 блок приравнивается к 1 подтверждению. И пока в операции не наберется 6 таких подтверждений, перевод не будет осуществлен.
    • Статус транзакции (неподтвержденная/подтвержденная).
    • Адрес входа и адрес выхода.
    • Передаваемая сумма.
    • Задействованная комиссия.
    • Время отправки.
    • Вес в байтах.
    • Стоимость криптовалюты в долларах по курсу на момент отправки.

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

    Бот-ускоритель в Telegram.

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

    § Не Подтверждается Транзакция Биткоин Blockchain Что Делать Наиболее сложный способ, доступный только для пользователей Bitcoin Core. Рекомендуется для опытных пользователей, так как требует навыков использования командной строки и очень аккуратного обращения с входами транзакций. Что Значит Неподтвержденная Транзакция на Blockchain
    Включение в 1 блок приравнивается к 1 подтверждению. И пока в операции не наберется 6 таких подтверждений, перевод не будет осуществлен.

    Related posts