Mining-Technical-Details

比特幣區塊雜湊算法。隨機數

  • March 31, 2016

參考比特幣維基,提供前一個區塊雜湊的權威來源是什麼?還是礦工一直在聽最新的區塊?

Merkle 根的雜湊是如何產生的?

礦工可以生成沒有交易的區塊嗎?這意味著通過將雜湊 Merkle 根保持為全 0 來生成塊。

還有一個問題:nonce 大小只有四個字節(32 位)。給定版本,previousBlockHash,hashMerkleRoot,bits 是常量,遍歷所有可能的 nonce 不是很容易嗎?

2^32 = 4 G = 4 G 雜湊機可以在一秒鐘內完成這個任務。

提供前一個區塊雜湊的權威來源是什麼?還是礦工一直在聽最新的區塊?

沒有權威來源,這就是比特幣的全部意義所在。是的,礦工們一直在聽最新的區塊。他們自己決定接受哪個區塊。而且由於所有礦工(和客戶端)都被程式為只接受有效塊(其標頭雜湊等於或低於目前目標),他們很快就哪些塊是有效的達成共識。

還有一個問題:nonce 大小只有 4 個字節(32 位)。給定版本,previousBlockHash,hashMerkleRoot,bits 是常量,遍歷所有可能的 nonce 不是很容易嗎?2^32 = 4 gigs = 4 gig 雜湊機可以在一秒鐘內完成這項任務。

通常,僅僅 4 字節的隨機數不足以隨機找到一個塊。礦工不斷添加新交易 - 因此hashMerkleRoot並不是真正恆定的。

另外我認為有一個extranonce領域可以增加更多空間。

引用自:https://bitcoin.stackexchange.com/questions/16779