Зависшие Bitcoin-платежи, или Приключения одной транзакции. Как подтвердить транзакцию в Биткоин-кошельке

Так вы уже здесь второй год «стоите»! Да вот жду подтверждения транзакции с биткоинами. Наверное, маленькую комиссию назначил. (Из анекдота, подслушанного в блокчейн)

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

Как это работает?

Извините, но буду «грузить» 😉 Без этого понять принцип манипуляций с криптовалютой не получится.

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

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

3) Чтобы проверить подлинность операций с криптовалютой, транзакции должны быть валидированы в блокчейн. Он представляет собой распределенную БД. Ее части хранятся на множестве компьютеров в сети Bitcoin.

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

Подтверждение транзакции – это ее присоединение к списку транзакций в блоке.

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

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

Если верификации перевода криптоденег не произошло, то система возвращает средства обратно на кошелек отправителя.

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

У меня в среднем уходит от 20 минут до часа.

Время ожидания зависит от нескольких составляющих:

1) Загруженность «криптосети» — за последние два года количество операций с биткоинами выросло более чем в 8 раз. Это видно на графике ниже.

Он показывает рост количества триллионов хешей, выполняемых в секунду в сети Bitcoin.

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

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

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

3) Скачки курса криптовалюты – тоже повышают время верификации.

Вот видео, в котором рассказывается о подобном случае на blockchain.

Как узнать сколько подтверждений прошло?

Советую ищущим «незнамо что» по своим (и не только) операциям с биткоинами заходить на blockchain.info . Здесь можно найти любую информацию по блокам, транзакциям. А также «промониторить» общую ситуацию на рынке.

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

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

Как увеличить скорость?

Методы сокращения времени транзакции:

  • Повышение комиссии для майнеров – специалисты советуют «не жадничать» и отдавать за подтверждение от 0,0002 ВТС и более.
  • Объем переводимых средств – чем больше криптовалюты переводите, тем статус операции выше в «криптосети».
  • Использование специализированных площадок наподобие coinbase.com – на таких сервисах покупатели и продавцы сохраняют свои ключи. Благодаря этому подтверждение происходит в рамках этой платформы, а не в общей сети.

  • Использование биткоин-кошельков с функцией создания мультиподписи – на подобных сервисах для подтверждения операции с криптовалютой от пользователя потребуется лишь указать закрытый ключ. Второй «подписью» выступает ключ сервиса. Таким образом не тратятся средства и время на подтверждение транзакции.

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

Blockhain устроен таким образом, что транзакции, происходящие в кошельке, подтверждает не сама система, а майнеры - люди, добывающие криптовалюту с помощью подтверждения транзакций биткоин в Blockchain, откуда и берется , которую получают эти лица. Напомним, что пользователь может отменить сделку, если комиссия слишком большая, чем он и не доволен. Делают майнеры верификацию благодаря добыче блоков, каждый из таковых занимает место в 1МБ. Если информация о переводах «заполняет» всё это место, размер которого - 1МБ , то блок считается закрытым и подтвержденным. Неподтвержденными же транзакциями являются те переводы, которые не вошли ни в один блок, то есть не прошли ни один из 6 верификаций. Проблема кроется в одном: недостаточный размер комиссии.

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

«Биткоин обладает правильным балансом плюсов и минусов, поэтому он так популярен».

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

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

Иногда может случиться такое, что трудно предположить, на какой стадии аутентификация перевода находятся. Для этого существуют сервисы, которые дают понять: осуществилась ли транзакция; долго еще ждать; где, как и когда произошло подтверждение.
Так, например, Blockchain.info или Chain.so покажут статистику отслеживания в графиках и таблицах, выдавая полный перечень доступной информации. Поиск осуществляется просто, а именно:

  • пройти на сайты: Blockchain.info или Chain.so;
  • зайти в раздел «Info»;
  • найти поисковую строчку для ввода хэша;
  • записать имеющийся хэш.

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

Как ускорить подтверждение транзакции биткоин

Каждый, кто хоть сталкивался задержками аутентификации транзакции биткоина в Blockchain-кошельке, хотел ускорить перевод. Сейчас расскажем, как это сделать без рисков безопасности.

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

Второй способ упростить подтверждение отправлять получателю 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)). Естественно, новые возможности появляются не сразу и не во всех кошельках, что заставляет пользователей следить за ситуацией, быть может, более внимательно, чем хотелось бы. Можно посоветовать, в частности, перевод относительно свежей заметки «Что делать, если «зависла» транзакция в сети Биткоина?»

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

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

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

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

Что такое транзакции в сети Bitcoin?

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

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

Чтобы проверить подлинность операций с криптовалютой , транзакции должны быть валидированы в блокчейн. Он представляет собой распределенную БД. Ее части хранятся на множестве компьютеров в сети Bitcoin.

Подтверждение транзакции – это ее присоединение к списку транзакций в блоке.

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

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

Если верификации перевода криптоденег не произошло, то система возвращает средства обратно на кошелек отправителя.

Что такое 3 подтверждения в системе Bitcoin?

Как получить подтверждения?

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

Для получения подтверждений владельцу кошелька ничего делать не нужно. Система Вitcoin автоматически генерирует подтверждения в течении некоторого времени . Этот процесс занимает от 5 до 30 минут, в редких случаях несколько часов.

Время транзакции в блокчейне Bitcoin

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

Для совершения перевода необходимо, чтобы транзакция была проверена в 6 блоках . Если этого не произойдёт, криптоденьги не дойдут до конечного адресата. Соответственно, от скорости подтверждений зависит время отправки финансов.

Сайт blockchain.info работает нестабильно, и очередь на выполнение переводов неуклонно продолжает расти. При такой скорости даже без добавления новых транзакций на обработку существующей очереди потребуется больше 8-10 часов времени: https://blockchain.info/ru/unconfirmed-transactions

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

В целом держателям биткоинов следует рассчитывать на срок от 2-3 часов до 2 дней.

Время обработки переводов может увеличиваться в следующих случаях:

  1. Чрезмерная загруженность сети при резких колебаниях курса биткоина;
  2. Низкий приоритет транзакции (частые переводы небольших сумм);
  3. Низкая комиссия.

Это видно на графике ниже:

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

Методы сокращения времени транзакции:

  1. Повышение комиссии для майнеров – специалисты советуют «не жадничать» и отдавать за подтверждение от 0,0002 ВТС и более.
  2. Объем переводимых средств – чем больше криптовалюты переводите, тем статус операции выше в «криптосети».
  3. Использование специализированных площадок наподобие coinbase.com – на таких сервисах покупатели и продавцы сохраняют свои ключи. Благодаря этому подтверждение происходит в рамках этой платформы, а не в общей сети.

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

Отследить свою биткоин транзакцию можно с помощью публичных сервисов (регистрация не требуется):

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


На данный момент 2 подтверждения

Подтвержденные и неподтвержденные транзакции

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

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

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

Если перевод не осуществился в течение 20-30 минут, не стоит паниковать. При большой загрузке сети в последние дни даже транзакции с высокой комиссией могут обрабатываться дольше обычного. Также не стоит переживать о сохранности своих средств – в случае, если транзакция так и не будет включена в блок, биткоины вернутся на ваш кошелек по таймауту (обычно это 72 часа).

Хотите хотя бы ориентировочно узнать, сколько еще будет выполняться перевод? Для этого вам потребуется знать хеш операции. Если помните комиссию, которую задавали при переводе, сразу переходите к шагу 4.

  • Для начала нужно узнать размер комиссии для транзакции. Это можно сделать на одном из публичных сервисов. Заходим на blockchain.info, вводим хеш в поле поиска, и нажимаем на транзакцию.
Открываем детали перевода
  • Смотрим графу «Плата за байт» – это и будет нужное нам значение.

Высокая комиссия – залог быстрой транзакции

Узнаем время подтверждения – btc.com
    Кроме того, на этих сайтах можно узнать рекомендуемое значение комиссии – это пригодится при следующих переводах.

    1. Помните:

размер комиссии зависит не от суммы, а от размера транзакции в байтах

      1. Так, на рисунке выше при переводе 3,3 BTC плата за байт составляет 372 сатоши, а размер транзакции равен 191 байту. Поэтому общая комиссия за перевод в этом случае равна 372 x 191 = 71052 сатоши, или около 11 долларов (при курсе биткоина 15500 долларов за 1 BTC).

Как ускорить биткоин транзакцию?

Рассмотрим несколько способов, как использовать систему блокчейн в «скоростном режиме»:

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


Ускорение транзации с помощью функции Opt-In Replace-by-fee

Самый простой способ заставить вашу транзакцию перепрыгнуть очередь – использование опции под названием Opt-InReplace-by-Fee (Opt-InRBF). С её помощью можно повторно отправить ту же самую транзакцию, но с более высокой комиссией.

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

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

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

В настоящее время, функцию Opt-InRBF поддерживают как минимум два кошелька: Electrum и GreenAddress . В Bitcoin Core она поддерживается при обработке транзакций, однако создавать собственные RBF транзакции возможно только с помощью сторонних скриптов. В зависимости от кошелька, может потребоваться обновление Opt-InRBF в настройках меню до отправления (первой) транзакции.

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

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

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

Какую комиссию ставить что бы транзакция не зависла - таблица!

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

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

Последний столбец в таблице показывает прогноз попадания платежа с комиссией за транзакцию соответствующий этой строке во временной интервал подтверждения от 0 до 25 мин.

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Выводы

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

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

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