Mining-Theory

隨機數和難度如何關聯?

  • February 16, 2018

早上好,

我正在閱讀有關區塊鏈技術的資訊,但我有幾個關於 nonce 的問題,我找不到答案。我希望這裡有人能夠回答他們。

i) 為了調整可用計算能力的水平,nonce 的難度如何變化?檢查這是否應該發生以及如何發生的機制是什麼?

ii) 什麼是阻止精通程式碼的礦工將其生成的隨機數的難度更改為簡單的東西,以便他們將塊放入區塊鏈並贏得開采的硬幣?

我發現這個話題非常吸引人,所以你們可以提供的任何幫助總是非常感謝。

比特幣的難度通過要求比特幣塊頭的雜湊值在數值上低於某個目標來表示。這個難度目標每 2016 個區塊重置一次,最多向上或向下四倍。因此,難度調整為最後 2016 個區塊中可用的平均雜湊率將需要大約 14 天來探勘 2016 個區塊。例如,如果 2016 年的區塊需要 10 天而不是 14 天,難度將增加 1.4 倍。

nonce 是一種快速迭代同一塊模板的許多候選塊的方法,而 extra-nonce 是一種快速對塊模板進行輕微更改的方法。每次對一個新的候選塊進行散列,結果是完全不可預測的,因此最終一個候選塊將滿足難度要求。發生這種情況時,成功的礦工將新區塊廣播到網路。

但是,網路中的每個其他節點也將確保該塊實際上是有效的。這包括從標頭測試塊雜湊的有效性,以及檢查每筆交易。因此,以較低難度挖礦的礦工可能會簡單地廣播一個不滿足難度要求的區塊,因此將被所有其他網路參與者拒絕。

Nonce 不是基於難度的,塊的雜湊是基於難度的。首先,礦工對區塊進行雜湊處理並檢查區塊是否被解決。如果不是,則增加 Nonce。如果 Nonce 溢出(它經常發生),那麼交易的 extraNonce 部分會增加,再次更改 Merkle Root 和塊雜湊,因此礦工繼續並再次循環 Nonce 值。

這裡有一些資訊

沒有什麼可以阻止礦工在本地改變其正在探勘的區塊的難度,但這樣的區塊根本不會被其他比特幣節點接受。

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