Руководство: Как работает майнинг и подтверждение транзакций в блокчейне

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

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

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

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

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

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

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

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

 

Читайте также:  Что такое оферта по облигации: объяснение простым языком на понятном примере

 

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

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

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

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

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

Возможно ли отменить транзакцию

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

  • ошибочно отправил слишком большую сумму;
  • неправильно указал реквизиты.

Как отменить транзакцию Биткоин, обзор действующих методов | by bitmakler.io | Medium

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

Время транзакции в блокчейне 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 – на таких сервисах покупатели и продавцы сохраняют свои ключи. Благодаря этому подтверждение происходит в рамках этой платформы, а не в общей сети.

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

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

  1. Blockchain.info
  2. Chain.so

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

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

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

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

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

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

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

  • Для начала нужно узнать размер комиссии для транзакции. Это можно сделать на одном из публичных сервисов. Заходим на blockchain.info, вводим хеш в поле поиска, и нажимаем на транзакцию.

  • Смотрим графу «Плата за байт» – это и будет нужное нам значение.

  • Крайне редко сервис blockchain.info бывает недоступен. В этом случае можно воспользоваться другим публичным сервисом, например chain.so. Действуем по аналогии.
  • Зная комиссию, идем на https://bitcoinfees.earn.com или btc.com Находим в графе слева нужную комиссию. По графику и пояснениям делаем вывод, сколько придется ждать подтверждения. Так можно получить хотя бы примерное представление о времени ожидания.

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

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

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

 

Почему случается, что не приходит Биткоин?

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

не приходит биткоин

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

С той же целью стоит зайти в личный кабинет на сайте финансового учреждения или посмотреть баланс с мобильного устройства, если вы осуществляли платеж с его помощью, либо посредством банковской карты. Возможно, произошел банальный сбой в системе. Поэтому в личном кабинете, во вкладке “История операций” вы найдете ответ на вопрос, почему не приходит биткоин на кошелек или биржу. Не забудьте заглянуть и в почтовый ящик, указанный при регистрации. Обычно сервис автоматически присылает уведомление об успешной или неудачной транзакции. Скорее всего там вас ждет новое письмо с объяснениями по поводу инцидента.

Проблемы в сети

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

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

Сколько ждать перевода монет в блокчейне?

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

В целом скорость зависит от суммы платежа, загрузки сети и количества пользователей. На совершение операции в блокчейне биткоина в среднем уходит от нескольких минут до часа. Хотя в период ажиотажа время ожидания вырастает в разы. Проверить перевод на валидность без регистрации можно на специализированных сервисах: Blockchain.info или Chain.so. Укажите в поле поиска хеш транзакции. Как мы говорили ранее, платеж должен быть подтвержден по крайней мере 6 раз. Это особенность снижает риск вмешательства хакеров и мошенников. К тому же для повышения безопасности компания, через которую вы осуществляете перемещение средств, может увеличить число блоков. Таким образом, вам придется ждать дольше. Кстати, заявки на передвижение крупных сумм находятся в списке выше, и процесс идет быстрее.

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

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

  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 в настройках меню до отправления (первой) транзакции.

Транзакция зависла. Как отменить неподтвержденную транзакцию?

Причиной зависания транзакции могут стать такие факторы:

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

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

  • убедиться, что биткоины действительно зависли. Возможно, просто еще не подошла очередь вашей транзакции. Для этого необходимо открыть Block Explorer. Даже если система демонстрирует кнопку «Неподтвержденная транзакция», еще не все потеряно;
  • перейти в отладочную консоль в кошельке btc («Помощь», «Окно отладки», «Консоль»);
  • получить приватный ключ от требуемого биткоин-адреса: dumpprivkey . Вместо вставляют адрес, который использовался для отправки денежных средств. Пользователь в таком случае получает приватный ключ для конкретного адреса кошелька. Его не рекомендуется хранить в доступном месте. Знание ключа обеспечивает полный доступ к счету;
  • экспортировать приватные ключи адресов (если на других адресах присутствуют биткоины);
  • закрыть клиент, удалить кошелек, когда экспорт ключей завершен: размещение кошелька wallet.dat зависит от конкретного биткоин-клиента, вида операционной системы. Конечно, удалять его не нужно, лучше переместить в другое место, переименовав заранее;
  • перезапустить клиент, он создаст кошелек заново: полученные ранее ключи необходимо импортировать. Затем в отладочной консоли нужно прописать importprivkey. Импорт может занимать достаточно много времени. В любом случае, этому процессу нужно позволить завершиться;
  • в новом кошельке отображается счет с его текущим состоянием: неподтвержденные транзакции здесь недоступны. Что касается заблокированных средств, они снова могут использоваться для отправки. После этого их можно отправлять другим пользователям вновь. Однако на этот раз не нужно забывать указывать рекомендуемую комиссию.

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

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

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

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

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

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

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

 

Читайте также:  Что такое гэп в трейдинге: почему возникает, где используется, виды

 

Приоритет Размер комиссии Точность прогноза
Медленный 0.0003438 BTC 10%
Стандарт 0.000405 BTC 50%
Средний 0.00108 BTC 55%
Быстрый 0.0018 BTC 90%

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

Проблемы с подтверждением

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

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

Срок истечения есть у некоторых кошельков. Например, вы отправляете криптовалюту, но ее не включают в блок. Через несколько дней (срок зависит от кошелька) сделка удаляется.

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