Что такое генезис-блок: на примере Биткоина в его день рождения

Генезис-блок (genesis block) — это первый блок любой блокчейн-сети. Как правило, он непосредственно задан в программной реализации блокчейна и служит отправной точкой всей цепочки. Сам блокчейн представляет собой непрерывно растущий список блоков, неизменяемых структур данных, содержащих информацию о транзакциях и связанных между собой с помощью криптографических методов, образуя таким образом цепь. Отсюда название «Блокчейн» (Blockchain), цепочка блоков.
3 января отмечается новая годовщина дня, когда в 2009 году был сгенерирован первый блок сети первой криптовалюты, Биткоина. Иногда этот день называют днем рождения всех криптовалют. 

Зачем нужен генезис-блок

Каждый блок в блокчейне содержит ссылку на предыдущий блок и получает свою валидность именно через эту связь. Таким образом, вся история сети выстраивается как последовательность взаимозависимых блоков. Генезис-блок, в свою очередь, является исключением: это первый блок (часто обозначаемый как Block 0 или Block 1), к которому «прикрепляются» все последующие блоки. Уникальность генезис-блока заключается в том, что он не имеет предшественника.

Принципиальная важность генезис-блока в том, что он задает исходную точку блокчейн-сети и фиксирует ее начальное состояние. В генезис-блоке определяются первые допустимые значения данных реестра и, в ряде блокчейнов, начальное распределение криптоактива. Хотя фундаментальные правила протокола и параметры консенсуса задаются на уровне программной реализации, именно генезис-блок служит общим «криптографическим якорем», относительно которого проверяется корректность всей последующей истории блокчейна.

Как был создан генезис-блок в сети Биткоина

Генезис-блок сети Биткоина был создан основателем протокола, скрывшемся под псевдонимом Сатоши (Сатоси) Накамото. Согласно временной метке, первый блок был сгенерирован 3 января 2009 года в 18:15:05 UTC (по Всемирному координированному времени). Именно этот момент можно считать моментом рождения Биткоина и отправной точкой всей последующей истории сети.

На момент создания генезис-блока единственным узлом сети был узел самого Накамото, а майнер, указанный в блоке, носил имя: Satoshi.

3112202501.png

Источник: blockchain.com

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

Поэтому генезис-блок Биткоина обладает рядом технических особенностей.

  • Во-первых, это отсутствие предыдущего блока: поле previous_block заполнено нулями, поскольку никаких блоков до него не существовало.
  • Во-вторых, это сложность майнинга. Она была установлена на минимальном уровне «1».

  • В-третьих, это награда за блок, которую нельзя потратить. Вознаграждение в размере 50 BTC, полученное за добычу генезис-блока, не может быть потрачено. Эти монеты не были корректно добавлены в базу транзакций и любая попытка их использования будет отклонена сетью. До сих пор неизвестно, было ли это сделано намеренно. Примечательно, что на адрес, который получил награду за майнинг генезис-блока, пользователи продолжают отправлять средства и по сей день — как в символических целях, так и в качестве намеренного способа вывода монет из обращения. Вдвойне интересно: направленные на данный адрес средства теоретически потратить можно, однако до сих пор неизвестно, существовал ли вообще приватный (закрытый) ключ от этого адреса и находился ли он когда-либо под контролем Накамото.

  • В-четвертых, сообщение в coinbase-транзакции: в поле scriptSig содержится текст: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks — заголовок британской газеты The Times от 3 января 2009 года. 

Фраза служит одновременно подтверждением даты создания блока и символическим объяснением мотивов создания первой криптовалюты. Речь о нестабильности традиционной банковской системы и необходимости создания децентрализованной альтернативы в лице Биткоина.

3112202502.png

Наконец, стоит отметить временной разрыв между первым и вторым блоками сети: Block 0 — 3 января 2009 года, 18:15:05 UTC, а Block 1 — 9 января 2009 года, 02:54:25 UTC. То есть между генерацией блоков прошло почти шесть дней, в то время как обычное время между блоками составляет примерно десять минут. Точная причина неизвестна. Существуют гипотезы, что таинственный разработчик сделал перерыв намеренно. Либо по техническим причинам, либо, есть среди энтузиастов и такая теория, — в качестве символической отсылки к библейскому описанию сотворения мира за шесть дней.

Генезис-блок в сети Эфириума — для сравнения

Если посмотреть на генезис-блок Эфириума в блокчейн-эксплорере Etherscan, то на первый взгляд он будет выглядеть как обычный блок, содержащий 8893 транзакции.

3112202503.png

Источник: etherscan.io

Однако в приближении становится понятно: эти записи не являются транзакциями в классическом смысле протокола Эфириума. Они не были отправлены с аккаунтов, не подписывались приватными (закрытыми) ключами, не потребляли газ и не исполнялись в виртуальной машине Ethereum (EVM). Фактически это не транзакции, а прямые записи о состоянии сети, введенные еще до ее запуска.

Связано это с тем, что во время ICO (Initial Coin Offering, первичное предложение монет), участники отправляли биткоины на отдельный адрес, чтобы взамен получить определенное количество ETH при старте сети. Именно это и произошло при создании генезис-блока. Все начальные балансы были зафиксированы в специальном конфигурационном файле genesis.json. Файл содержал полный список адресов и соответствующих им балансов и использовался каждым узлом сети для формирования начального состояния блокчейна.

Etherscan отображает эти записи как транзакции исключительно для удобства анализа и визуализации. На уровне протокола никакой обработки, исполнения кода или проверки подписей не происходило. Генезис-блок Эфириума представляет собой единый согласованный снимок начального состояния сети — своего рода «нулевое состояние», принятое всеми участниками.

Вывод

Генезис-блок является исходной точкой любой блокчейн-сети и задает ее начальное состояние, включая, при необходимости, распределение криптоактива. Он служит криптографическим якорем, относительно которого проверяется корректность всех последующих блоков.


Калькулятор майнинга
BitsMedia YouTube