X
Нажмите Нравится
Мобильная версия Новости Украины Рейтинги Украины MH17 Выборы Коронавирус Лайфхак Война

Биткоин для «чайников»: Блок

28 июня 2017, 18:21 |
Базовой составляющей блокчейна является блок — единичная порция связанных в цепочку данных (информации).
Биткоин для «чайников»: Блок

Как мы уже знаем, блокчейн Биткоина  —  это некая бухгалтерская книга (ledger), в которой записаны абсолютно все транзакции, совершенные с монетами биткоина.

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

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

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

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

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

Но, вернемся к блокам блокчейна Биткоина.

Каждый блок состоит из заголовка (Head), в котором хранится служебная информация, и полезной информации (Payload) —  собственно записи транзакций.

 

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

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

Для понимания нам важны хэши в заголовке.

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

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

 

Работает это так:

  1. Сначала считаются хэши всех транзакций в блоке.
  2. Потом считаются хэши от суммы хэшей пар транзакций.
  3. Далее считаются хэши от суммы получившихся пар хэшей и далее по такой же схеме, пока не получится один единственный хэш-код  —  он и будет хэшем транзакций в блоке.

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

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

Теперь перейдем к собственно содержимому (Payload) блока…

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

  • С <адрес 1> отправить <N> биткоинов на <адрес 2>

В действительности транзакция, записанная в блок блокчейна, сложнее, поскольку протокол Биткоина оперирует такими понятиями, как Входы (Inputs или In) и Выходы (Outputs или Out).

Входы (In)  —  это транзакции, пополняющие биткоин-адрес, а Выходы (Out)  —  это суммы, которые переводятся на другие биткоин-адреса.

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

На схеме новая транзакция C ссылается на две входящие транзакции — A и B. В результате на входе у транзакции получается 0.008 BTC (0.005+0.003), которые потом разделяются на два выхода — на первый адрес отправляется 0.003 BTC, а на второй 0.004 BTC. Остаток (0.001 BTC) — комиссия майнеру.

Собственно структура записи транзакций в блокчейне Биткоина содержит:

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

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

  • Примечание: На самом деле, баланс определяется путем подсчета всех непотраченных Выходов (т.н. UTXO — unspent transaction output) этого адреса.

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

Например, если имеется входящая транзакция (Вход) на 1 биткоин (BTC), а нужно перевести куда-то 0,8 BTC, то создается транзакция с одним Входом и двумя Выходами: на 0,8 BTC  —  собственно перевод и на 0,2 BTC  —  возврат на биткоин-адрес отправителя.

Еще важный момент  —  это т.н. комиссия за транзакцию (transaction fee), которую получают майнеры — люди, которые записывают новые блоки транзакций в блокчейн.

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

Как происходит запись нового блока в блокчейн, читайте в статье «Биткоин за 5 минут: Майнинг».

Предыдущие статьи по теме «Биткоин за 5 минут»:

 

Жизнь

Тайная дочь Путина выступила против него

4 августа 2025, 13:45  |  20 хвилин
Луиза Розова (в народе известная как Елизавета Кривоногих), долгие годы считавшаяся внебрачной дочерью президента России Владимира Путина, впервые открыто выступила против него.

США полностью готовы к ядерной войне с Россией — Трамп

2 августа 2025, 11:24  |  20 хвилин
США готовы к ядерной войне с Россией — заявил Дональд Трамп, комментируя угрозы со стороны Дмитрия Медведева. На фоне резкой эскалации риторики между Вашингтоном и Москвой американский лидер распорядился разместить две атомные подводные лодки в «соответствующих регионах».

Трамп требует прекратить войну в Украине до 8 августа

31 июля 2025, 19:58  |  20 хвилин
Соединенные Штаты Америки официально сообщили Совету Безопасности ООН об инициативе президента Дональда Трампа по прекращению войны в Украине до 8 августа. В случае невыполнения этого срока США оставляют за собой право прибегнуть к дополнительным действиям.

Оперативная информация по состоянию на 16:00 31.07.2025 по российскому вторжению

31 июля 2025, 18:31  |  Генштаб ВСУ
Российские захватчики продолжают штурмовать позиции украинских защитников. Всего с начала суток, 31 июля 2025, произошло 66 боевых столкновений.

«Самый старый ребёнок в мире» родился в США

31 июля 2025, 14:44  |  20 хвилин
В США родился ребенок из эмбриона, замороженного более 30 лет назад — в 1994 году!

Туск заявил о признаках возможного прекращения войны в Украине

30 июля 2025, 20:07  |  20 хвилин
Премьер-министр Польши Дональд Туск заявил, что видит «многие признаки» того, что война в Украине может быть приостановлена в ближайшее время.

«Крот» в Воздушных силах готовил удары по F-16

30 июля 2025, 18:06  |  20 хвилин
ШОКИРУЮЩИЕ ПОДРОБНОСТИ! Украинский лётчик-инструктор оказался агентом РФ и сливал данные для ударов по F-16!

«Аэрофлот» парализован масштабной кибератакой: отменены десятки рейсов

28 июля 2025, 14:21  |  20 хвилин
В результате беспрецедентной хакерской атаки на IT-системы крупнейшего российского авиаперевозчика произошёл системный сбой: отменены десятки рейсов, нарушена работа всех цифровых сервисов, пассажиры застряли в аэропортах, а власти начали расследование.

В СМИ — тревога: к Земле приближается «инопланетный корабль»?

27 июля 2025, 18:29  |  20 хвилин
Волна публикаций в западных СМИ — от New York Post до Daily Mail — вызвала ажиотаж: к Земле якобы летит межзвёздный объект, который может оказаться враждебным инопланетным зондом.

Украина получит 33 000 ударных комплектов автопилота с ИИ

27 июля 2025, 15:27  |  20 хвилин
Американо-немецкая компания Auterion до конца 2025 года передаст Украине 33 000 ударных комплектов Skynode — это более чем в 10 раз превысит предыдущие поставки.

Закон против НАБУ: The Economist говорит о «панике» в окружении Зеленского

23 июля 2025, 18:25  |  20 хвилин
Закон, который существенно ограничивает независимость Национального антикоррупционного бюро (НАБУ) и Специализированной антикоррупционной прокуратуры (САП), вызвал бурю протестов в Украине и резкую критику со стороны международных партнёров.

Верховная Рада официально утвердила новый состав правительства Украины

17 июля 2025, 18:30  |  20 хвилин
В четверг, 17 июля 2025 года, украинский парламент поддержал кадровые изменения в Кабинете Министров, окончательно сформировав обновленное правительство.

Страницы: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031