Hash

每個 nonce 真的有平等的獲勝機會嗎?

  • February 5, 2018

我開始測試這個說法:“每個隨機數都有平等的獲勝機會。

時間演化

因此,我使用 gnuplot 繪製了區塊鏈中所有有效塊的隨機數值與雜湊值:(此外,在最後一個圖中,您可以真正視覺化難度的變化,甚至可以看到難度降低的地方。)
隨機數與雜湊
隨機數與雜湊(累積)
隨機數與雜湊(一次顯示 1,000 個塊)

直方圖

找到的隨機數偏向 0 是有道理的,因為這是一種選擇效應:大多數人都從 0 開始搜尋隨機數,因此首先找到較低的隨機數,即使可能還有更高的隨機數可以產生獲勝塊: 隨機數直方圖

但是,為什麼雜湊以這種方式分佈?: 雜湊分佈

散列和隨機數的二維直方圖(對數色標): 散列和隨機數的二維直方圖

它不是分佈不均的。在上圖中出現這種情況的原因是因為 x 軸以對數單位繪製。以下是它線上性單位中的樣子:

隨機數與雜湊(半對數圖)

正如您所指出的,對數刻度向右傾斜,因為其中的隨機數log(10, nonce) > 9是 3 倍log(10, nonce) < 9

另一個可能使圖表上的隨機數出現偏差的因素是,區塊鏈上的隨機數中的模式並不一定意味著它是由探勘算法中的問題引起的。作為一個簡單的例子,想像一下如果我編寫了一個從不搜尋奇數隨機數的探勘程序。這不會影響其挖礦能力,但查看輸出的人可能會得出結論,奇數隨機數從未產生塊。

作為一個更現實的例子,挖礦客戶花費更多時間搜尋低隨機數範圍而不是高隨機數範圍,這僅僅是因為它們從 0 開始,並重置每個塊。隨著每個挖礦客戶端的算力增加,這種影響會隨著時間的推移變得不那麼明顯。

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