Заголовок блока (Block Header)
Кратко: Заголовок блока (block header) — это компактная сводка в начале каждого блока; хеширование заголовка даёт уникальный идентификатор блока.
Заголовок блока (block header) — это компактная сводка в начале каждого блока; хеширование заголовка даёт уникальный идентификатор блока. В Proof of Work заголовок — это та часть, которую майнеры хешируют снова и снова, соревнуясь за вознаграждение за блок: так алгоритм консенсуса стимулирует майнинг.
Почему это важно
Каждый заголовок содержит хеш заголовка предыдущего блока, поэтому заголовки связывают блоки в цепочку, и изменение любого старого блока изменило бы все последующие хеши. В заголовке также хранится корень Меркла, который фиксирует все транзакции блока, поэтому лёгкие кошельки могут подтвердить включение транзакции, загрузив заголовки и короткое доказательство, а не весь блокчейн. В биткоине заголовок занимает всего 80 байт, поэтому такая проверка обходится дёшево.
Пример
Майнер биткоина формирует блок-кандидат и заполняет его заголовок шестью полями: версия, хеш предыдущего блока, корень Меркла выбранных транзакций, временная метка, целевое значение сложности и nonce. Майнинговое оборудование хеширует этот заголовок снова и снова, каждый раз меняя nonce. Когда одна из попыток даёт хеш, не превышающий целевое значение, майнер рассылает блок в сеть, и этот хеш заголовка становится идентификатором блока, который отображается в обозревателях блоков.