Неподтвержденные транзакции blockchain – как от них избавиться

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

Блокчейн и транзакции

Блокчейн, по сути, набор транзакций, соединенных в блоки. Прежде чем перевод попадет в блок, он должен получить подтверждение. У каждого блока ограниченные размеры, например, в Биткоин блок вмещал изначально 1 Мб, а после внедрения SegWit — 4 МБ. Его можно заполнить частично, но если блок переполнен, сеть его не примет. Это помогает защищать блокчейн от нападок злоумышленников.

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

Значок биткоин
Блокчейн – это цепочка блоков. Транзакции являются строительным материалом для их формирования. Это записи в блокчейне, содержащие три составляющих:

  • адрес отправителя (Input);
  • сумму, отсылаемую отправителем (Amount);
  • адрес получателя (Output).

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

Как проводятся транзакции

Все транзакции проходят по общей схеме:

  1. Пользователь собирается отправить несколько монет. Он делает заявку и подписывает её секретным ключом. В «заявке» указаны три перечисленные выше параметра – адрес получателя, сумма и адрес отправителя.
  2. Майнеры (участники сети) занимаются подтверждением транзакций отправленных пользователями. За это они получают деньги, потому им выгодно подтверждать переводы с высокой комиссией. Когда сделка подтверждена, она попадает в блок.
  3. Когда блок присоединяется к блокчейну, на кошелек получателя поступает то количество монет, которое было списано с бумажника отправителя.

В блокчейн-транзакциях принимают участие все пользователи, и сеть обновляется на всех подключенных компьютерах. Комиссия за операцию — один из решающих факторов в скорости перевода. Чем выше комиссия, тем больше шансов, что операция будет включена в блокчейн на протяжении нескольких минут.

Неподтвержденная транзакция

Что значит неподтвержденная транзакция? Неподтвержденная транзакция – это платеж, который был инициирован, но в блок не попал. Подтверждают транзакции и отправляют их в блоки майнеры, приоритетными выбирая те переводы, где проставлена высокая комиссия. Неподтвержденными транзакциями становятся переводы с низкой комиссией или без комиссии.

Отследить статус платежа можно на blockchain.info. Чтобы увидеть результат, достаточно в поисковом ходе указать TXID. Если возле транзакции расположена кнопка «Cofirmations» и отмечена зеленым цветом, значит, операция подтверждена. Красный цвет обозначает неподтверждённые сделки. Возле них стоит пометка «Unconfirmed Transaction».

Биткоин адрес
Если комиссия высокая, в среднем, на подтверждение нужно 10-30 минут. Платежи с низкой комиссией проходят 72 часа, а иногда и дольше. Сколько неподтвержденных транзакций можно увидеть на blockchain info.

Причины

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

  1. Ошибки пользователей. Обычно подобная проблема возникает у новичков, не успевших разобраться, как работает цифровая система.
  2. Комиссия. В блокчейне биткоина приоритетной транзакцией будет та, где высокая комиссия. В большинстве кошельков, например Bitcoin Core или blockchain.info, есть опция с рекомендуемой комиссией. Это минимальная сумма, гарантирующая прохождение транзакции. Если комиссия слишком маленькая, майнеры игнорируют перевод. Комиссия не связана с пересылаемой суммой. Она может оказаться больше чем сам перевод. Решающим является вес перевода в байтах.
  3. Загруженность сети. Если в блокчейне выполняется слишком много переводов, даже высокая комиссия не гарантирует быстрое выполнение сделки. Перегруженность возникает из-за возросшего количества пользователей. Ситуацию могут усложнять периодически возникающие спам-атаки.
  4. Ограниченные размеры блоков. Блоки Bitcoin весили всего 1 МБ, потому не могли поместить транзакции всех желающих. Из-за популярности биткоина количество пользователей возросло, и заложенные изначально размеры уже не справляются с обслуживанием сети.

