Подтверждение блоков биткоин. Cколько идут биткоины на кошелек

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Почти 200000 тысяч транзакций ожидают включения в блоки

Еще несколько дней назад ситуация была более стабильной, в особенности в ночные часы и рано утром. Значительное увеличение очереди началось 7 декабря при скачке курса с 12500 долларов до 15000 и выше. По графику роста очереди видно, что в пике учитываются не все данные и в некоторых интервалах вместо 170000 неподтвержденных транзакций идут нулевые значения – система подсчета дает сбои.

Текущая цена биткоина вызывает значительный рост очереди транзакций

Таким образом, мемпул в настоящее время становится «узким горлышком» всей экосистемы биткоина.

Исполнительный директор blockchain.info в своем твиттере дал объяснение сложившейся ситуации: «В настоящее время у нас рекордное количество трафика и обращений в службу поддержки пользователей. Оставайтесь с нами – мы делаем все возможное для качественного предоставления услуг! Так много людей пользуются цифровой валютой; это прекрасно».

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

В обычное время транзакция в сети биткоин подтверждается в срок от 15-20 минут до часа. Посмотреть, подтвердился ли ваш перевод, вы можете там же, на сайте blockchain.info. Для этого введите в поле поиска хеш операции, и увидите статус перевода:

Запрос деталей транзакции биткоина

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

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

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

  1. Чрезмерная загруженность сети при резких колебаниях курса биткоина;
  2. Низкий приоритет транзакции (частые переводы небольших сумм);
  3. Низкая комиссия. О том, как выбрать правильную комиссию за перевод биткоинов, вы можете узнать из статьи «Как рассчитать комиссию биткоин за перевод и как сэкономить? »
Если перевод не осуществился в течение 20-30 минут, не стоит паниковать. При большой загрузке сети в последние дни даже транзакции с высокой комиссией могут обрабатываться дольше обычного. Также не стоит переживать о сохранности своих средств – в случае, если транзакция так и не будет включена в блок, биткоины вернутся на ваш кошелек по таймауту (обычно это 72 часа).

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

Можно ли ускорить транзакцию

Да, можно. И для этого есть несколько разных способов. Все зависит от криптовалютного кошелька, которым вы пользуетесь. Основными способами являются:

  1. Opt-in RBF (Replace-By-Fee).
  2. CPFP: ChildPaysforParent.
  3. Также можно создать транзакцию вручную при помощи скриптов. Но этот способ достаточно сложен для неподготовленного пользователя. Если он вам интересен, пишите в комментариях, и, с разрешения Леонида, автор подготовит по нему отдельный мини-обзор.

Кроме того, ранее существовал и другой способ использование так называемых «ускорителей транзакций». Подобные услуги предлагали крупные майнинговые пулы – viabtc.com, antpool.com. Суть заключалась в том, что пользователь мог просто указать на сайте хеш транзакции, и она обрабатывалась майнерами данного пула. Разумеется, такие сервисы были заведомо убыточными для своих создателей и не могли существовать долго.

Итак, перейдем к двум основным способам.

Replace-By-Fee

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

Функция предусмотрена в кошельках Bitcoin Core , Armory, Electrum, GreenAdress. Если не вдаваться в детали, она позволяет пользователям заменять уже созданную транзакцию на новую с более высокой комиссией. Это можно сделать непосредственно через интерфейс кошелька.

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

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

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

Включение опции Replace-By-Fee для всех транзакций на примере кошелька Electrum

ChildPaysforParent

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

Рассмотрим на примере кошелька Bitcoin Core. Для того, чтобы пользоваться функцией ChildPaysforParent, необходимо включить опции «Включить управление входами» и «Тратить неподтвержденную сдачу». Делается это при помощи пункта меню «Настройки», вкладка «Бумажник».

Настройка кошелька Bitcoin Core для объединения транзакций

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

Допустим, размер старой транзакции составляет 195 байт, размер новой – 210 байт. Смотрим на сервисе bitcoinfees.earn.com или btc.com рекомендуемый размер комиссии. Пусть плата будет составлять 360 сатоши за байт. Считаем суммарный размер двух транзакций: 195 + 210 = 405 байт. Общая комиссия составит 360 * 405 = 145800 сатоши. Теперь эту суммарную комиссию делим на размер новой транзакции и получаем 145800 / 210 = 695 сатоши за байт.

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

Хотите зарабатывать на крипте? Подписывайтесь на наши

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

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

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

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

Проверка проведения транзакции биткоин

Отправляя в сети блокчейн средства, после перевода пользователей всегда терзает проблема отслеживания биткоинов. Дело в том, что система ещё далека от идеала, а сегодня, когда популярность криптовалют, можно сказать, на пике, провести сделку без приключений мало у кого получается. Именно потому так важно научиться проверять, на каком этапе сейчас находится перевод.

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

  • Первый – это адрес, принадлежащий отправителю. Эту информацию в системе называют входом (input);
  • Второй тип информации – сумма, которая переводится. В системе эту сумму называют amount;
  • Ну и третий тип записи – это адрес получателя, который ещё называют выходом. В сети эти данные обозначают как output.

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


Что касается самого процесса , то она проходит по стандартному сценарию. Для примера возьмём уже упомянутый сервис Blockchain.info:

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

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

К сожалению, даже если вы правильно сделали переводы, они далеко не всегда проходят так, как нужно. Например, в последнее время появилось много , которые могут висеть в сети даже не часами, а днями и неделями, и, скорее всего, так и не станут никогда подтверждёнными.

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


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

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

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

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

Сколько времени уходит на транзакцию в блокчейне Bitcoin

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

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

