Глоссарий

Заголовок блока

Сложность: низкая

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

Что такое заголовок блока?

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

Начиная с первого "генезис-блока", блоки укладываются последовательно, при этом заголовок каждого блока включает три набора информации о блоке и другие уникальные компоненты, в том числе:

  • Хеш предыдущего блока

  • Nonce, используемый майнерами

  • Номер версии Bitcoin

  • Корневой хеш (корень Меркла)

  • Целевая сложность блока

Заголовки блоков часто используются в документации для разработчиков Bitcoin. Целые блокчейны могут быть сохранены в виде "плоского" файла или простой базы данных, во многом похожей на вертикальный стек.
Три набора метаданных блока содержатся в заголовке блока. Транзакции внутри блока располагаются за другом, при этом заголовок служит базой. Блок продолжают расти в высоту пока не наполнится и последовательность не будет завершена. Одна из вещей, которая делает биткоин крайне безопасным, - это эти слои и хранение всей истории транзакций.
Заголовок блока периодически хешируется майнерами путем изменения значения nonce в рамках обычной майнинговой активности. Их цель - построить с помощью этого доказательство работы, proof of work, что позволит им получать компенсацию за свои усилия по поддержанию бесперебойной и эффективной работы блокчейн-системы.

Заголовки блоков отлично подходят для майнинга, но они также полезны для легких клиентов из-за своих скромных размеров. Блокчейн Биткоина просто слишком велик, чтобы хранить его на мобильных устройствах. С другой стороны, заголовки идентичных блоков будут занимать всего 0,008 ГБ, или 8 МБ дискового пространства.

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

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

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

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