Изначально платформа Bitcoin осуществляла транзакции с минимальными, фиксированными комиссиями. Очередей не было, так как пользователей было мало. Когда биткоин обрел популярность, и пользователей стало больше, появились очереди. Чтобы сделки прошли, начали поднимать комиссии, а команда проекта занялась решением проблемы расширения блоков.

Что делать

Даже если транзакция не подтверждена, деньги никуда не испаряются. Но есть несколько сценариев:

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

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

Данные по транзакциям

Как долго ждать

Чтобы увидеть статус транзакции и время её подтверждения можно воспользоваться специальными сервисами:

  • blockchain.info;
  • Bitaps;
  • Blocktrail.

Но указанные там цифры редко отвечают реальности. Чтобы получить более точные сведения можно сделать расчёты самостоятельно:

  1. Взять число, указанное в строчке Fee per byte.
  2. Перейти на сайт btc.com.
  3. Найти раздел unconfirmed transactions.

В указанном разделе будет представлена среднестатистическая цена байта и время для проведения транзакции с той или другой комиссией.

Раздел unconfirmed transactions

Как снизить риски зависания

Решить проблему способны три метода:

  1. Увеличение блока. Блокчейн Биткоина не рассчитывался на те нагрузки, которые существуют сегодня. Одного МБ для всех желающих провести транзакции явно мало, поэтому блок нужно увеличивать. Но с этим разработчики не спешат из-за того, что обслуживание блоков становится более трудоемким и дорогостоящим. В таком случае поддержание работы сети оказывется недоступным большинству пользователей и платформа превращается в централизованное сообщество для избранных.
  2. Протокол SegWit. Он позволяет делать софт форк (мягкое ветвление), чтобы повысить производительность блокчейна, удалив из транзакций информацию о подписях. Именно этот метод был выбран для увеличения вместительности блоков Биткоина от 1 до 4 Мб.
  3. Использование динамического размера блока. Эта технология применяется в Monero. В данном случае размер блока автоматически меняется в зависимости от загруженности сети. Блокчейн, построенный на таких блоках, практически не подвержен рискам замедления работы.

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

Как предотвратить блокировку

Чтобы зависание не произошло, можно прибегнуть к следующим мерам:

  1. Использовать высокую комиссию. Плата за перевод должна быть выше средней. Кошелек иногда выставляет слишком низкие комиссионные. Это можно исправить вручную или сделать соответствующие настройки в бумажнике. Если комиссия маленькая, операция тоже может пройти, но на это потребуется больше времени.
  2. Воспользоваться бумажником с динамическими комиссиями. Эти кошельки имеют связь с блокчейном биткоина, подстраиваются под требования сети и автоматически изменяется в кошельке. Бумажник после небольшой настройки будет указывать ту комиссию, с помощью которой сделку встроят в ближайший блок.
  3. Обновить свой бумажник. Если количество задержанных транзакций, особенно в час пик, растет,- это сигнал, что бумажник устарел. Для начала его можно обновить, но если это не поможет, сменить. Средства, которые хранятся на одном бумажнике, достаточно перевести на другой, только что созданный, или просто экспортировать приватные ключи. Последний вариант позволит избежать проведения транзакций через блокчейн и не ждать, пока монеты придут на новый кошелек.

Обычно этого бывает достаточно, чтобы избавиться от проблемы.Установка комиссии

Если транзакция уже отправлена

