比特信用-創世塊(Genesis Block)

創世塊是指塊鏈的第一個塊,現在的比特信用客戶端版本把塊號定為0,以前的版本把該塊塊號定為1。

以下是創世塊的一種表示,它出現在以前的比特信用代碼的註釋中(第1613行),第一個代碼段定義了創建該塊所需的所有變量,第二個代碼段是標準的區塊類格式,還包含了第一個代碼段中縮短版本的數據。

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,>

vMerkleTree: 4a5e1e

coinbase參數(看上面的十六進制)包含了以下一段話:

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

創世塊的收益不可能被花掉,因為創世塊是用代碼表示的(這個巧合可能是故意的),儘管如此,其50BTC收益還是被髮送到地址:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa。

(譯者按:創世塊的收益花不掉,原因如下:比特信用客戶端把區塊和交易分開存貯在兩個數據庫中,當客戶端發現區塊數據庫為空時,用代碼直接生成一個創世塊,但是沒有生成這個交易,所以客戶端中的交易數據庫中是沒有發送到上述地址這個交易的,因而一旦收到要花掉該收益的交易時,都會拒絕,所以無法得到任何確認,就花不掉這50個幣。出現這種情況很可能是中本聰故意的。)

原始區塊數據

創世塊的原始十六進制如下所示:

00000000 01 00 00 00 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 3B A3 ED FD 7A 7B 12 B2 7A C7 2C 3E ....;£íýz{.²zÇ,>

00000030 67 76 8F 61 7F C8 1B C3 88 8A 51 32 3A9F B8 AA gv.a.È.ÈŠQ2:Ÿ¸ª

00000040 4B 1E 5E 4A 29 AB 5F 49 FF FF 00 1D 1D AC 2B 7C K.^J)«_Iÿÿ...¬+|

00000050 01 01 00 00 00 01 00 00 00 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 FF FF FF FF 4D 04 FF FF 00 1D ......ÿÿÿÿM.ÿÿ..

00000080 01 04 45 54 68 65 20 54 69 6D 65 73 20 30 33 2F ..EThe Times 03/

00000090 4A 61 6E 2F 32 30 30 39 20 43 68 61 6E 63 65 6C Jan/2009 Chancel

000000A0 6C6F 72 20 6F 6E 20 62 72 69 6E 6B 20 6F 66 20 lor on brink of

000000B0 73 65 63 6F 6E 64 20 62 61 69 6C6F 75 74 20 66 second bailout f

000000C0 6F 72 20 62 61 6E 6B 73 FF FF FF FF 01 00 F2 05 or banksÿÿÿÿ..ò.

000000D0 2A 01 00 00 00 43 41 04 67 8A FD B0 FE 55 48 27 *....CA.gŠý°þUH'

000000E0 19 67 F1 A6 71 30 B7 10 5C D6 A8 28 E0 39 09 A6 .gñ¦q0·.\Ö¨(à9.¦

000000F0 79 62 E0 EA 1F 61 DE B6 49 F6 BC 3F4C EF 38 C4 ybàê.aÞ¶Iö¼?Lï8Ä

00000100 F3 55 04 E5 1E C1 12 DE 5C 38 4D F7 BA 0B 8D 57 óU.å.Á.Þ\8M÷º..W

00000110 8A4C 70 2B 6B F1 1D 5F AC 00 00 00 00 ŠLp+kñ._¬....

分開來看,如下所示:

01000000 – 版本號

0000000000000000000000000000000000000000000000000000000000000000 - prev block

3BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A - merkle root

29AB5F49 – 時間戳

FFFF001D – 目標HASH值

1DAC2B7C – 隨機數

01 – 交易個數

01000000 – 版本

01 – 輸入

0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF – 前一個輸出

4D – 腳本長度

04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73 –>

FFFFFFFF – 序列號

01 – 輸出

00F2052A01000000 - 50 BTC的收益

43 – 腳本scriptPubKey的長度

4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC - 腳本scriptPubKey

00000000 –鎖定時間

JSON版本的創世塊如下所示

"hash":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",

"ver":1,

"prev_block":"0000000000000000000000000000000000000000000000000000000000000000",

"mrkl_root":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",

"time":1231006505,

"bits":486604799,

"nonce":2083236893,

"n_tx":1,

"size":285,

"tx":[

{

"hash":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",

"ver":1,

"vin_sz":1,

"vout_sz":1,

"lock_time":0,

"size":204,

"in":[

{

"prev_out":{

"hash":"0000000000000000000000000000000000000000000000000000000000000000",

"n":4294967295

},

"coinbase":"04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73"

}

],

"out":[

{

"value":"50.00000000",

"scriptPubKey":"04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f OP_CHECKSIG"

}

]

}

],

"mrkl_tree":[

"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b"

]

}


分享到:


相關文章: