Как отслеживать биткоины

Содержание

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

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

Что такое транзакция?

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

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

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

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

Где отследить транзакцию биткоин?

Для начала необходимо перейти на специальный сайт. Можете воспользоваться blockchain.info, BlockCypher или Block Explorer. В сети представлено множество сайтов, которые можно использовать для отслеживания всех биткоин платежей. Выбирайте удобный для вас дизайн исходя из личных предпочтений.

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

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

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

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

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

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

Транзакции невозможно отменить

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

Никто не может отменить или удалить перевод, добавленный в блокчейн. В любом случае, вы получите свои деньги. Вопрос только когда!

Как вам это ICO? Напишите свое мнение о нем

Знакомство с миром биткоин транзакций

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

Интересно, но биткоин, как объект не существует. Есть исключительно записи о переводах между адресами. Предположим Василий отправил Федору 2 биткоина. Эта операция и называется транзакцией. Транзакции биткоин учитываются в специальной базе данных — цепочке блоков (blockchain).

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

Механизмы переводов

Как проверить транзакцию bitcoin? Для транзакции значимы 3 важных типа информации:

  • Вход – адрес отправителя;
  • Сумма – число пересылаемых биткоин;
  • Выход – адрес получателя.

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

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

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

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

Транзакции биткоин: цепочки блоков (видео)

Контролируем поступление платежа на биткоин-кошелёк

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

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

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

Почему сумма на входе и выходе транзакции может быть разная?

Вспомним Василия, который пересылал биткоины Федору. Товарищи решили поздравить Василия с праздником и тоже прислать ему несколько биткоинов. Три друга выслали в разное время суток переводы — Юра отправил 2 btc, Людмила — 3 bitcoin и Жора 1 btc. Это значит, что баланс Василия увеличивается на 6 биткоинов. Надо только дождаться и вовремя проверить перевод биткоин.

Что произойдёт если Василий решит снова сделать перевод Федору — в количестве 4 btc. Кошелёк будет пытаться задействовать записи разных переводов, которые образуют требуемую сумму. Например, чтобы получить 4 биткоина, система подвяжет bitcoin транзакции от Людмилы и Жоры (3 btc и 1 btc).

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

В этом случае, Федор получит от Василия перевод на 2 bitcoin (те, что отправил Юра). Кошелёк Василия создаёт свой перевод на 0,5 биткоина, только уже от Федора к Василию. Другими словами, перевод на 2 биткоина от Юры к Василию перейдёт к Федору, а от Федора к Василию — вернётся сдача 0,5 bitcoin. Так, и выходит, что Василий отправил Федору 1,5 btc. И чтобы получить монетки, от Федора требуется только отслеживание транзакций bitcoin.

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

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

  • транзакция не более 0.01 биткоина;
  • транзакция занимает мало места в блоке;
  • пересылаемые btc имеют много подтверждений.

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

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

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

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

Зависание — достаточно распространённая для криптовалют проблема. Обычно рекомендуют:

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

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

Популярность биткоинов в современном мире

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

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

Читайте далее о транзакциях в кошельках:

Следите за нами в соц. сетях: Twitter, Youtube. Подписывайтесь. Понравилась статья поделитесь с друзьями.

Биткоин транзакции: проверка, отслеживание и комиссия за перевод

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

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

Транзакции биткоина в реальном времени

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

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

С уничтожением данных файлов пропадают и имеющиеся сбережения.

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

  1. отправитель заходит в свой онлайн кошелёк и вводит реквизиты получателя;
  2. далее информация об операции собирается в специальные блоки, имеющие собственный уникальный номер и хэш;
  3. блоки отправляются на компьютеры майнеров для проверки;
  4. при отсутствии ошибок, информация копируется на устройство майнера, а сам блок отправляется обратно;
  5. потом блоки составляются в единую цепочку, а получатель принимает отправленную ему сумму.

Важно: на любом этапе перевода желающие могут посмотреть статус платежа.

Как найти биткоин транзакцию?

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

Следует помнить, что каждый информационный файл состоит из трёх составных частей:

  • Input – сведения об отправителе;
  • Output – информация о получателе;
  • Amount – отправленная сумма.

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

Как отследить транзакцию биткоин?

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

  1. ПО получателя;
  2. размер комиссии, назначенной отправителем;
  3. объём перевода;
  4. время и нагрузка на сеть;
  5. резкие скачки курса.

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

Если у Вас остались вопросы – сообщите нам

Задать вопрос

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

Самый простой и эффективный способ отслеживания движения средств – посещение сайта blockchain.info. Здесь собраны сведения о проведённых операциях, ведётся статистика и имеются данные о ходе проверок и обработки блоков. Чтобы получить необходимую информацию, потребуется:

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

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

Комиссия за транзакции

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

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

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

Освобождаются от уплаты дополнительных сборов те:

  1. чьи переводы оказываются меньше 0,01 btc;
  2. чьи информационные файлы занимают минимальное место;
  3. чьи переводы имеют огромное количество подтверждений.

Как ускорить?

Исходя из всего вышесказанного, чтобы ускорить поступление средств на указанный кошелёк, следует:

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

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

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

Отмена операции

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

Зато не стоит переживать тем, с чьего счёта было списано больше средств, чем необходимо.

Это связано с особенностью переводов. Для ускорения платежей система использует удобные ей суммы, поэтому при отправке 2,5 btc с кошелька будет списано 3 биткоина. Но лишние деньги позднее вернуться в качестве своеобразной сдачи.

Проверка btc переводов и платежей

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

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

Я отправил перевод ещё 1-го января сегодня уже 5 -ое пишет выполнено 40% и все нет подтверждения что мне делать .

Обратитесь в поддержку

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

Как отслеживать биткоины

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

Каждый пример основан на реальных транзакциях в биткоин сети, мы будем имитировать взаимодействия между пользователями (Джо, Алиса и Боб) посылая средства с одного кошелька на другой. Мы будем отслеживать транзакции в биткоин сети, используя blockchain explorer сайт для отслеживания каждого шага. Блокчейн эксплорер – это веб приложение, работающее как биткоин поисковик, который позволяет найти адреса, транзакции и блоки, чтоб посмотреть детали, статусы и взаимодействия между ними.

Популярные биткоин эксплореры:

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

Краткий Обзор Биткоина

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

Покупая Чашку Кофе

Алиса, с который вы знакомы из прошлой главы, еще совсем “зеленая”, так как недавно получила свой перый биткоин. В [getting_first_bitcoin], Алиса встретилась со своим другом Джо, чтоб обменять немного наличных на биткоин. Транзакция, созданная Джо, пополнила кошелек Алисы на 0.10 биткоина. Теперь Алиса отправляется совершить свою первую реальную транзакцию, купив чашку кофе в кафе у Боба в Пало Альто, Калифорния. Боб надавно начал принимать биткоин в своем кафе, добавив опцию оплаты биткоинами в платежный терминал. Цены в кафе указаны в местной валюте (Доллары США), но при оплате клиенты могут воспользоваться опцией оплаты биткоинами. Алиса заказала чашку кофе, Боб ввел заказ в платежный терминал. Терминал отобразил на экране два числа, посчитав стоимость заказа в местной валюте и в биткоинах по текущему курсу, а также показал на экране QR код, который содержит payment request для этой транзакции (see [payment-request-QR]):

В отличии от QR кода, который содержит адрес получателя, чек содержит URL платежа, который включает в себя адрес, сумму и описание, как например “Кафе Боба”. Это позволяет биткоин кошельку получить необходимую для отправки информацию и отобразить понятную информацию для пользователя. Вы можете отсканировать QR код своим биткоин кошельком, чтоб посмотреть, что увидела Алиса отсканировав такой QR.

Боб говорит, “С вас один доллар пятьдесят, или пятнадцать милибитов.”

Алиса смартфоном сканирует штрихкод с экрана. Её смартфон показывает “0.0150 БТС Кафе Боба” она нажимает кнопку “Отправить” чтоб подтвердить платеж. Примерно за пару секунд (не более того, что заняла бы авторизация пластиковой карты), Боб увидит транзакцию и подтвердит платеж.

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

Сеть Биткоин поддерживает переводы дробных количеств, например, от миллибиткоинов (1/1000 часть Биткоин) до 1/100.000.000 доли Биткоин, которая известна как сатоши. В этой книге мы будем использовать термин “биткоины” для обозначения любого количества криптовалюты: от наименьшей единицы (1 сатоши) до максимального возможного числа монет (21.000.000).

Транзакции Биткоин

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

Транзакции аналогичны записям в обычной бухгалтерской книге приходов и расходов. Простыми словами, каждая транзакция содержит один или несколько “входов”, из которых поступают средства. С другой стороны транзакции находятся один или больше “выходов”, куда средства уходят. Входы и выходы (дебета и кредита) не обязательно в сумме составляют одну и ту же сумму. Выходы содержат чуть меньше, чем сумма на входах за счет “комиссии”, небольшой платы майнерам за включения транзакции в блок. Биткоин-транзакция выглядит как две записи в бухгалтерской книге [transaction-double-entry].

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

Транзакции переносят значения из входов транзакции в выходы транзакции. Значение на входе — это как правило выход какой-то предыдущей транзакции. Выход транзакции назначает нового владельца при помощи обременения, т.е. требования подписи для получения возможности распоряжаться средствами. Выходы из одной транзакции могут быть использованы в качестве входов новых транзакций, тем самым создавая цепочку передачи прав собственности, по мере того, как ценность перемещается от адреса к адресу (см. [blockchain-mnemonic]).

Платеж Алисы в кафе Боба использует предыдущую транзакцию в качестве входа. В предыдущей главе Алиса получила биткоины от Джо в обмен на наличные. Та транзакция оказалась заблокирована (обременена) требованием ключа Алисы. Ее новый платеж Бобу ссылается на предыдущую сделку в качестве входа и создает новые выходы для оплаты чашки кофе и для сдачи. Транзакции образуют цепь, в которой входы последующих транзакций соответствуют выходам предыдущих. Ключ Алисы обеспечивает подпись, которая распечатывает эти предыдущие выходы, тем самым доказав остальной сети Биткоин, что Алиса является владелицей средств. Она отправляет оплату за кофе по адресу Боба, добавляя к выходу “обременение” с требованием, что Боб должен предъявить валидную подпись для того, чтобы потратить эту сумму. Это описывает передачу ценности от Алисы к Бобу. Эта цепочка транзакции от Джо к Алисе и далее к Бобу, показана на [blockchain-mnemonic].

Обычные виды транзакций

Наиболее распространенной формой транзакции является простой платеж с одного адреса на другой, что часто включает в себя некоторое количество “сдачи” первоначальному владельцу. Этот тип сделки имеет один вход и два выхода как показано на [transaction-common].

Еще один распространенный вид сделки — объединяющий несколько входов в один выход (см. [transaction-aggregating]). Это представляет собой эквивалент обмена кучи монет на одну купюру в реальной жизни. Подобные транзакции часто создаются ПО кошельков для слияния множества маленьких “сдач”.

Наконец, еще одна распространенная форма транзакция в блокчейне разделяет один входя на несколько выходов, представляющих несколько получателей (см [transaction-distributing]). Этот тип сделки иногда используется коммерческими структурами для распределения средств на несколько кощельков, например, выплаты зарплат нескольким сотрудникам сразу.

Создание транзакции

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

Получение правильных входов

Приложение кошелька Алисы сначала должно найти входы, содержащие достаточное количество средств, чтобы можно было заплатить Бобу. Большинство приложений кошельков содержит небольшую базу данных “неизрасходованных выходов транзакций” (“unspent transaction outputs”), заблокированные (обремененных) собственными ключами кошелька. Значит, кошелек Алисы будет содержать копию выхода транзакции Джо, при помощи которой Алиса приобрела свои первые биткоины (см. [getting_first_bitcoin]). Приложения Биткоин-кошельков, работающие как клиент с полным индексом на самом деле содержит копию каждого неизрасходованного выхода из каждой транзакции в блокчейне. Это позволяет кошельку не только выбирать входы для транзакций, но также и быстро проверять корректность входов входящих транзакций. Однако, поскольку полный индекс занимает много места на диске, большинство пользователей используют “легкие” кошельки, которые отслеживают только собственные неизрасходованные выходы пользователя.

Если приложение кошелька не содержит копию неизрасходованных выходов транзакций, оно может запросить эту информацию у сети Биткоин через API различных провайдеров, или послав JSON RPC запрос узлу, содержащему полный индекс. [example_2-1] показывает запрос к RESTful API в виде HTTP GET по определенному URL. Этот URL-адрес вернет все неизрасходованные выходы транзакций адреса, предоставив любому приложению достаточно информации, чтобы можно было построить входы транзакций. Для запроса мы воспользуемся утилитой коммандной строки cURL.

Ответ в [example_2-2] показывает один неизрасходованный выход (выход, который еще не был израсходован), на принадлежащем Алисе адресе 1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK. Ответ включает в себя ссылку на транзакцию, в которой найден этот неизрасходованный выход (перевод от Джо) и его значение в 10 млн сатоши, что эквивалентно 0.10 биткоинов. При помощи этой информации, приложение кошелька Алисы может составить новую транзакцию и отправить средства по новому адресу.

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

Создание выходов

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

Эта транзакция будет также включать в себя второй выход, так как 0.10 BTC слишком много за чашку кофе ценой 0.015 BTC. Алиса должна получить 0.085 BTC в виде сдачи. Выход сдачи Алисы создается кошельком Алисы в той же самой транзакции, в которой создается оплата Бобу. По сути, кошелек Алисы делит ее средства на два платежа: один Бобу, и один обратно себе. В одной из более поздних транзакций Алиса сможет потратить остаток сдачи.

Наконец, для того, чтобы транзакция могла быть обработана сетью в разумные сроки, приложение кошелька Алисы присовокупило небольшую комиссионную плату. Комиссия не указана в транзакции явно; подразумевается что ее можно вычислисть как разницу между входами и выходами. Вместо 0.085 в качестве сдачи, Алиса создает второй выход для 0.0845, подразумевая в остатке 0,0005 BTC (половина миллибиткоина). Количество 0.10 BTC на входе не полностью потрачено двумя выходами, так как в сумме они дают менее чем 0.10. Результирующая разница является комиссией, и уходит в пользу майнера в качестве платы за включение транзакции в блокчейн.

Результирующая транзакция может быть видна через веб-приложение “проводник блокчейна”, как показано на [transaction-alice].

Запись транзакции в бухгалтерскую книгу

Транзакция, которую создал кошелек Алисы имеет размер 258 байт и содержит все необходимое, чтобы подтвердить право собственности на средства и назначить новых владельцев. Теперь транзакция должна быть передана в сеть Биткоин, где она станет частью распределенной бухгалтерской книги (блокчейна). В следующем разделе мы увидим, как транзакция попадает в новый блок и, как блок будет “добыт”. Наконец, мы увидим, что по мере добавления новых блоков к блокчейну, доверие к старым возрастает.

Передача транзакции

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

Как распространяется транзакция

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

С точки зрения Боба

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

Распространенное заблуждение о Биткоин-транзакциях состоит в том, что они якобы должны быть “подтверждены” после 10-ти минут ожидания нового блока, или даже 60-ти минут для шести полных подтверждений. Хотя подтверждения и дают гарантию, что транзакция будет принята всей сетью, подобная задержка не является необходимой для платежей малой стоимости, таких как кофе. Торговец может принять валидную транзакцию малой стоимости и без каких-либо подтверждений вообще, с не большим риском, чем при оплате кредитной картой без предъявления удостоверения личности или подписи, как это часто происходит в наши дни.

Добыча Биткоин

Теперь транзакция распространяется по Биткоин-сети. Она не станет записью в общей бухгалтерской книге (блокчейн) до тех пор, пока не будет проверена и включена в блок во время процесса, называемого добычей (или майнинга). См [ch8] для подробного объяснения.

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

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

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

Майнинг можно сравнить с гигантской одновременной игрой в судоку, но такой, что сбрасывает результат как только кто-то находит решение головоломки и сложность которой автоматически регулируется так, что поиск решения занимает около 10 минут. Представьте себе гигантский судоку, несколько тысяч строк и столбцов в размере. Если вам показать заполненную цифрами головоломку, то вы сможете достаточно быстро проверить ее корректность. Однако, если в головоломке несколько квадратов заполнено, а остальные пусты, понадобится много работы, чтобы ее решить! Сложность судоку можно регулировать путем изменения размера (больше или меньше строк и столбцов), но результат решения головоломки довольно легко проверить несмотря на ее размер. “Головоломка”, которая используется в Биткоин основана на криптографическом хэше и имеет схожие характеристики: ее асимметрично трудно решить, но легко проверить, а также возможно регулировать ее сложность.

В [user-stories] мы познакомили читателя с Цзин, студентом компьютерного факультета из Шанхая. Цзин участвует в Биткоин-сети в качестве майнера. Каждые 10 минут или около того, Цзин вместе с тысячами других майнеров соревнуется в попытке найти очередной блок. Поиск решения головоломки, так называемое доказательство работы, требует квадриллионы операций хэширования в секунду всей сети Биткоин. Алгоритм доказательства работы представляет собой непрекращающееся хеширование заголовка блока и случайного числа при помощи криптографического алгоритма SHA256 до тех пор, пока не будет найдено решение, удовлетворяющее заранее заданному шаблону. Тот, кто первым из всех майнеров найдет подобное решение, выигрывает этот раунд соревнования и публикует найденный блок в блокчейн.

Цзин начал заниматься майнингом в 2010 году с помощью очень быстрого настольного компьютера. Поскольку все больше шахтеров начали присоединяться к Биткоин-сети, сложность задачи быстро выросла. Вскоре Цзин и другие майнеры перешли на более специализированное железо: игровые видеокарты (GPU). На момент написания этой книги, сложность достигла таких размеров, что заниматься поиском блоков выгодно только на очень специализированном железе, так называемых платах ASIC, в которых используются процессоры созданные для решения лишь одной задачи — поиска хешей. Цзин также присоединился к “майнинговому пулу”, который позволяет его участникам разделить между собой усилия по поиску, так и награду за находку. У Цзина в настоящее время работает есть два ASIC в виде двух “компьютеров”, подключенных к основному по USB и работающих 24 часа в сутки. Он оплачивает свои расходы за электроэнергию и сверх того немного зарабатывает за счет продажи найденных биткоинов. На его компьютере запущен bitcoind, основной Биткоин-клиент, который требуется для ПО майнинга.

Транзакции майнинга в блоках

Транзакция, переданная по сети не проверяется до тех пор, пока она не станет частью глобальной распределенной бухгалтерской книги, блокчейна. В среднем каждые 10 минут майнеры находят новый блок, который содержит все транзакции с момента последнего блока. От пользователей в сеть постоянно поступают новые транзакции. Как только сеть их получает, они добавляются к временному пулу непроверенных транзакций, поддерживаемому каждым узлом. Когда майнеры пытаются найти новый блок, они добавляют непроверенные транзакции из этого пула к новому блоку, а затем пытаться найти рушение очень трудной задачи (т.е. предъявить доказательство работы). Процесс майнинга будет подробно описан в [mining].

Транзакции будут добавлены в новый блок в порядке приоритета, рассчитанного на основании количества комиссии и нескольких других критериев. Каждый майнер начинает процесс поиска нового блока, как только получает из сети предыдущий блок, понимая что соревнование по поиску предыдущего блока проиграно. Он сразу же создает новый блок, заполняет его транзакциями и идентификатором-отпечатком предыдущего блока, и начинает расчета доказательства работы нового блока. Каждый майнер включает в свой блок специальную транзакцию, в которой вознаграждает самого себя за найденный блок в виде некоторого количества биткоинов (в настоящее время это 25 BTC). Если он находит решение головоломки, что означает, что блок становится валидным, он “выигрывает” это награду, потому что его блок добавляется к глобальному блокчейну, а награждающая транзакция становится расходуемой. Цзин, который участвует в майнинговом пуле, настроил свое программное обеспечение так, что награда уходит по адрему пула. Оттуда, доля вознаграждения распределяется Цзин и других майнерам пропорционально тому объему работы, который каждый вложил в последнем туре.

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

Можно видеть, что блок включает в себя транзакцию Алисы.

Спустя несколько минут, другой майнер нашел новый блок #277317. Так как новый блок основан на предыдущем блоке (#277316), который содержал операцию Алисы, он добавил даже больше вычислений над тем блоком, таким образом усилив доверие к тем транзакциям. Блок, содержащий транзакцию Алисы засчитывается как одно “подтверждение” этой транзакции. Каждый новый блок сверху блока, содержащего сделку является дополнительным подтверждением. По мере того, как блоки нанизываются один на другой, становится экспоненциально сложнее отменить транзакцию, тем самым она становится все более доверительной для сети.

На диаграмме в [block-alice1] мы видим блок #277316, содержащий транзакцию Алисы. Под ним находятся 277316 предыдущих блоков (в том числе блок #0), связанных друг с другом в цепь (blockchain) вплоть до нулевого, известного как блок генезиса. Со временем, по мере того как “высота” в блоках увеличивается, то же самое происходит и с вычислительной сложностью каждого блока и с цепочкой в целом. Блоки, добытые после того, который содержит транзакцию Алисы, становятся дополнительной гарантией по мере того, как растет количество вычислений и длина цепочки. По соглашению, любой блок с более чем шестью подтверждениями считается безотзывным, так как для его отмены потребуется пересчитать шесть блоков, а это огромное количество вычислений. Мы рассмотрим процесс майнинга и вопрос доверительности более подробно в [ch8].

Растрачивание транзакции

Теперь, когда транзакция Алисы была встроена в блокчейн в качестве записи в блоке, она становится частью распределенной бухгалтерской книги Биткоин и видной для всех приложений Биткойн. Каждый отдельный Биткоин-клиент может самостоятельно проверить транзакцию на правильность и возможность потратить средства. Клиенты с полным индексом способны отследить источник средств с момента, когда они были созданы в блоке, последовательно транзакция к транзакции и так, пока они не достигнут адреса Боба. Легкие клиенты могут делать то, что называется упрощенной проверкой перевода (см. [spv_nodes]), подтверждая, что транзакция находится в блокчейне и после нее найдено несколько блоков.

Теперь Боб может потратить выход этой и других транзакций, создав свои собственные транзакции, которые бы ссылались на эти выходы в качестве входов. Например, Боб может заплатить подрядчику или поставщику путем передачи стоимости оплаты за чашку кофе Алисы этим новым владельцам. Скорее всего, программное обеспечение Биткоин Боба будет агрегировать множество мелких платежей в большой платеж, возможно, концентрируя доход целого дня в единую транзакцию. Это сведет различные платежи в один адрес, используемый в качестве “проверочного” счета магазина. Диаграмма агрегирующей транзакции изображена в [transaction-aggregating].

Так как Боб тратит средства, полученные от Алисы и других клиентов, он удлиняет цепочку транзакций, которые также добавляются в глобальный гроссбух и становятся видны всем. Давайте предположим, что Боб платит своему веб-дизайнеру Гопешу из Бангалоре за новый дизайн веб-сайта. Теперь цепочка транзакций будет выглядеть как здесь [block-alice2].

ПОДЕЛИТЬСЯ

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here