Почему блокчейн долго не подтверждает транзакцию, как ускорить
Почему блокчейн долго не подтверждает транзакцию, как ускорит
Транзакции в блокчейн-сети требуют подтверждений от майнеров – это основной принцип и залог работы всей системы. Сегодня рассмотрим такую проблему: почему блокчейн долго не подтверждает транзакцию и можно ли как-то ускорить процесс.
Что значит неподтвержденная транзакция в блокчейне
Неподтвержденная транзакция в блокчейне – это платеж, который находится в мемпуле (проще говоря, в очереди). Майнеры подтверждают платежи один за другим, причем в приоритете всегда те, которые дают им наибольшие возможности для заработка.
Майнер получает доход как в виде награды за добавленный в блокчейн блок, так и за счет комиссий всех транзакций, находящихся в этом блоке. Следовательно, майнерам выгоднее всего уделять внимание платежам с наибольшей комиссией.
Почему не подтверждается транзакция?
Чаще всего транзакция не подтверждается из-за слишком низкого уровня установленной на нее комиссии. В таком случае она может обрабатываться очень долго или вообще зависнуть, так как очередь до нее никогда не дойдет.
Даже при нормальном уровне комиссии продолжительность обработки платежа может быть долгой, если в сети слишком большая нагрузка. Это может быть связано с какими-либо внешними событиями, влияющими на активность пользователей в сети. Когда слишком много транзакций совершается ежеминутно, то задержки неизбежны.
Сколько ждать подтверждения транзакции биткоин
Стандартное ожидание подтверждения биткоин-транзакции варьируется от 15 до 60 минут. Это зависит также от того, сколько подтверждений нужно для завершения перевода. Число по умолчанию – шесть, но некоторые сервисы могут и снижать его до 1-2. Не паникуйте, если средства не пришли в течение часа – при высокой загрузке блокчейна операция может занимать даже два часа.
Проверить, сколько подтверждений у вашей транзакции, можно на сайте blockchain.info, это обозреватель, содержащий информацию обо всех действующих в сети кошельках и операциях.
Чтобы получить нужную информацию, просто вставьте в поле поиска txid транзакции (предоставляется кошельком после отправки) и посмотрите статус перевода.
Как ускорить транзакцию
Теперь рассмотрим способы, как ускорить («протолкнуть») транзакцию, если она не подтверждается слишком долго.
Выборочная замена
Выборочная замена комиссии – Replace-by-Fee – подразумевает увеличение комиссионных сборов, чтобы сделать платеж более интересным для майнеров. Однако чтобы сделать такую операцию, необходимы некоторые навыки и высокий уровень внимательности – в противном случае блокчейн посчитает сделку попыткой двойной траты и забракует ее. А нужно сделать так, чтобы сеть увидела новый перевод, только с повышенными сборами, при этом сетевые узлы восприняли ее как замену старой и переместили в очереди.
Проблема в том, что с Replace-by-Fee работают не все майнеры, хотя, благодаря преимуществам этой функции, их число постепенно растет. Также, чтобы пользоваться опцией, нужен кошелек, который ее поддерживает (например, Bitcoin Core). Тогда, отправляя второй платеж, потребуется сначала включить в настройках кошелька параметр Opt-In RBF.
Двойная трата — «Double Spend»
Двойной тратой в блокчейн-сфере называется повторная передача денежных средств и использованием одного и того же источника. В некоторых случаях, если транзакция не проходит, пользователь может изменить комиссию или другие условия и отправить ее заново. Вероятность, что пройдут обе, исключена. Первой пройдет та, которая для майнеров более привлекательна. Вторая же просто устранится.
Основные шаги по проведению double-spending на примере кошелька Bitcoin Core:
- Подготовительные меры. Проверка транзакции на blockchain.info. Нужно убедиться, что ее статус действительно unconfirmed transaction и никаких подвижек нет.
- Запуск кошелька строго из командной строки с добавлением команды zapwallettxes. При этом визуально в кошельке никаких платежей уже не будет (но в сети они есть).
- Создание нового платежа с подходящим уровнем комиссии. Все остальные параметры должны строго совпадать с теми, которые указывались в предыдущий раз, включая сумму.
- Отправка транзакции на обработку в стандартном порядке.
Если платеж не срочный, то можно не торопиться и подождать пару дней – вдруг старая операция подтвердится. Это вполне возможно. Но не следует ждать дольше 72 часов, это чревато потерей средств.
Child Pays for Parent
Child Pays for Parent («ребенок платит за родителя») – метод не бесплатный и поддерживается не всеми пулами, зато весьма эффективен. Важное условие – при этом на счету отправителя должен оставаться запас средств.
Пользователь создает новую сделку, используя для этого остаток средств. При этом можно совершать платеж себе самому, главное, чтобы использовалась сдача с проблемной транзакции. Самое важное, что уровень комиссии при этом должен быть установлен такой, который покроет и первый, и второй платеж.
Использование ускорителей
Ускорители транзакций – это специальное ПО, с использованием которого можно протолкнуть зависший платеж. Пример – сервис ViaBTC.
Визуально процесс максимально прост. Пользователь должен указать txid проблемного платежа и ускорить ее либо бесплатно, либо платно (более эффективно). Сделки, которые помещены в ускоритель, гарантированно будут помещены в следующий блок, добытый пулом ViaBTC.
Как обезопасить себя от зависания транзакций?
Самое главное, на что нужно обращать внимание, чтобы обезопасить себя от зависания транзакций, это выставление правильного уровня комиссии. Некоторые кошельки ставят его самостоятельно, тогда пользователю не о чем беспокоиться. Некоторые же дают возможность регулировать комиссию – тогда следует выбирать вариант «приоритетная», который гарантированно даст оптимальное соотношение между затратами и скоростью проведения платежа.
Существует возможность отмены неподтвержденных транзакций через консоль Bitcoin Core. Эта процедура достаточно сложна и подходит для профессионалов. Включает в себя создание неформального ключа и пересоздание нового кошелька со старыми данными.
Заключение
Работа с нашим сервисом лишена перечисленных проблем. В рамках кошелька вы можете мгновенно отправлять или обменивать криптовалюту, а также фиатные деньги. Полная безопасность средств гарантируется. Обратите внимание на наличие выгодной реферальной программы – приглашайте знакомых и получайте финансовый бонус.
Неподтвержденная транзкация на блокчейн – что делать
Одна из особенностей протокола Bitcoin — ограниченная пропускная способность. В связи с ростом числа транзакций система все хуже справляется с их отправкой, и пользователи часто сталкиваются с проблемой неподтвержденных переводов. В этой статье мы подробно расскажем о том, что делать, если зависла транзакция в блокчейн и как обезопасить себя от возникновения подобных ситуаций.
Почему транзакция не подтверждается
Каждый перевод в сети Bitcoin проверяют майнеры. Если транзакция легитимна, она включается в новый блок: в этом случае говорят, что транзакция получила подтверждение. Включение в каждый последующий блок увеличивает количество подтверждений, что повышает доверие к транзакции среди всех участников сети.
В идеальном случае каждая транзакция в Bitcoin должна получить как минимум 6 подтверждений, хотя на практике часто используется и меньшее количество. Однако, ни один сервис не примет неподтвержденную транзакцию, то есть такую, которая не включена ни в один новый блок. Именно в таких случаях принято говорить, что перевод завис в блокчейне.
Проблема зависших транзакций возникает по единственной причине: недостаточный размер комиссии. Дело в том, что майнеры проверяют транзакции на конкурентной основе: чем выше комиссия, тем больше вероятность попадания перевода в очередной блок. Если комиссия слишком мала, майнеры могут долго игнорировать перевод, отдавая предпочтение транзакциям с высокой комиссией.
Современные кошельки, такие как Bitcoin Core или blockchain.info, автоматически предлагают оптимальный размер комиссии. Проблема в том, что алгоритм расчета не идеален, и может не учитывать мощные всплески активности в сети. Даже если пользователь указал рекомендуемую комиссию для своей транзакции, существует риск ее зависания в блокчейне.
Зависла транзакция в блокчейн: что делать
Во-первых, не паниковать: транзакция не может исчезнуть в блокчейне навсегда. В зависимости от загруженности сети, возможны три варианта развития событий:
- транзакция войдет в новый блок (получит подтверждение) в течение нескольких минут или часов;
- процесс подтверждения получится ускорить одним из доступных способов;
- при высокой загруженности сети и отсутствии возможности ускорения транзакции перевод просто вернется на счет отправителя в течение нескольких дней.
Первое, что необходимо сделать — получить информацию о статусе транзакции. Для этого зайдите на сайт blockchain.info и введите id транзакции (обычно обозначается как tx или txid) в текстовое поле, расположенное в правом верхнем углу. Запрос выполняется нажатием клавиши на клавиатуре (нажимать кнопку не нужно!).
Проверьте количество подтверждений. На скриншоте показан случай, когда транзакция висит в списке неподтвержденных. Если же на месте красного поля стоит конкретное число, беспокоиться не о чем: перевод уже включен в цепь, и достаточно просто подождать еще несколько десятков минут.
В графе «Плата за байт» указан размер комиссии. Это число пригодится для дальнейшей оценки ситуации.
Далее нужно сравнить эту комиссию с текущей статистикой сети Bitcoin. Сделать это можно, просмотрев рекомендуемые комиссии на сайте bitaps.com. Если плата за байт примерно равна или превышает последнее число в поле «Recommended fee», можно надеяться на подтверждение транзакции в течение 1 – 2 часов.
Для подтверждения информации можно воспользоваться сервисом Bitcoinfees, который показывает количество неподтвержденных переводов, разделяя их по размеру комиссии.
В том случае, если комиссия за перевод значительно ниже рекомендуемой, целесообразно воспользоваться одним из методов ускорения переводов.
Способы ускорения транзакций
Если у вас возникла неподтвержденная транзакция в блокчейн, что делать дальше и как ее побыстрее «протолкнуть»? Существует несколько способов ускорения транзакций, которые могут помочь в различных ситуациях. Перечислим основные методы в порядке увеличения сложности.
Использование ускорителей майнинговых пулов
Майнинговые пулы, контролирующие большую долю мощности в системе Bitcoin, могут способствовать пользователям в ускорении транзакций. На данный момент интерес представляют сервисы двух крупных пулов:
В первую очередь стоит использовать ускоритель ViaBTC: он не требует регистрации, и все, что нужно сделать пользователю — ввести id транзакции и капчу.
Если после нескольких попыток транзакция так и не подтвердилась, следует переходить к использованию ускорителя Antpool. Для регистрации на сайте нужно указать E-mail и пароль.
Бот-ускоритель в Telegram
Telegram бот @FastTXbot создан для автоматического ускорения переводов в сети Bitcoin. Для его использования необходимо отправить номер зависшей транзакции и ждать результата. На самом деле бот использует один из предыдущих способов — ускорение через Antpool. При этом робот автоматически делает всю работу за пользователя: достаточно просто дождаться уведомления о результате процедуры, которое обычно приходит в течение 10 минут.
Данный способ не всегда срабатывает для переводов, которые используют очень низкую комиссию.
replace-by-fee
Данная возможность позволяет создать копию зависшей транзакции с повышенной комиссией. На сегодня replace-by-fee поддерживается популярными десктопными кошельками Bitcoin Core и Electrum, а также онлайн-кошельком GreenAddress. Для использования функции нужно создать перевод, содержащий точно такую же сумму, при этом увеличив комиссию до приемлемого уровня. Кроме того, при отправке транзакции нужно обязательно выбрать пункт replace-by-fee: в противном случае средства отправятся дважды. В Bitcoin Core нужная галочка спрятана в нижней части окна отправки.
CPFP (Child pays for parent)
Данный способ предназначен в первую очередь для получателя зависшей транзакции, однако в большинстве случаев может быть использован и отправителем.
Не вдаваясь в сложные технические детали, можно сказать, что способ построен на использовании средств, получение которых еще не было подтверждено в блокчейне. Многие майнинговые пулы способны увидеть связь между неподтвержденным переводом и новой транзакцией, которая связана с предыдущим адресом.
Для использования CPFP в Bitcoin Core нужно перейти в меню «Настройки» — «Опции», выбрать вкладку «Кошелек» и отметить галочки, как показано на скриншоте.
После этого останется создать новую транзакцию на вкладке «Отправить». Щелчком по кнопке «Входы» нужно выбрать сумму, которая изначально была отправлена на счет получателя. Если ускорение производит отправитель, в качестве входа нужно выбирать «сдачу», которая осталась после отправки транзакции. Увидеть размер сдачи можно при просмотре транзакции на сайте blockchain.info.
При использовании CPFP следует устанавливать комиссию, достаточную для проведения сразу двух транзакций. Например, при рекомендуемой плате 150 sat/B следует устанавливать комиссию 300 sat/B или выше.
Двойное расходование
Наиболее сложный способ, доступный только для пользователей Bitcoin Core. Рекомендуется для опытных пользователей, так как требует навыков использования командной строки и очень аккуратного обращения с входами транзакций.
Для начала необходимо запустить кошелек из командной строки с параметром -zapwallettxes. Кроме того, для современных версий Bitcoin Core требуется удаление файла mempool.dat из папки с программой. После этого можно создавать новую транзакцию, которая в точности повторит старую, за исключением увеличенной комиссии.
При двойном расходовании возникает важный нюанс: старый перевод в какой-то момент также может оказаться подтвержденным, из-за чего средства с кошелька спишутся дважды. Избежать этой ситуации можно, указав в списке входов для новой транзакции хотя бы один вход, который использовался в предыдущей транзакции.
Заключение: как защититься от неподтвержденных транзакций
Практика показывает, что ушедшая в блокчейн неподтвержденная транзакция — не такое уж и страшное явление. В большинстве случаев ситуацию можно исправить с помощью одного из методов ускорения проверки. Однако, если скорость и надежность прохождения транзакции критически важны, следует устанавливать высокую комиссию. Только так можно обезопасить себя от рисков, связанных с зависанием переводов.
Подписывайтесь на новости BitExpert в Twitter!
Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER
https://matbea.com/articles/confirmations