Зависшие Bitcoin-платежи, или Приключения одной транзакции. Настройка e-commerce в Google Tag Manager, полная инструкция

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

Понимание прозрачности Биткойна

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

Используйте новые адреса, для получения платежа

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

Будьте осторожны в общественных местах

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

Ваш IP адрес может быть зафиксирован

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

Ограничения миксеров

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

Будущие улучшения

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

На примере сайта бронирования авиабилетов, поэтому я предполагаю, что вы уже знакомы с основными понятиями Google Tag Manager (GTM). Если нет, то начните именно с предыдущей статьи.

В этом материале мы рассмотрим функционал отслеживания транзакций Google Analytics (GA), которые являются одной из основных метрик, необходимых для понимания эффективности разных каналов трафика. Внедрять систему мы будем с помощью GTM.

В этот раз подопытным выступает уже другой сайт - интернет-магазин спортивного питания, который интересен тем, что имеет два варианта оформления заказа: стандартный заказ через корзину и быстрый заказ «в один клик».

Постановка задачи

Для отслеживания эффективности каналов привлечения трафика на сайт нам нужно понимать не только количественные показатели, такие как факт совершения покупки, но и его качественные характеристики, т.е. сумму каждой транзакции. Можно решить эту задачу присвоением некой усредненной ценности для настроенных в GA целей. По правде, это будет проще, но не так интересно:) Нам же важно научиться и обкатать решение с отслеживанием электронной торговли именно с помощью GTM. К тому же, это решение обеспечит дополнительные полезные отчеты в аналитике.

Реализация

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

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

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

Выглядит он таким образом:

& lt ; script & gt ;

dataLayer = [ {

"transactionId" : "ID транзакции" ,

"transactionAffiliation" : "домен" ,

"transactionTotal" : "общая сумма покупки" ,

"transactionTax" : "налог" , //не обязательно

"transactionShipping" : "доставка" , //не обязательно

"transactionProducts" : [ // выводится столько раз, сколько разных товаров заказано

"name" : "Название товара" ,

"sku" : "Артикул товара" ,

"category" : "категория товара" , //не обязательно

"price" : "цена товара" ,

"quantity" : "количество товара"

} ] } ] ;

& lt ; / script & gt ;

Внедрение на сайте

Логика заказа

На сайте реализованы два варианта совершения заказа:

  1. Корзина
  2. Заказ в один клик

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

Оформление заказа через корзину

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

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

dataLayer . push ({ " variable_name" : "variable_value" } ) ;

Он покажет GTM требуемый массив данных. Подробнее об этом способе - в инструкции Google . В нашем же примере код выводится до кода GTM, а значит, dataLayer.push нам здесь не нужен.

Итак, у нас настроен GTM, включен счетчик аналитики, отслеживаются автоматические события (клики, отправка форм), настроены другие события. Вот так выглядит список тегов для нашего сайта:


Теперь убедимся, что в нужном месте на сайте выводится уровень данных:


Возвращаемся к GTM.

Нам интересен тег «Транзакция Корзина». Как его создать:

  1. Создаем новый тег и выбираем тип Universal Analytics.
  2. Указываем идентификатор отслеживания (из GA).
  3. Указываем, что тег обрабатывает транзакцию.
  4. Переходим к настройке условий активации.



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

/?order4_confirmation_quick=yes&order_success=yes&paymentMethodID=1&orderID=3034

Начиная с &paymentMethodID URI может отличаться, потому нас тут интересует первая половина

/?order4_confirmation_quick=yes&order_success=yes

Зададим его как условия активации:

{{url}} содержит /?order4_confirmation_quick=yes&order_success=yes

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

{{event}} равно gtm.dom

Визуально это выглядит так:


Сохраняем правило. Сохраняем тег. Публикуем версию контейнера. Проверяем в консоле бразера отправку транзакции: либо с помощью GA Debugger, либо во вкладке Network смотрим запросы transaction и item:


Оформление заказа в один клик

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

’transactionId’: ’ID транзакции’ — рандомно.
’transactionTotal’: ’общая сумма покупки’, — равна цене товара.
’quantity’: ’количество товара’ — всегда будет равно 1.

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

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

Приступим к настройке.

Как и в заказе через корзину, нам нужно создать тег Universal Analytics, указать идентификатор отслеживания и назначить тип отслеживания «Транзакция». Называем его «Транзакция Купить в один клик». Переходим к настройке правил активации.
Одним из условий будет наличие автоматического события «Прослушивание отправок форм». Выглядит оно так: {{event}} равно gtm.formSubmit. Далее, нам необходимо уточнить, отправка какой именно формы будет активировать выполнение тега. Форма имеет айди «oneClickOrder» - это позволит нам абсолютно точно выделить ее среди остальных, т.к. формы у нас прослушиваются по всему сайту.

В GTM правило {{element id}} равно oneClickOrder будет выглядеть так:


Сохраняем правило. Сохраняем тег. Публикуем версию контейнера и проверяем. Все должно заработать. Теперь, при успешном заполнении формы Заказ в 1 клик, GTM выполнит тег транзакции, который получит данные из dataLayer и отправит их в Google Analytics.

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

Задача решена.

Удачи с реализацией!

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

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


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

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

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

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

Обозреватели блокчейна

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

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


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

OXT

Ещё один интересный обозреватель блокчейна – сайт под названием OXT (open exploration tool), представляющий собой исследовательский инструмент для анализa блокчейна. Аналогично другим обозревателям блокчейна, OXT может отображать транзакции в сети Биткоина. Кроме того, сайт анализирует различные виды поведения в блокчейне Биткоина при помощи графиков и инструментов отображения траектории. Сюда относятся временные графики, отражающие комиссионные, транзакции, скрипты и многое другое. Кроме того, в арсенале OXT имеются графики рассеяния, предоставляющие новый взгляд на поведение транзакций и адресов Биткоина.


К другим популярным обозревателям принадлежат Blockcypher , Insight , Blocktrail и Sochain . Каждый обозреватель демонстрирует данные блокчейна немного по-своему, однако в целом информация о транзакциях одинакова.

Графики статистики сети

Statoshi.info

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


Ещё один графический сайт, который существует уже достаточно долго. Представленные на сайте ценовые графики пользуются большой популярностью среди пользователей сети. Ценовые графики BitcoinWisdom отражают стоимость криптовалюты на различных биржах, например, Bitstamp, BTCC, Kraken и Bitfinex.


BitcoinWisdom демонстрирует и другие статистические данные, например, сложность сети или прошлый и текущий хешрейт.

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


«Отслеживать Биткоин» возможно и при помощи сайта . Этот инструмент демонстрирует визуальную интерпретацию транзакций сети, а также связи транзакций с индивидуальными адресами. Сайт отслеживает происхождение Биткоина и следует его путём при помощи блокчейна, использующего визуальные диаграммы.


Информация об узлах сети

Node Counter

Node Counter представляет собой аналитический интернет-сайт, отслеживающий узлы сети Биткоина. Здесь представлены графические изображения узлов Bitcoin Core, Classic и Unlimited (BU). Каждая таблица демонстрирует разные узлы сети, а также пулы, сообщившие о поддержке альтернативных клиентов Биткоина и предложений по изменению размера блока. Информация на Nodecounter представлена в виде линейных графиков и круговых диаграмм.


Основанный стартапом 21 Inc, сайт также часто используется для изучения различных графиков и таблиц, отображающих поведение узлов сети Биткоина. На сайте представлен снапшот сети, а также поисковый инструмент для проверки состояния узлов. Bitnodes отображает узлы по клиентам Bitcoin Core, Classic и Unlimited (BU).


Coin Dance

Ещё один очень полезный инструмент носит название . Он демонстрирует пользователям различные анализы и графики, относящиеся к узлам в сети. Графический интерфейс содержит также реализации разных узлов с разными видами графиков. CoinDance также пользуется популярностью в связи с другими представленными данными, например, объёмом торгов на Localbitcoins и Paxful, или даже графиками, отражающими мнения известных компаний отрасли относительно поддержки Segregated Witness, Emergent Consensus и UASF (BIP 148).


Визуализация дает новый взгляд на сеть Биткоина

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

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

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

Почему bitcoin это децентрализованная сеть?

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


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

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

Как происходит транзакция биткоина?

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


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

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

Откуда берутся биткоин-адреса?

Для того, чтобы создать адрес, ваш кошелек сначала генерирует личный ключ (секретный или приватный ключ). Такой ключ – это не что иное, как многозначное число в интервале от 1 до 2 в 256 степени. Чтобы сократить это число, можно его закодировать, превратив в символьную последовательность.

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

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

Как подтверждаются криптовалютные транзакции в сети bitcoin?

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


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


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

Виды биткоин-кошельков

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

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

Десктопный кошелек

Приложение для операционных систем Windows, MacOS или Linux. В качестве примера, можно привести биткоин-кошельки Electrum, Multibit или Bitcoin Core. Приватные ключи хранятся в локальном файле где-то на жестком диске с названием, к примеру, wallet.dat, а безопасность ваших BTC напрямую зависит от сохранности этого файла. Исключением является лишь кошелек BitcoinQT, который превращает компьютер в биткоин-узел, следовательно требует больше пространства на жестком диске и использует ресурсы соединения с интернетом, чем и отличается от прочих приложений.

Веб-кошельки

Примером таких кошельков bitcoin является Coinbase или blockchain.info. Если вы пользуетесь веб-кошельком, ваши личные ключи хранятся, обычно в зашифрованном виде, на серверах интернет-сайта, а не на вашем жестком диске. Некоторые веб-кошельки одновременно являются обменными биткоин-сервисами, например, Bitstamp или Virtex, где вы можете обменять BTC на доллары или другие фиатные валюты.

Мобильный кошелек

Ваши личные ключи также будут храниться на сервере сайта, который его обслуживает. Это аналог веб-кошелька, однако, имеющий немного другой интерфейс, работающий с приложениями вашего мобильного телефона. Единственное программа, которая хранит ваши ключи на мобильном устройстве - это BitcoinWallet для Android. Продолжать импорт биткоинов в реестре очень просто с мобильным телефоном, оснащенным камерой. Вы просто сканируете QR-код адресата используя приложение мобильного кошелька и продолжаете транзакции. Такой метод коммуникации набирает обороты, тем более что он обладает рядом преимуществ. Биткоин-кошельки многофункциональны по своей сути. Процесс торговли BTC очень прост, так как платежные компании постарались использовать разработки стартапов в этой области.

Бумажный кошелек

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

Безопасность хранения и транзакций биткоина превыше всего

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

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

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