Difference between revisions of "Genesis block"

From Bitcoin Wiki
Jump to: navigation, search
(Added raw hex dump)
(Raw block data)
Line 35: Line 35:
  
 
The [https://bitcointalk.org/index.php?topic=52706 raw hex version] of the Genesis block looks like:
 
The [https://bitcointalk.org/index.php?topic=52706 raw hex version] of the Genesis block looks like:
 
+
00000000  01 00 00 01 00 00 00 00  00 00 00 00 00 00 00 00  ................
   0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A29AB5F49FFFF001D1DAC2B7C0101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000
+
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
 +
00000020  00 00 00 00 00 00 00 3B  A3 ED FD 7A 7B 12 B2 7A  .......;£íýz{.²z
 +
00000030  C7 2C 3E 67 76 8F 61 7F  C8 1B C3 88 8A 51 32 3A  Ç,>gv.a.È.ÈŠQ2:
 +
00000040  9F B8 AA 4B 1E 5E 4A 29  AB 5F 49 FF FF 00 1D 1D  Ÿ¸ªK.^J)«_Iÿÿ...
 +
00000050  AC 2B 7C 01 01 00 00 00  01 00 00 00 00 00 00 00  ¬+|.............
 +
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
 +
00000070  00 00 00 00 00 00 00 00  00 FF FF FF FF 4D 04 FF  .........ÿÿÿÿM.ÿ
 +
00000080  FF 00 1D 01 04 45 54 68  65 20 54 69 6D 65 73 20  ÿ....EThe Times
 +
00000090  30 33 2F 4A 61 6E 2F 32  30 30 39 20 43 68 61 6E  03/Jan/2009 Chan
 +
000000A0  63 65 6C 6C 6F 72 20 6F  6E 20 62 72 69 6E 6B 20  cellor on brink
 +
000000B0  6F 66 20 73 65 63 6F 6E  64 20 62 61 69 6C 6F 75  of second bailou
 +
000000C0  74 20 66 6F 72 20 62 61  6E 6B 73 FF FF FF FF 01  t for banksÿÿÿÿ.
 +
000000D0  00 F2 05 2A 01 00 00 00  43 41 04 67 8A FD B0 FE  .ò.*....CA.gŠý°þ
 +
000000E0  55 48 27 19 67 F1 A6 71  30 B7 10 5C D6 A8 28 E0  UH'.gñ¦q0·.\Ö¨(à
 +
000000F0  39 09 A6 79 62 E0 EA 1F  61 DE B6 49 F6 BC 3F 4C  9.¦ybàê.aÞ¶Iö¼?L
 +
00000100  EF 38 C4 F3 55 04 E5 1E  C1 12 DE 5C 38 4D F7 BA  ï8ÄóU.å.Á.Þ\8M÷º
 +
00000110  0B 8D 57 8A 4C 70 2B 6B  F1 1D 5F AC 00 00 00 00   ..WŠLp+kñ._¬....
  
 
Broken down it looks like this:
 
Broken down it looks like this:
Line 58: Line 74:
 
  4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC - pk_script
 
  4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC - pk_script
 
  00000000 - lock time
 
  00000000 - lock time
 +
 
==Notes==
 
==Notes==
 
<references/>
 
<references/>

Revision as of 23:33, 29 November 2011

Hashbtc.jpgThis page is a stub. Help by expanding it.

A genesis block is the first block of a block chain. Modern versions of Bitcoin assign it block number 0, though older versions gave it number 1.

Main network genesis block

The block on Bitcoin Block Explorer

Here is a representation of the genesis block as it appeared in a comment in an old version of Bitcoin (line 1613). The first section defines exactly all of the variables necessary to recreate the block. The second section is the block in standard printblock format, which contains shortened versions of the data in the first section.

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

The coinbase parameter (seen above in hex) contains, along with the normal data, the following text[1]:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

This was probably intended as proof that the block was created on or after January 3rd, 2009, as well as a comment on the instability caused by fractional-reserve banking.

The first 50BTC block reward went to address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa and has yet to be spent (2011-03-04).

Raw block data

The raw hex version of the Genesis block looks like:

00000000   01 00 00 01 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000010   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000020   00 00 00 00 00 00 00 3B  A3 ED FD 7A 7B 12 B2 7A   .......;£íýz{.²z
00000030   C7 2C 3E 67 76 8F 61 7F  C8 1B C3 88 8A 51 32 3A   Ç,>gv.a.È.ÈŠQ2:
00000040   9F B8 AA 4B 1E 5E 4A 29  AB 5F 49 FF FF 00 1D 1D   Ÿ¸ªK.^J)«_Iÿÿ...
00000050   AC 2B 7C 01 01 00 00 00  01 00 00 00 00 00 00 00   ¬+|.............
00000060   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00000070   00 00 00 00 00 00 00 00  00 FF FF FF FF 4D 04 FF   .........ÿÿÿÿM.ÿ
00000080   FF 00 1D 01 04 45 54 68  65 20 54 69 6D 65 73 20   ÿ....EThe Times 
00000090   30 33 2F 4A 61 6E 2F 32  30 30 39 20 43 68 61 6E   03/Jan/2009 Chan
000000A0   63 65 6C 6C 6F 72 20 6F  6E 20 62 72 69 6E 6B 20   cellor on brink 
000000B0   6F 66 20 73 65 63 6F 6E  64 20 62 61 69 6C 6F 75   of second bailou
000000C0   74 20 66 6F 72 20 62 61  6E 6B 73 FF FF FF FF 01   t for banksÿÿÿÿ.
000000D0   00 F2 05 2A 01 00 00 00  43 41 04 67 8A FD B0 FE   .ò.*....CA.gŠý°þ
000000E0   55 48 27 19 67 F1 A6 71  30 B7 10 5C D6 A8 28 E0   UH'.gñ¦q0·.\Ö¨(à
000000F0   39 09 A6 79 62 E0 EA 1F  61 DE B6 49 F6 BC 3F 4C   9.¦ybàê.aÞ¶Iö¼?L
00000100   EF 38 C4 F3 55 04 E5 1E  C1 12 DE 5C 38 4D F7 BA   ï8ÄóU.å.Á.Þ\8M÷º
00000110   0B 8D 57 8A 4C 70 2B 6B  F1 1D 5F AC 00 00 00 00   ..WŠLp+kñ._¬....

Broken down it looks like this:

01000000 - version
0000000000000000000000000000000000000000000000000000000000000000 - prev block
3BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A - merkle root
29AB5F49 - timestamp
FFFF001D - bits
1DAC2B7C - nonce
01 - number of transactions
01000000 - version
01 - input
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF - prev output
4D - script length
04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73 - scriptsig
FFFFFFFF - sequence
01 - outputs
00F2052A01000000 - 50 BTC
43 - pk_script length
4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC - pk_script
00000000 - lock time

Notes