Количество транзакций в сети Bitcoin постоянно увеличивается, а это значит, что блоки, в которых они хранятся, заполняются быстрее. Ведь размер блока остается прежним – 1 мегабайт. Из-за этого возникает распространенная проблема: задержка транзакции в результате того, что она не подтверждена (необходимо хотя бы 2 подтверждения).
Содержание
Время ожидания перевода может затянуться на несколько часов, а иногда и дней. Это создает очевидные неудобства, особенно в ситуациях, когда необходимо перевести средства в сжатые сроки. В этом материале от ProstoCoin детально рассмотрим понятие неподтвержденной транзакции и выясним, что необходимо делать в такой ситуации.
Что значит неподтвержденная транзакция биткоин?
Неподтвержденная транзакция – это транзакция, которая после ее инициирования не была добавлена в блок. Работа сети Bitcoin поддерживается майнерами, которые и "обрабатывают" переводы. У них есть собственный приоритет – чем выше комиссия за байт транзакции, тем быстрее она будет добавлена в новый блок. Так что явление неподтвержденной транзакции – это, чаще всего, следствие низкой комиссии, которую выбрал отправитель.
Вы всегда можете узнать статус вашего перевода, просто введя в поле поиска сайта blockchain.info свой TXID (id вашей транзакции). Там отображается количество подтверждений и путь самой транзакции. Цифра "2" и синий статус "кнопки" c надписью Confirmations в Blockchain означает, что транзакция прошла. А если она не была подтверждена, тогда вы увидите характерную надпись Unconfirmed Transaction на красном фоне.
При условии выставления адекватной комиссии подтверждение занимает до 30 минут, в противном же случае (если комиссия занижена) можно ожидать 72 часа и даже больше.
Если вы уверены, что ваша транзакция именно зависла, а не ожидает потверждения, прочитайте этот материал.
Почему не подтверждается транзакция?
Главной причиной неподтвержденной транзакции называют низкую комиссию, которую выставил пользователь. В большинстве кошельков есть понятие рекомендуемой комиссии, которую программа выбирает сама. Однако, этот показатель может быть как занижен, так и завышен.
Важно помнить, что размер комиссии не зависит от суммы транзакции. То есть, транзакция на 100 биткоинов может оказаться дешевле, чем на 0,01 BTC. Все зависит от ее размера в байтах. В свою очередь, размер зависит от количества связанных транзакций. Например, если вы получили по 1 биткоину от Димы, Саши, Кати, а потом отправляете эти 3 биткоина Вахтангу, то в этой транзакции будет участвовать 4 адреса (включая ваш). А это дополнительные 600 байтов или около того.
Но если копнуть глубже, то окажется, что длительное время подтверждения транзакции – это следствие маленького размера блока Bitcoin. Сеть в условиях постоянного роста количества участников и переводов не способна их быстро обрабатывать на данном этапе.
Можно даже провести приблизительный расчет. Размер 1 блока составляет 1 мегабайт, на скрине выше обычная транзакция "занимает" 370 байт. На генерацию 1 блока уходит порядка 10 минут. Это значит, что за 10 минут может быть подтверждено порядка 2600 транзакций. Но ведь их на самом деле значительно больше.
На все том же сайте blockchain.info можно посмотреть размер mempool (мемпул – очередь) сети. Это объем всех транзакций, который ждут подтверждения.
Суммарно они занимают свыше 100 мегабайт. Это означает, что менее 1% транзакций будет подтверждено в течение 10 минут. В общей сложности, на их обработку уйдет 10х100=1000 минут или почти 17 часов. И это при условии, что в сети BTC внезапно перестанут проводиться любые новые транзакции.
Глобальное решение этой ситуации – это увеличение размера блока. Именно для этого и был проведен Segwit. Он предусматривает оптимизацию использования памяти для хранения данных о транзакциях и должен подготовить сеть к дальнейшим модификациям (увеличение блока) через софтфорк. Segwit2x, который предусматривал хардфорк (жесткое разделение блокчейн) и увеличение размера блока до 2 мегабайт, был отменен.
Что будет с деньгами?
Одно можно сказать точно – ваши деньги никуда от вас не пропадут. Тут есть два сценария:
- Ждать, пока ваша транзакция все-таки получит необходимых 2 подтверждения;
- Принимать какие-то меры, чтобы ее "протолкнуть" вперед.
Первый вариант не требует от вас никаких действий. Вы знаете, что проверка транзакции доступна на blockchain.info и некоторых других сервисах, и можете время от времени посматривать на ее статус, вводя в поиск идентификатор. Однако время ожидания может затянуться на дни, а в крайних случаях – недели.
И даже если вы не спешите с переводом, на каком-то этапе придется принимать меры. Об основных способах "ускорения" ProstoCoin расскажет ниже.
Сколько ждать подтверждения транзакции биткоин
Выше мы отмечали, что для проверки статуса перевода достаточно ввести номер транзакции в поле поиска на blockchain.info. Также это можно сделать на сайтах Bitaps или Blocktrail.
На некоторых сервисах указывается, как долго придется ожидать подтверждения. Но эти цифры не всегда соответствуют реальности. Вы можете самостоятельно рассчитать время подтверждения транзакции. Для этого необходимо обратить внимание на строку Fee per byte.
Дальше перейдите на сайт btc.com в раздел unconfirmed transactions. Там будет указана текущая средняя стоимость байта и примерное время, сколько проходит транзакция при той или иной комиссии.
Как ускорить транзакцию биткоин
Выделяют несколько основных методов ускорения/проталкивания транзакции:
- Двойная трата (Double Spend);
- CPFP;
- Replace-by-fee;
- Использование ускорителей.
Рассмотрим каждый метод более подробно.
Двойная трата
Метод с двойной тратой зависит от выбранного вами кошелька. Обычно применяется пользователями Bitcoin-Core или Bitcoin Knots. Для реализации этого метода необходимо закрыть Bitcoin Core, запустить заново в CMD (командная строка) c помощью команды "zapwalletettxes", предварительно убрав с каталога кошелька файл mempool.dat.
После этого проведите транзакцию заново, но уже с адекватной комиссией. В таком случае вам необходимо перехватить ее, точнее – объединить "вход" старого перевода с новым. Для этого в Bitcoin-Core во вкладке INPUT выберите старую транзакцию и добавьте еще один вход с другой транзакции, чтобы она покрывала комиссию.
CPFP
CPFP – это сокращение от child pays for parent. Этот метод рассчитан на ситуации, когда отправитель создал новую транзакцию с битками, которые "условно" получил с другой транзакции, которая еще не была подтверждена. В таком случае, для проведения операции необходимо оплатить комиссию еще за ту самую неподтвержденную транзакцию.
Чтобы это сделать, нужно перейти в раздел Wallet (Settings -> Options -> Wallet), пометить поля Spend unconfirmed change и Enable coin features.
После этого нажимаем "Отправить" и снова работаем с разделом Inputs. В качестве получателя указываете себя (свой биткоин адрес), вводите сумму, которую вам ранее отправили, и отмечаете галочку subtract fee amount. Ниже устанавливаете размер комиссии через Сustom, а не через Recommended.
Гораздо проще справиться с зависшей неподтвержденной транзакцией можно в кошельке Electrum. Там есть функция повторного отправления с увеличенной комиссией – replace-by-fee. Правда, она сработает только в том случае, если при первичном отправлении была отмечена галочка Replaceable.
Ускорители и “проталкиватели”
Ускорением транзакций также занимаются майнинговые пулы – ViaBTC, AntPool. Чтобы ускорить транзакцию через ViaBTC, достаточно перейти в раздел Tools на сайте пула и выбрать Transaction Accelerator. Для ускорения просто укажите ID транзакции и разгадайте каптчу. Эффективность этого метода спорная. В сети Также есть много сайтов-агрегаторов пулов ViaBTC и AntPool. А в Telegram создан бот по ускорению – @FastTXbot. Бот агрегирует проталкивание через AntPool автоматически.
Еще больше способов ускорения вы можете найти в нашей статье: Как ускорить транзакцию биткоин
Как обезопаситься от зависания транзакций
В первую очередь, необходимо понимать, что влияет на скорость подтверждения транзакции. А влияет на нее время проведения транзакции, выбранная комиссия и "путь" отправляемых вами биткоинов. Не влияет количество пересылаемых биткоинов и кошелек, с которого вы их отправляете.
Если вы получили 10 биткоинов через 10 транзакций по 1 биткоину, то перевод этих 10 биткоинов по своему объему в байтах будет намного больше, чем перевод 100 биткоинов, которые вы получили с 1 адреса. Это и есть пример "пути" отправляемых биткоинов. Аналогично и при отправлении – чем больше адресов, тем больше комиссия. Если вам нужно отправить BTC нескольким получателям, тогда объединяйте транзакции в одну и "разветвляйте" ее через Input.
Ключевое значение – это размер комиссии на 1 байт. Перед тем, как отправлять битки, посмотрите показатели мемпула и проверьте среднее значение комиссий в сети. Посмотреть показатели комиссий можно на BitcoinFees.
Если мемпул пуст, тогда даже перевод с небольшой "пеней" пройдет: здесь работает простой закон спроса и предложения. Майнеры обрабатывают транзакции, так как лучшие предложения поступают редко. Идеальное время проведения – это когда Китай и Азия спят. То есть, в европейской первой и второй временной зоне в этот период вечер (18:00-22:00).
При грамотной работе с мемпулом, кошельком и данными о среднем показатели комиссии вы сможете быстро проводить транзакции и при этом экономить.
Теперь вы знаете, почему транзакция в биткоинах не подтверждается, как отследить и как ее подтвердить различными методами.
Итак, резюме:
- Неподтвержденная транзакция – это транзакция, которая после отправки по какой-то причине не была добавлена в блок.
- Чтобы ускорить транзакцию, можно использовать метод двойной траты (Double Spend), CPFP, Replace-by-fee либо специальные ускорители.
- Чтобы обезопаситься от зависаний, нужно выставлять правильную комиссию и учитывать время проведения транзакции.