Сайт о телевидении

Сайт о телевидении

» » Проверить транзакции биткоин по номеру кошелька. Транзакции Bitcoin: время ожидания и скорость подтверждения. Как отследить статус транзакции

Проверить транзакции биткоин по номеру кошелька. Транзакции Bitcoin: время ожидания и скорость подтверждения. Как отследить статус транзакции

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

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

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

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

Сеть Биткойн – самая крупная и устойчивая распределенная компьютерная сеть в мире. Об этом свидетельствуют показатели вычислительной мощности системы, недавно перевалившие за 1 зетафлоп (миллион петафлопов), что в восемь раз превышает суммарную мощность всех суперкомпьютеров мира.

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

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

Итак, самый быстрый на сегодняшний день суперкомпьютер, китайский Tianhe-2 , имеет показатель производительности 33.86 петафлопса/сек, что составляет приблизительно 0.001% от мощности сети Биткойн.

Мониторинг состояния сети

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

«Официальный сайт Биткойна» Bitcoin.org проделал большую работу, обобщив архивы всех предупреждений об опасности и сбоев сети.

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

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

Проект Bitnodes может помочь в определении размеров базовой биткойн-сети, так как он обнаруживает все работающие «полные узлы» сети. Поиск осуществляется следующим методом: сообщение getaddr отправляется рекурсивно для установления связи со всеми доступными узлами в списке, начиная с первоначальных. Система производит эту перекличку каждые 24 часа и отображает результаты на карте мира, вместе с рейтингами и данными о версии биткойн-клиента.

Проект Bitnodes запущен в апреле 2013 при поддержке Bitcoin Foundation в качестве информационного спонсора. Последний отчет о доступных узлах в Биткойн-сети можно увидеть .

  1. Репликация данных

Обмен информацией в сети Биткойн не происходит мгновенно. Но насколько быстро распространяется информация о биткойн-транзакциях? Созданная BitcoinStats шкала репликации данных показывает, как быстро транзакция достигает 50 процентов всех участников пиринговой сети (т.е. сколько времени прошло между тем, как транзакция или блок попали в сеть и тем моментом, когда большинство узлов сети получило это обновление). Сейчас этот показатель колеблется в районе 3.9-6 секунд.

  1. Списки стартовых серверов

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

Списки предоставляют сведения только о подключенных к сети и доступных узлах. Метрика их доступности, также разработанная BitcoinStats, отражает результаты попыток подключения к узлам, содержащимся в различных бутстрап-списках. Она показывает, насколько легко подключиться к сети новому узлу, который никогда ранее этого не делал. Чем ближе к 100%, тем больше шанс того, что это получится с первого раза.

Дополнительная шкала демонстрирует скорость реакции системы до предоставления списков доступных узлов, измеряемую в милисекундах (время, прошедшее с момента отправки запроса до получения ответа).

Эта серия графиков, спроектированная разработчиком Питером Вюйле, отображает «сложность хэширования», демонстрируя количество терахэшей в секунду, которые сеть генерирует за различные временные интервалы (1 терахэш равен 1,000 гигахэшей).

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

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

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

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

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

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

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

Coinometrics поясняет принципы своей метрики:

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

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

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

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

11. Общий объем блокчейна

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

12. Стандартный размер блоков

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

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

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

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

При переводе необходимо указать:

  • адрес получателя;
  • количество монет, которые отправляете;
  • размер комиссии, которую платите майнерам.

Сама транзакция состоит из входов (input) и выходов (output). Вход - это те адреса, с которых вы получили ранее токены, в настоящее время пересылаемые далее. Причем входов в одной транзакции может быть несколько. Например, вам надо отправить 13 Эфиров. До этого вы получили от разных адресатов 5, 4 и 6 токенов. Теперь чтобы собрать сумму в 13 монет, они все суммируются и в транзакции получается 3 входа.

Выход - это и есть адрес получателя. Их также может быть больше одного. Так, в примере выше 5+4+6=15. В результате остается сдача в 2 токена. Она и будет отправлена вам обратно в кошелек. В итоге транзакция будет иметь два выхода.


Пользователи отправляют транзакцию в сеть, где она ожидает подтверждения майнерами

