Заголовок блоку
Заголовок блоку - це унікальний ідентифікатор блоку в ланцюзі блоків, який постійно хешується для забезпечення proof-of-work для стимулів майнінгу.
Що таке заголовок блоку?
Заголовок блоку (block header) - це
засіб ідентифікації окремих блоків, згенерованих у блокчейн мережі, причому кожен блок містить власний персоналізований заголовок для полегшення відстеження модифікацій протоколу. Це використовується для обробки всіх
блоків у блокчейні, які також відомі як
вузли. Заголовок блоку містить усі метадані, час і рівень складності блоку, корінь Меркла транзакцій та
нонс(nonce).
Починаючи з «блоку генезису», блоки складаються в одну послідовність, причому кожен заголовок блоку містить три набори інформації про блок та інші унікальні компоненти, зокрема:
Заголовки блоків часто використовуються у
Bitcoin документації для розробників, оскільки вони полегшують документування завдань швидше. Цілі блокчейни можна зберегти як
плоский файл (flat file) або просту базу даних, схожу на
vertical stack.
Три набори метаданих блоку містяться у заголовці блоку. Блоки розташовуються один на одному, причому початковий блок (initial block) служить основою. Блоки продовжують рости у висоту, доки не буде досягнуто кінець блокчейну й послідовність не буде завершена. Однією з речей, яка робить Bitcoin надзвичайно безпечним, є шари та багата історія кожної послідовності.
Заголовок блоку періодично хешується
майнерами шляхом зміни значення nonce у рамках звичайної діяльності
майнінгу. Їх мета полягає у створенні
підтвердження роботи (proof of work) за допомогою цієї вправи, який дозволить їм отримати компенсацію за їхні зусилля, спрямовані на безперебійне та ефективне функціонування системи блокчейну.
Заголовки блоків чудово підходять для майнінгу, але вони також корисні для легких клієнтів через свій скромний розмір. Блокчейн Bitcoin занадто великий, щоб зберігати його на мобільних пристроях. З іншого боку, заголовки блоків для ідентичних блоків займуть лише 0,008 ГБ, або 8 МБ місця для зберігання.
Пристрої з
обмеженою пропускною здатністю або ємністю пам’яті все одно можуть виконувати певну перевірку таким чином. Згодом вони можуть перевірити, чи була транзакція включена у певний блок, оскільки корінь Меркла містить усі транзакції. Це має свою ціну: користувач все одно повинен покладатися на третю сторону та надавати потрібну їм інформацію. З іншого боку, легкі клієнти є кращими перед системою, у якій користувачі взагалі не проходять перевірку.
У мережі блокчейн, корінь Меркла - це хеш (усіх хешів) усіх транзакцій, які складають блок. Мітка часу надається, щоб усі учасники проєкту могли переглядати постійний інкапсульований запис про те, коли відбулася певна подія. Зазвичай, він відображає дату й час події з точністю до частки секунди.
Цільовий рівень складності використовується для регулювання того, наскільки важко розгадати блок майнерам. Nonce - це змінна, яку майнери можуть налаштовувати для створення різних перестановок і дійсних хешів у послідовності.
Підсумовуючи, заголовки блоків використовуються для націлювання на певні блоки всередині блокчейну. Вони хешуються в обмін на виплати за майнінг для забезпечення підтвердження роботи.