Genesis Block — фіксований початковий блок основної мережі Bitcoin. Його заголовок датований 3 січня 2009 року. Він містить одну транзакцію, що створює вихід 50 BTC з особливою обробкою: витратити його неможливо.
Genesis не має попереднього блоку: відповідне поле заголовка нульове. Bitcoin Core формує його дані з параметрів мережі й перевіряє очікуваний хеш. Вузли не починають із довільного блоку, наданого іншим учасником. Блок висоти 1 посилається на хеш genesis; зміна початку означала б іншу історію. [Bitcoin Core v29.0 — chain parameters]
Час заголовка — 1231006505, тобто 3 січня 2009 року, 18:15:05 UTC. Це значення встановив творець блоку, а не незалежний реєстратор завершення майнінгу. Газетний текст допомагає визначити історичний контекст, але сам не доводить точної години чи справжньої особи автора. [Bitcoin Core v29.0 — chain parameters] [Bitcoin Developer Reference — Block Chain]
Вхід єдиної транзакції містить англійський текст заголовка The Times про загрозу другого порятунку банків. Повідомлення належить до даних транзакції, а не є приміткою оглядача блоків. Сприйняття його як критики порятунку банків — тлумачення вибору тексту; протокол не виводить із нього політичних правил. [Bitcoin Core v29.0 — chain parameters]
Під час підключення genesis Bitcoin Core пропускає підключення його транзакцій, тому початковий вихід не потрапляє до набору UTXO. Це не звичайне очікування дозрівання винагороди майнера, і нові підтвердження його не розблокують. Навіть знання відповідного приватного ключа не створить відсутнього виходу, доступного для витрачання. [Bitcoin Core v29.0 — genesis validation exception]
Оглядач може показувати пізніші надходження на адресу, пов’язану з genesis. Вони не є початковим виходом блоку 0: мають власні ідентифікатори транзакцій та умови витрачання. Особливе пропускання genesis не поширюється на них автоматично. Баланс адреси не слід плутати з можливістю витратити початкові 50 BTC. [Bitcoin Core v29.0 — genesis validation exception] [Bitcoin Developer Reference — Block Chain]
На власному вузлі основної мережі getblockhash 0 повертає ідентифікатор, що починається з 000000000019d668. getblock із цим хешем і рівнем деталізації 2 показує блок та декодовану транзакцію. Дані можна порівняти з параметрами Bitcoin Core; сам знімок екрана оглядача не замінює перевірки даних. [Bitcoin Core — getblockhash RPC] [Bitcoin Core — getblock RPC]
Тестові мережі й regtest мають власні параметри та інші хеші genesis. Перед порівнянням треба перевірити мережу, а не лише висоту 0. Однаковий genesis встановлює спільний початок, але сам не доводить коректності всіх наступних блоків, безпеки гаманця чи поточного контролю над ключами. [Bitcoin Core v29.0 — chain parameters]
Для повної картини прочитайте також Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Емісійна винагорода за блок, Timechain / Blockchain. На цю статтю також посилаються Bitcoin, Satoshi Nakamoto, Timechain / Blockchain, Емісійна винагорода за блок.