Если транзакция сделана, но она «зависла», есть несколько способов её продвинуть:

  1. Изменить комиссию. В некоторых бумажниках есть опция, что называется «возможная замена по комиссии» (Opt-In Replace-by-Fee или Opt-In RBF). С её помощью та же транзакция отправляется повторно, но с изменившейся комиссией. Тогда обновленная сделка заменяет старую и становится впереди очереди. Если использовать эту же стратегию без Opt-In Replace-by-Fee или Opt-In RBF, сеть посчитает транзакцию двойным расходованием средств и не допустит её продвижение. Не все майнеры поддерживают Opt-In RBF, так что возможно, даже с высокой комиссией завершения сделки придется ждать. Прежде чем поднимать комиссию после отправки транзакции, желательно убедиться, что кошелек такую возможность поддерживает и эта функция включена. Opt-In RBF есть на Electrum и GreenAddress.
  2. Child Pays for Parent, или CPFP. Метод «ребенок платит за родителя» заметно сложнее предыдущего, но он подходит пользователям бумажников, которые не поддерживает Opt-In RBF. В этом случае подтверждаются переводы с высокой суммарной комиссией. Когда пользователь совершает транзакцию, ему отправляют «сдачу», которую он может потратить на другие сделки, но уже с достаточно большой комиссией, чтобы покрыть расходы на оба перевода. Тогда майнер подтверждает все транзакции, включая неизрасходованную в транзакции blockchain сдачу. Правда, как и с Opt-In RBF, CPFP поддерживает только часть майнеров, потому подтверждение может затянуться.
  3. Подождать. Если транзакция не подтвердилась, формально деньги принадлежат отправителю, хотя и не видны на кошельке. Биткоины не теряются, и через несколько дней могут просто вернуться.
  4. Воспользоваться услугами майнинг-пула ViaBTC. Этот сервис предлагает «ускоритель транзакций». Обратиться за помощью могут пользователи, которые из-за отсутствия опыта, или страха что-то сделать не верно, не рискуют вмешиваться в процесс. Пул помогает продвинуть зависшие транзакции, если их комиссия не меньше 0,1 mBTC/килобайт. Чтобы профессионалы подвинули сделку, представителям пула нужно дать ID транзакции. Под контролем ViaBTC около 7% вычислительной мощности Биткоин, поэтому шансы на успех весьма неплохие. Но сервис ограничивается всего сотней транзакций/час.Ускоритель транзакций
  5. Осуществить двойную трату. Эффективность метода зависит от используемого бумажника. Лучше всего выполнять через BitcoinCore или BitcoinKnots. Бумажник нужно закрыть, предварительно убрав из каталога файл «mempool.dat» и запустить через командную строку, используя команду «zapwalletettxes». Когда все готово, осталось провести транзакцию заново, но указав нормальную комиссию и объединив обе сделки во вкладке BitcoinCore «INPUT».

Что делать получателю

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

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

Если самостоятельно справиться не получилось, можно попросить отправителя повторить отправку, воспользовавшись Opt-In RBF.

Как отменить транзакцию

Если возле операции в блокчейн.инфо стоит надпись «сделка не подтверждена», её можно отменить в несколько шагов:

  1. Вход в личный кабинет и отладочную консоль (помощь – окно отладки — консоль). Если счет зашифрован, к нему нужен доступ.
  2. Выбор адреса и создание неформального ключа – в строчке dumpprivkey заменить слово на адрес, выбранный для перевода крипты. Полученный результат – это неформальный ключ, который желательно скопировать. Ключи нужны для всех кошельков, на которые переводились монеты.
  3. Аннулирование кошелька. Достаточно перемещения на другое устройство или смены имени.
  4. Перезагрузка клиента. После этого важно перейти в консоль и импортировать ключи через команду importprivkey. Это может занять время.

Обновленный бумажник не содержит зависшую транзакцию, все пропавшие средства — на счету. Схема подойдет для всех криптокошельков, за исключением облачных.Согласно данным биткоин.инфо, в сети постоянно находятся тысячи неподтвержденных транзакций. Это обычное явление для криптовалютной отрасли. Разработчики пытаются решить эту проблему, а пользователи хотят избежать связанных с ним хлопот.

У более молодых криптовалютных систем, ввиду их небольшой популярности, с подобным клиенты сталкиваются редко.

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

Отправить ответ

avatar
  Subscribe  
Оповестить меня о