Что такое генезис блок?

Блокчейн состоит из цепочки блоков. Каждый его следующий блок ссылается на предыдущий. Блоком генезиса называют самый первый блок в этой цепочки. Еще его часто называют “блоком ноль” или “блоком один”.

В чем его особенность и чем он отличается от остальных блоков в цепочке?

Этот блок не имеет связи с предыдущим блоком, т.к. его, по сути, нет. Обычно этот блок разработчики жестко закодируют в приложении блокчейна. А первые награды за майнинг, который порождают от него дочерние блоки, нельзя потратить.

Еще одна особенность блоков генезиса состоит в том, что они часто содержат уникальную дополнительную информацию, которую в них закладывают разработчики. Например, в первом генезис блоке биткоина содержится фраза “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”, что в переводе означает намек на разыгравшийся в те времена глобальный мировой финансовый кризис и как следствие, ухудшение условий того времени. Данная фраза содержит в себе ссылу на заголовок статьи в газете “The Times” того времени.

Что такое генезис блок?
Тот самый выпуск газеты The Times с загловком из Genesis-блока Bitcoin.

Это и послужило рывком для создания и последующего развития криптовалют. Генезис-блоке биткоина в тот далекий 2009 год содержал 50 BTC.

Что такое генезис блок?
Генезис блок биткоина, 3 января 2009

Пример куска исходного кода биткоина, который отвечает за формирование генезис-блока:

// Genesis Block:
// GetHash()      = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
// hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
// txNew.vin[0].scriptSig     = 486604799 4 0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6C65636E61684320393030322F6E614A2F33302073656D695420656854
// txNew.vout[0].nValue       = 5000000000
// txNew.vout[0].scriptPubKey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG
// block.nVersion = 1
// block.nTime    = 1231006505
// block.nBits    = 0x1d00ffff
// block.nNonce   = 2083236893
// CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
//   CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
//     CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
//     CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
//   vMerkleTree: 4a5e1e

// Genesis block
const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";
CTransaction txNew;
txNew.vin.resize(1);
txNew.vout.resize(1);
txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
txNew.vout[0].nValue = 50 * COIN;
CBigNum bnPubKey;
bnPubKey.SetHex("0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704");
txNew.vout[0].scriptPubKey = CScript() << bnPubKey << OP_CHECKSIG;
CBlock block;
block.vtx.push_back(txNew);
block.hashPrevBlock = 0;
block.hashMerkleRoot = block.BuildMerkleTree();
block.nVersion = 1;
block.nTime    = 1231006505;
block.nBits    = 0x1d00ffff;
block.nNonce   = 2083236893;

Сейчас каждый новый блок биткоина формируется 1 раз в 10 минут. Как думаете, сколько времени прошло между созданием первого генезис блока биткоина и следующего блока, который он породил? – Порядка 6 дней!

Это очень интригует и даже есть гипотезы, объясняющие как такое могло произойти. Согласно одной из них, – до того, как Сатоши Накамото выпустил биткоин публично, 3 января 2009 года он создал генезис блок и затем несколько дней тестировал программное обеспечение. После чего удалил тестовые данные кроме генезиса блока и запустил Блокчейн в основной сети. Теперь мы имеем то, что имеем ;)

Рейтинг
( 3 оценки, среднее 3.67 из 5 )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: