Скорость транзакции bitcoin. Подтвержденные и неподтвержденные транзакции. Как подтвердить транзакцию в кошельке Биткоин - методы ускорения

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

Тем не менее, выводить получаемые на -кошелёк монеты всё же приходится, соответственно, – приходится иметь дело и с подтверждением, которое может длиться от часа до шести-семи часов, а нередко и до целых суток.

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

Что из себя представляет система битоин-блокчейна?

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

Общедоступная информация каждой транзакции состоит из:

  • Адреса открытого -ключа – того места, откуда идёт перечисление монет.
  • Исходных данных, содержащих в себе сведения о -адресе, с которого были получены монеты btc.
  • Конкретной суммы, перечисляемой на другой счёт криптовалюты.
  • Хеш-кода транзакции, включающей в себя информацию о вознаграждении (комиссии) за процесс создания нового блока.

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

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

Многих активных пользователей системы Bitcoin интересует вполне закономерный вопрос – можно ли ускорить процесс подтверждение транзакций?

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

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

2) Применение при -переводах мультиподписи – инструмента цифровых подписей от нескольких доверенных пользователей, разрешающих перемещение криптовалюты. Биткоиновая система рассматривает транзакции с мультиподписью в качестве более надёжных, быстро отправляя их в генерируемые блоки.

Любопытно, что некоторые сервисы независимых -кошельков включают в транзакцию помимо стандартной информации о подписи и свою мультиподпись (в качестве подтверждения надёжности перевода). Так, в сервисе GreenAddress реализована функция replace-by-fee, позволяющая в том числе и ускорять процесс движения криптовалюты.


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

4) Опытные владельцы -кошельков знают также, что увеличить скорость подтверждения транзакций можно при помощи увеличения комиссии за перевод . Пользователям разрешается самим выбирать размер комиссии, при этом она не должна быть меньше суммы в 1 сатоши. Майнеры практическим путём выяснили, что чем выше предлагаемый пользователем размер комиссии, тем приоритетнее в системе будет подтверждение транзакции для него.

Выводы

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

Среди факторов, влияющих на приоритетность скорости передачи биткоинов, можно выделить:

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

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

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

Через сколько приходят Bitcoin на кошелек?

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

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

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

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

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

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

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

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

Как уже было сказано, для совершения перевода, он должен быть подтвержден шесть раз (информация о нем должна быть вписана в шесть блоков цепочки blockchain). Это стандартное число, основанное на том, что вероятность подделки данных мошенниками при таком количестве необходимых подтверждений, крайне мала (риск составляет не более 0,1%).

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

Как ускорить процесс

Существует несколько способов повысить скорость перечисления виртуальных валют:

  • увеличение комиссионного сбора для майнеров;
  • совершение сделок с крупными суммами;
  • использование специальных онлайн-сервисов.

Опытные участники рынка криптовалют советуют новичкам не жадничать и платить за верификацию не менее 0,0002 BTC.

От объема перечисляемых активов напрямую зависит статус сделки. Чем больше монет собирается «перекинуть» пользователь, тем выше в системе он находится, и тем быстрее идет процесс.

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

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

Еще один вариант — использование мультиподписей. Отдельные фирмы (GreenAddress) предлагают всем желающим, помимо обязательной подписи сделки, предусмотренной блокчейном, ставить так называемую «мультиподпись», говорящую о надежности перевода. Системой данные операции воспринимаются, как надежные и все подтверждения происходят намного быстрее, чем при обычной процедуре.

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

Менее распространенный способ более быстрого перечисления bitcoin – работа на доверительных серверах с открытыми транзакциями. В этом случае все действия с криптой проводятся с раскрытием полной информации об отправляющем и принимающем трейдерах, благодаря чему принятие данных в цепочке blockchain производится намного быстрее.

Малая востребованность подобного способа объясняется тем, что открытые Биткоин-операции противоречат изначальной идее работы с криптовалютами – анонимности финансовых потоков.

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

13.02.201717:21


Борис Оболикшто
эксперт

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

Зависшие Bitcoin-платежи: как это происходит? Фото: mmgp.ru

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

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

Скриншот 1. Чтобы пополнить счет биткоинами, нужно всего пару кликов

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

Итак, с точки зрения пользователя все как обычно: кошелек (это был Bitcoin Core - самый традиционный из возможных) сформировал транзакцию, отправил ее в сеть и… И ничего не произошло. Не пришло подтверждения перевода, поступающего как правило минут через пять-пятнадцать (реже - через полчаса-час). И на следующий день кошелек сообщал о статусе транзакции неутешительное: «Status: 0/unconfirmed, in memory pool» («Статус: неподтверждена, в пуле»). Как наверное знает читатель, транзакции в биткоине безотзывные, то есть нет способа их отменить, деньги перечисляемые из кошелька ушли, а к получателю не пришли. Зависли, и теперь и в кошельке их нет, и счет мобильного не пополнен.

Ситуация «зависшей» биткоин-транзакции не уникальна, даже на русском языке Google дает тысячи ссылок по запросу «зависшие биткоин транзакции» (в выдаче по запросу «Bitcoin Transaction Pending» несколько сотен тысяч позиций, обширное обсуждение зависших транзакций на русском языке ). Постараемся разобраться, что произошло, но для этого нам нужно более подробное представление о том, как происходят транзакции, чем «нажал кнопку - и ОК».

Не буду дублировать рассказ о том, как устроен биткоин (можно прочитать ), остановимся только на процессе выполнения транзакции. Ваше биткоин-приложение, запросив из какого кошелька, сколько и кому вы переводите, сформирует и отправляет в сеть запрос на транзакцию, описывающую всё перечисленное в надлежащем формате. Транзакция попадет в пул (memory pool - mempool) и будет там ожидать майнера, который поместит ее в блок. Когда блок с этой транзакцией попадет в блокчейн, перевод завершится. Как помнит читатель, блокчейн состоит не из отдельных транзакций, а из блоков, то есть наборов транзакций и удостоверяющих их данных. Блоки формируют майнеры, которые получают за это два вида вознаграждений: плату за блок (сейчас это 12,5 BTC) и комиссию за транзакции, включенные в блок.

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

Но пока вернемся к пулу - месту, где «живут» транзакции, еще не подтвержденные и не отвергнутые (подробнее ). Майнеры отбирают из пула транзакции, пытаясь сформировать из них блоки. Так как размер блока ограничен, то в блок чаще всего отбирается лишь часть транзакций из пула (сейчас, когда я пишу эти строки, в пуле почти 41 тысяча неподтвержденных транзакций, занимающих более 42 МБ - понятно, что их все не поместить в один блок). Если мы проследим судьбу типичной транзакции, то увидим фазы ее жизни (см. скриншоты 2 и 3).

Скриншот 2. Транзакция появилась в пуле

Скриншот 3. Транзакция подтверждена и появилась в блокчейне

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

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

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

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

В зависимости от того, каким кошельком вы пользуетесь, обычная судьба «убитой» транзакции может быть различной. Например, транзакция может быть объявлена несостоявшейся, и неотправленные средства вновь появятся в кошельке. Но возможна и повторная попытка кошелька отправить транзакцию на исполнение в пул. В таком случае транзакция «возродится» в пуле и будет висеть там, периодически возобновляясь, неограниченно долго. В последнем случае ваши средства оказываются замороженными: они недоступны ни вам, ни получателю. Именно такой случай чаще всего описывают столкнувшиеся с зависшими транзакциями пользователи (см. например, заметку об экспериментах с нулевой комиссией). На первый взгляд, именно с такой ситуацией и столкнулся мой знакомый - кошелек упорно сообщает все то же: «Status: 0/unconfirmed, in memory pool».

В описанных случаях (см., в частности, ссылки выше), зависшие средства удается вернуть в кошелек, используя специальные ключи перезагрузки или перезагрузив программу с нуля (в последнем случае блокчейн загружается вновь путем запросов к сети, то есть не попавшие в него транзакции будут проигнорированы, и средства вернутся в кошелек). Процедура полной перезагрузки хлопотная и может занимать очень много времени (не шутка же - перезагрузить более 100 ГБ данных блокчейна), тем не менее, мой знакомый выполнил ее. И ничего хорошего не увидел. Даже спустя пару месяцев популярный сервис анализа блокчейна blockchain.info сообщал: «Transaction rejected by our node. Reason: Fee is too low / Not sufficient priority» («Транзакция отвергнута нашим узлом. Причина: Комиссия слишком мала / Недостаточный приоритет»). То есть, транзакцию по-прежнему видел, но выполнять ее отказывался. Печальная ситуация.

Но нам повезло! 21 января дело дошло до нашей транзакции, и она (ура!!!) выполнилась. И в описании транзакции видно, что было необычным. Рассмотрим скриншот 4.

Скриншот 4. «Наша» транзакция подтверждена!

Кроме нулевой комиссии (Fees), транзакция отличается от показанной на третьем скриншоте еще и полем «Lock Time». Этот параметр транзакции показывает, начиная с какого блока майнеры могут включать в блок транзакцию. Многие кошельки ставят 0, разрешая включать немедленно. А кошелек Bitcoin Core, по праву первооснователя считающий себя обязанным следить за безопасностью всей биткоин-сети, устанавливает в значение ближайшего генерируемого блока, что препятствует возможности злоумышленнику атаковать сеть, выстраивая из поздних транзакций конкурирующую с уже существующими блоками ветвь. Но блок 427560 оказался как раз тем редким блоком, который заполучил конкурента. Два майнера почти одновременно, с отличием менее двух секунд, сгенерировали блоки с таким номером (правильнее говорить «такой высоты» - порядковый номер блока в блокчейне называют высотой).

Блоки, которые порождали точки разветвления, отображает, например, Blockchain.info

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

С одной стороны, по мере роста интереса к технологии и числа активных кошельков, растет число запросов на транзакции, а значит и конкуренция за подтверждение транзакций (то есть, выполнение платежей). С другой стороны - ситуация улучшается потому, что новые кошельки поддерживают динамическое задание комиссии в зависимости от наполненности пула. А разработчики вводят новые возможности, в частности, возможность увеличить комиссию для уже отправленной в пул, но все никак не подтверждаемой транзакции (функция Opt-In Replace-by-fee (RBF)). Естественно, новые возможности появляются не сразу и не во всех кошельках, что заставляет пользователей следить за ситуацией, быть может, более внимательно, чем хотелось бы. Можно посоветовать, в частности, перевод относительно свежей заметки «Что делать, если «зависла» транзакция в сети Биткоина?»

Сервис поддержки пользователей мог бы стать еще одним фактором, стимулирующим распространение биткоин-платежей. Но пока спасение утопающих дело рук… Пусть не только самих утопающих, но еще и энтузиастов, подсказывающих на форумах что делать. Однако хотелось бы видеть постоянно действующие сервисы/горячие линии, пусть хотя бы на уровне объявлений на столбах: «Настрою биткоин-платежи, помогу вернуть зависшие транзакции». Понятное дело, здесь есть проблема: пока платежей немного, сервис не может быть рентабелен, пока сервиса нет - трудно рассчитывать на взрывной рост числа платежей (кстати, рост должен бы создавать и сервисы-надстройки, позволяющие выполнять клиринг платежей между участниками сервиса, снижая нагрузку на блокчейн).