После отправки из кошелька транзакция попадает в сеть, где ее должны подтвердить майнеры и добавить в один из новых блоков. Своей очереди она ожидает в так называемом мемпуле (Memory Pool). Надежной считается та транзакция, которая получила 6 и более подтверждений. Особенно это важно при заключении сделок на крупную сумму. При мелких платежах многие участники соглашаются ждать не более 2-3 подтверждений, часто и вовсе одного.

От чего зависит скорость транзакции

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

Причина в загруженности сети. С ростом популярности криптовалют все большее количество пользователей отправляют транзакции и майнеры попросту не успевают их обрабатывать. Если взять биткоин, размер каждого блока, добавляемого к цепочке, составляет всего 1 Мб. Новые блоки в среднем генерируются каждые 10 минут. В один блок попадает от 3 до 5 тысяч транзакций. Остальным приходится ждать своей очереди. То есть в секунду обрабатывается около 5-7 переводов. В Эфириуме - примерно 20. Для сравнения, Visa в секунду проводит около 50 тысяч платежей.

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

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

Стоимость транзакций

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

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

За что и чем платим при отправке транзакций

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

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

В биткоине комиссия платится в сатошах. Сатоши - это минимальная единица BTC, получившая название в честь основателя криптовалюты Сатоши Накамото. 1 BTC - это 100 миллионов сатошей. В Эфире есть своя единица стоимости, называемая «газом».

Как подобрать оптимальный размер комиссии

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

Помогут в этом, к примеру, сервисы bitcoinfees.21.co или btc.com. Здесь показано какой наилучший размер комиссии в сатошах за байт или в биткоинах за килобайт стоит указать. Например, в настоящее время btc.com советует использовать около 440 сатоши за байт. Если такая плата кажется высокой, и хотите вписать меньшую сумму, можно примерно по графику прикинуть сколько будет идти ваш платеж - 3 часа, 12 часов или больше.


График покажет сколько при том или ином размере комиссии пользователю придется ждать подтверждения транзакции

Как отследить статус транзакции

Если прошло уже достаточно времени, а транзакция все еще не подтверждена, стоит проверить ее текущий статус. Сделать это можно на сервисе Blockchain.info. Здесь в поисковое окно необходимо ввести ее хеш. Если рядом увидите красную кнопку с надписью «Unconfirmed transaction», значит ваш перевод все еще в режиме ожидания.

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

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

На графике наглядно видно, что в последнее время скопившиеся в нем транзакции «весят» в среднем суммарно около 100 Мб, а это свидетельствует о высокой нагрузке. А потому если пользователь при создании транзакции пожадничал и поставил невысокую комиссию, ждать придется долго. Еще в сентябре-октябре 2017 года размер мемпула мог составлять 4-7 Мб, что позволяло участникам сети отправлять переводы с минимально возможной комиссией. И они подтверждались.


В настоящее время мемпул биткоина перегружен транзакциями

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

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

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

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

В Bitcoin God помимо увеличения блока также появились смарт-контракты, а майнинг проводится по алгоритму Proof-of-Stake. Bitcoin Gold главный упор делал на привлекательность для обычных майнеров, у которых нет мощных ферм для добычи токенов.


Хардфорки чаще всего приводят к появлению сетей, которые начинают существовать отдельно от основной системы

Пример софтфорка - активированный в августе прошлого года SegWit, который был призван оптимизировать структура блока оригинального биткоина, чтобы он вмещал больше транзакций без увеличения его размера. Вторую его часть, которая предполагала увеличение размера блока до 2 Мб, должны были запустить в ноябре. Однако поскольку консенсус в сообществе не был достигнут, от идеи в то время отказались. Позднее 28 декабря сторонняя команда, не связанная изначально с данным проектом, активировала SegWit2X и это привело к появлению новой криптовалюты B2X.

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

В середине осени прошлого года широкой публике был представлен блокчейн Red Belly, который по скорости превосходит блокчейн биткоина в 94 тысячи раз и систему Visa в 11 раз. Разработали его специалисты из Сиднейского университета. С помощью всего лишь сотни компьютеров им удалось в секунду обрабатывать более 400 тысяч транзакций в секунду. А позднее, объединив 300 машин - и вовсе около 650 платежей.

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сведения о транзакциях (переводах) между биткоин-адресами общедоступны и открыты для просмотра с момента появления первого биткоина. Но владельцы этих адресов никому не известны.

Основные принципы системы Биткоин

1. Стать анонимным владельцем BTC-кошелька может каждый пользователь Сети. Для этого достаточно установить и запустить биткоин-клиент или воспользоваться онлайн-сервисом типа blockchain.info (блокчейн-кошелек).

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

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

Среднее время, отводимое на решение - 10 минут. Далее формируется уже следующий блок.

3. Получить монеты Bitcoin можно иными способами:

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

4. Нельзя заблокировать переводы монет, вернуть отправленные средства или повлиять на курсы валют.

5. Если провести аналогию между биткойнами и рублями, то "копейки" здесь называют "сатоши". 1 сатоши равен 0,000 000 01 BTC. Это самая мелкая единица биткоин-системы.

6. Для перевода средств используется адрес кошелька получателя и подпись отправителя (идентификатор транзакций участника). Подпись подтверждает вашу личность (участие) в системе Bitcoin.

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

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

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

9. С каждым годом добывать (майнить) биткоины все сложнее. Конечный объем монет ограничен и составляет 21 миллион BTC. Последний биткоин будет получен в 2140 году.

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

10. Каждые 4 года потенциальная прибыль майнеров сокращается вдвое (халвинг). Это объясняет рост ценности криптовалюты и ее покупательской способности.

11. С помощью Bitcoin можно оплачивать товары или услуги, как за рубли или доллары. Для этого используют электронные виртуальные переводы.

Транзакции Bitcoin

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

1. INPUT - входные данные, откуда биткоины попали к Кате, и сколько.
2. AMOUNT - сумма (число) биткойнов для перевода.
3. OUTPUT - выходные данные - адрес Оли.

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

Записи биткоин передаются в фиксированном размере, соответствующем поступившим средствам. А после - отправителю приходит сдача.

Например, Катя получила 1 BTC от Миши, но хочет передать Оле 0,4 BTC. Чтобы транзакция прошла, система записывает передачу Оле 1 BTC от Кати, а затем создает новую операцию - "сдачу", в которой Кате возвращается 0,6 биткоин от Оли.

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

В Блокчейн минимальный операционный сбор (MIN_RELAY_TX_FEE) составляет 0,0001 биткоин (10 000 сатоши). Чем выше установленная комиссия, тем больше ее приоритет в списке формирования блоков транзакций, тем скорее пройдет операция.

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

Время ожидания транзакций по переводам биткоинов

Время транзакции обычно составляет считанные минуты, но иногда затягивается на несколько часов или даже суток. Все зависит от загруженности системы и приоритета заявки. Если заявка не подтверждается в течение 1-3 суток, возможно, ее не заметили, и тогда рекомендуют:

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

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

Иногда мелкие и невыгодные заявки могут висеть достаточно долго. Если для небольших сумм 2-7 часов - это нормально, то для крупного трейдера, торгующего валютой в реалтайме, это очень долгие сроки.

Есть риск, что транзакционный блок так и не сформируется, а заявка зависнет.

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

1. Централизованные сервисы

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

2. Мультиподпись надежности

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

3. Открытая транзакция

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

4. Сервисы-ускорители

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

Пример ускорителя транзакций - сервис Transaction Accelerator . Вам нужно указать только TXID (идентификатор) транзакции и ввести капчу.

Для самостоятельного ускорения вручную не забывайте ставить комиссию больше минимального значения 0,0001 BTC (внимательно считайте знаки от запятой). Комиссия повысит приоритет и привлекательность заявки, и та скорее попадет в следующий информационный блок.

Основные критерии быстрого обмена (из частного опыта):

1) Перевод плюс сдача (сумма транзакции) - не ниже 0.01 BTC
2) Есть большое число подтверждений по транзакциям, из которых поступают биткойны
3) Объем данных (транзакция как набор символов) не превышает 999 байт

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

Зависшие транзакции, особенности ПО и софта

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

Состояние транзакции проверяют по TXID на блокчен.инфо.

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

Заявка или будет обработана (и подтверждена) или деньги автоматически вернутся на кошелек отправителя (в случае зависания). За все время существования Bitcoin не было ни одной бесследно исчезнувшей записи.

В случае бага (сбоя) программы-клиента или онлайн-сервиса можно предпринять ряд дополнительных мер по перезагрузке софта. Главное - сохранить секретные ключи и данные входа.

Зависшая транзакция Bitcoin, которая еще не прошла в Сеть, вернется в исходное состояние. После повторите транзакцию.