Блокчейн/Уровень I · Деньги/1.3 Генезис/Урок 2
Блок генезиса и его заголовок
Неизрасходуемая отправная точка и заголовок, который её закрепил
МатериалыИнтерфейс блок-эксплорераHex-просмотрщик или ASCII-конвертерИсходный код Bitcoin Core (chainparams.cpp)
Любопытство
- Почему первый блок содержит пересказ заголовка из утренней газеты того дня?
- Каким образом выход блока генезиса структурно исключён из базы данных расходуемых монет?
- Чем объясняется шестидневный разрыв между временной меткой блока генезиса и объявлением о v0.1?
Исследование
- Нулевой блок был смайнен 3 января 2009 года. Его coinbase-вход содержит текст «The Times 03/Jan/2009 Chancellor on brink of second bailout for banks» — пересказ заголовка с первой полосы газеты того дня о канцлере казначейства Алистере Дарлинге. Это сообщение выполняет две функции: оно привязывает блок к конкретному выпуску британской газеты, доказывая самую раннюю возможную дату создания, и отсылает к проходившему в то же время спасению британских банков. Его широко воспринимают как комментарий к банковскому кризису, в стороне от которого и создавалась эта система.
- Блок генезиса содержит награду 50 BTC в coinbase-транзакции. Однако этот выход не добавляется в набор неизрасходованных выходов транзакций (UTXO). Поскольку он не попадает в базу данных монет, доступных для траты, эти 50 BTC навсегда недоступны и не могут быть потрачены никем, включая создателя. Было ли это сделано намеренно или стало особенностью первоначального кода, так и не подтверждено.
- Сатоши Накамото объявил о выпуске Bitcoin v0.1 в списке рассылки по криптографии 8–9 января 2009 года. Временная метка блока 1 — 9 января 2009 года. Промежуток между датой блока генезиса (3 января) и этим объявлением составляет примерно шесть дней; он так и не был публично объяснён или задокументирован в ранней истории программного обеспечения.
- Заголовок блока генезиса жёстко прописан в каждой копии Bitcoin Core. Ноды не майнят его при подключении: он заранее загружен как корень цепочки. Каждый последующий блок ссылается на предшественника через хеш, поэтому любой текущий блок можно проследить назад по хешам родительских блоков вплоть до этой отправной точки.
- Поле скрипта coinbase-входа принимает произвольные данные объёмом от 2 до 100 байт. В блоке генезиса в этом поле записана ASCII-строка с газетным заголовком. Современные майнеры используют это место для дополнительных nonce (extra nonce) или строк идентификации пула, а в блоке генезиса в нём разместили сообщение.
- Откройте блок-эксплорер и перейдите к блоку на высоте 0. Прочитайте coinbase-текст в сыром шестнадцатеричном (hex) и ASCII-представлении, чтобы проверить точную кодировку символов заголовка. Обратите внимание: хотя на адрес, связанный с ключом блока генезиса, отправлялись платежи-«подношения», они не делают исходный неизрасходуемый выход доступным; это отдельные транзакции, направленные на известный публичный ключ.
Ключевые факты
- Блок генезиса был смайнен 3 января 2009 года.
- Его coinbase-текст гласит: «The Times 03/Jan/2009 Chancellor on brink of second bailout for banks»
- Награда в размере 50 BTC в блоке генезиса не может быть потрачена и остается недоступной навсегда.
- Временная метка блока 1 — 9 января 2009 года, через шесть дней после даты блока генезиса.
- Сатоши Накамото объявил о выпуске Bitcoin v0.1 в списке рассылки по криптографии 8–9 января 2009 года.
- Заголовок блока генезиса жёстко прописан в программном обеспечении каждой ноды как корень цепочки.
Упражнение девять, шесть, три, один
9СобратьПеречислите 9 исторических или технических артефактов, связанных с запуском системы (например, whitepaper, первые транзакции, письма основателей). Укажите их даты и содержание.
6СгруппироватьСгруппируйте 9 элементов в 6 категорий в соответствии с их функцией: верификация личности, фиксация времени, определение правил, распределение стимулов, коммуникация или структурные ограничения.
3Выделить главноеСократите 6 групп до 3 основных механизмов, которые определяют легитимность и технические рамки новой системы.
1КристаллизоватьНапишите 1 предложение о том, что заголовок в блоке генезиса доказывает относительно его даты и чего он не доказывает.
Проверка фактов
Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.
- S. Nakamoto, 'Bitcoin: A Peer-to-Peer Electronic Cash System' (2008)
- Bitcoin Core source code, chainparams.cpp
- The Times, front page (January 3, 2009)
- S. Nakamoto, 'Bitcoin v0.1 released', cryptography mailing list (January 2009)