Еще один вопрос касается уже не технологии, а права. Коль скоро транзакция может происходить достаточно долго, а волатильность биткоина немаленькая, то нужны правила, поскольку привычные «три банковских дня» перестают соответствовать нашим представлениям о справедливости. В примере, на котором мы рассматривали зависший платеж, средства были зачтены по курсу на момент создания транзакции. Но с момента транзакции курс биткоина вырос в полтора раза! Ок, мой заждавшийся перевода приятель был рад и этому. Но вряд ли такие риски приемлемы для массовых платежей. С трудом представляю себе и обратную ситуацию, когда пришедшая на третий день транзакция потеряла заметную часть стоимости. Возможно, ситуацию бы поправила страховка биткоин-платежей? Но и о таких услугах я не слышал.

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

Многие наверняка уже столкнулись с проблемой зависших битков (при отправке и получении).
В большинстве случаев, виною этому спам сети и выставление малой платы майнерам (далее комиссия).
Перед отправкой битков, я бы посоветовал вам смотреть на состояние сети и выставлять комиссию, которую рекомендуют данные сервисы:
https://btc.com/stats/unconfirmed-tx

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

Берем свой th(id) транзакции:
Пример:

И вбиваем id cюда:


Примечание!

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

Вы можете получить, такое сообщение:

Submissions are beyond limit. Please try later.

Нажмите, чтобы раскрыть...

Вам нужно вбивать до тех пор, пока не получите статус: Успешно.

После этого, ваша транзу подхватят и вовлекут в блок для обработки.

Что делать, если ваша биткоин транзакция не подтверждается ("зависла")?

Сначала можно просто подождать. Если прошло уже несколько часов (или даже суток) и ждать надоело, то есть несколько вариантов:

  1. Cделать даблспенд . Особенности: может сделать только отправитель.
  2. Использовать CPFP . Особенности: может сделать получатель и обычно отправитель.
  3. Использовать replace-by-fee . Особенности: может только отправитель и если заранее позаботился; не все кошельки могут.
  4. Использовать "ускоритель" от viabtc . Особенности: может получатель и отправитель, но сервис часто перегружен и есть ограничения на транзакцию.
Как сделать даблспенд (двойную трату)?

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

SpoilerTarget">Спойлер: алгоритм

1) Убеждаемся, что она ждёт подтверждения. Для этого копируем id вашей транзакции, вставляем в строку поиска сервиса blockchain.info (а также bitaps.com, blocktrail.com/BTC или аналогичного). Далее ищем глазами строку "неподтвержденная транзакция" ("unconfirmed transaction"). Нашли? Значит, транзакция ждет подтверждения.
Примечание. На "Приблизительное время подтверждения" ("Estimated Confirmation Time") на странице с вашей транзакцией blockchain.info не смотрим -- там неизвестно что.

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

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


Как использовать CPFP? Как быть, если я не отправитель, а получатель транзакции?

Такой способ есть и он подходит для получателей; для отправителя он также подойдёт, если у вашей транзакции была "сдача" (обычно она есть). Этот способ немного дороже и сколько пулов его поддерживают - неизвестно (по состоянию на начало 2017 года как минимум два пула его поддерживают). Можно попробовать задействовать механизм CPFP (child pays for parent). Для этого вы должны потратить один из выходов проблемной транзакции с комиссией, которой хватит на обе транзакции сразу - новую и старую. То есть просто создаёте транзакцию с одним входом (это должен быть один из выходов проблемной, например - сдача) и пересылаете биткоины себе же. Комиссию ставите такую, чтобы её хватило на обе сразу: для этого суммируете их размеры, умножаете на число из пункта "Как выбрать адекватную комиссию?", делите на размер новой в килобайтах и вписываете в графу "custom transaction fee" при отправке транзакции. Подробнее для кошелька Bitcoin Core под спойлером:

SpoilerTarget">Спойлер

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

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


Как отменить транзакцию? Может ли транзакция отмениться сама?

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

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

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

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

Как обезопаситься от зависания транзакций?

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