Если вам нужны подтверждения, посмотрите на статистику:

  • Когда блокчейн только начал работать, чтобы осуществить транзакцию требовалось 10-20 минут;
  • В 2012-2014 годах приходилось ждать уже от 20 минут до часа;
  • В 2015-2016 годах нужно было ждать от часа до двух;
  • 2017 год после стремительного роста курса биткоина превратил транзакции в блокчейне в бесконечный марафон ожидания, так как подтверждения сделки приходится дожидаться около 24 часов, а то и дольше.

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

Вот факторы, которые влияют на время, необходимое для прохождения транзакции:


курс Bitcoin привязан к его популярности — это напрямую влияет на реальное время проведения транзакций.

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

Комиссии за проведение транзакций

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

  • Раньше комиссия составляла в эквиваленте около 6 долларов за небольшую сделку;
  • В середине декабря комиссия за среднюю транзакцию составляла уже в пределах 26 долларов;
  • В конце декабря комиссия стабилизировалась на уровне 20 долларов.

Это очень дорого, тем более учитывая, что рассматриваются обычные среднестатистические сделки, а не крупные суммы. Там переводы ещё дороже. Объяснение этому явлению стандартное – блокчейн биткоина отличается жёстким лимитом.

Размер блока всего один мегабайт. То есть, если рассматривать типичный размер транзакции в 500 байт, то в одном блоке поместится не больше 2000 транзакций. А учитывая, что один блок формируется раз в 10 минут, то система может обработать за секунду всего 3,3 транзакции. Но в сентябре 2017 года прошло обновление Segregated Witness, которое позволило отделить криптографические подписи от другой информации, а это освободило половину места в блоке. Вот только обновлением пользуются не все. В итоге получилось, что в секунду обрабатывается 4 транзакции. Но не 7, как должно быть, если бы система заработала полноценно.

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

Сегодня многие сервисы дают разную информацию о средней цене комиссии. Например:

  • Средний показатель за блок в час пик составляет 16-31 долларов комиссии;
  • Что касается среднего показателя для обычного периода, когда сеть не загружена, то комиссия за блок составляет чуть больше 13 долларов.

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

А пока пользователям приходится часами, а иногда и днями ждать, когда сделка преодолеет все препятствия системы. Эта проблема разделила биткоин-сообщество на два больших лагеря:

  1. Первые – это сторонники так называемого «Большого блока». Они ратуют за то, чтобы сеть сняла ограничение в один мегабайт на блок. В результате недавно появился форк биткоина – Bitcoin Cash . Его блок вмещает до 8 мегабайт.
  2. Вторые – это представители классического подхода. Они возлагают надежды на Lightning Network . Это экспериментальная платёжная сеть, позволяющая обойти основную сеть, разгрузить её и снять проблему постоянно растущих комиссий.

Методы ускорения проведения транзакций

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

Итак, если проблема действительно есть, надо придумать, как с ней бороться:


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

Отмена транзакций

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


Проходит эта процедура следующим образом:

  • Запустите клиент-кошелёк;
  • Зайдите в настройки: Help – Debug window – Console. А если биткоин-кошелёк зашифрован, то примените команду «walletpassphrase »;
  • Скопируйте приватный ключ, запустить команду «dumpprivkey
    ». Где «
    » – это адрес, куда отправляются биткоины;
  • Закройте ресурс и удалите кошелёк. Хотя его можно скопировать и переместить на флешку, чтобы не удалять окончательно;
  • Перезапустите «клиента» и создайте новый кошелёк. Но обязательно внесите туда сохранённые ключи;
  • Транспортировать ключ можно через настройки, указав там команду «importprivkey ».

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

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

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

Как таковых, биткоинов не существует. Есть только записи об операциях с ними

Это весьма забавный факт: биткоинов нигде не существует, даже на жестком диске компьютера. Принято говорить о том, что у кого-то есть биткоины. Но если заглянуть по конкретному адресу Биткоин, то цифровых монет там не окажется. Это аналогично тому, как на банковском счете числятся доллары или рубли. Не существует никакого физического объекта или хотя бы цифрового файла, на который можно было бы указать, сказав: "Это - биткоин".

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

Как выглядит транзакция в Биткоин?

Если Алиса отправит Николаю несколько биткоинов, такая транзакция будет содержать три фрагмента информации:

  • Вход. Это запись о том, какие адреса Биткоин изначально использовались для отправки биткоинов Алисе (например, она получила их от своей подруги Юлии).
  • Сумма. Сколько биткоинов Алиса отправляет Николаю.
  • Выход. Это адрес Биткоин Николая.

Как происходит отправка Биткоинов?


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

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

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

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

Почему иногда приходится ждать клиринга транзакции?

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

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

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

Что делать, если суммы на входе и выходе не совпадают?

Поскольку биткоины существуют только в виде записей транзакций, со временем к одному адресу Биткоин может быть привязано много разных транзакций. Например, Фима мог прислать Алисе два биткоина, Весельчак У - три, а Крыс - еще один. Все это были разные транзакции, произведенные в разное время.

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

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

Существует вероятность того, что при таком сложении разных транзакций не получится в точности желаемая сумма. Например, нужно отправить Николаю 1.5 BTC.

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

Поэтому ей придется отправить одну из входящих транзакций, а остаток биткоинов вернется ей в виде сдачи.

Например, Алиса отправляет Николаю два биткоина, которые она получила от Ильи. Илья - это вход, Николай - выход. Но она хочет отправить только 1.5 BTC. Поэтому ее кошелек для такой транзакции автоматически создаст два выхода: 1.5 BTC - Николаю и 0.5 BTC - на новый адрес, который создается для хранения Алисой полученной от Николая сдачи.

Удерживается ли комиссия за транзакции?


Иногда, но не каждый раз.

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

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

Можно ли получить квитанцию?

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

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

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

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

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

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

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

Понравилась статья? Поделиться с друзьями: