Mining-Theory

為什麼礦工尋找零?

  • November 4, 2021

我試圖了解礦工是如何工作的。

礦工是否真的在尋找許多零,因為如果他們需要找到完整的雜湊,他們將能夠看到交易的內容?除此之外,可能不可能找到完整的雜湊?

如果問題不清楚,請告訴我,提前謝謝:)

雜湊只是一個數字(通常以十六進制編碼)。如果您獲取任意輸入數據並通過雜湊函式執行它,您將取回該數據的“雜湊”。在 SHA256 的情況下,雜湊將是 0 到 2^256 範圍內的某個數字。沒有辦法猜測給定輸入的輸出是什麼,除了執行散列函式來看看會發生什麼。

比特幣礦工正在嘗試創建一個區塊模板,其中包含一個區塊頭,該區塊頭將散列到某個網路定義值(“目標”)之下的數字。實際上,這意味著他們找到的有效雜湊將以一堆零開頭,因為目標是找到小於目標的雜湊輸出。礦工已經知道他們包含在區塊中的交易是有效的,找到有效的雜湊不會改變他們查看或驗證交易的能力。有效的雜湊只是“工作證明”,表明礦工花費了一些能量來創建區塊。

為什麼礦工尋找零?

他們不是。

礦工正在尋找許多零是真的嗎…

不。

…因為如果他們需要找到完整的雜湊…

它與部分或完整的雜湊無關。礦工計算的所有雜湊都是雜湊數據的完整雜湊。

…他們將能夠看到交易的內容?

不,礦工不需要雜湊即可查看交易內容。

除此之外,可能不可能找到完整的雜湊?

不,計算一個完整的雜湊很容易。單個現代硬體設備每秒可以計算 100,000,000,000,000 個完整的雜湊值。

散列是介於 0 和大約 11579208923731619542357098500869123456789012345678901234567890123456789 之間的不可預測的數字,因此大多數散列將是非常非常大的數字,因此很難找到散列在該範圍的一小部分(例如,在 0 到 21 之間)的一組數據


礦工正在使用蠻力試錯法來尋找一組數據,其雜湊值在數值上小於目前網路目標值。

**例如,如果網路目標是 21,那麼 33 的散列將太大,但 17 的散列將是贏家。**在比特幣中,目標數字目前遠大於 21,但比較仍然是數字。

為了找到一組雜湊值小於目標值的數據,他們改變了塊數據的一部分,即 nonce。對於每個變化,他們計算雜湊並查看雜湊是否小於目標。礦工可以更改的其他一些事情也會影響計算的雜湊值。在嘗試了所有可能的 nonce 值之後,礦工不得不求助於改變這些其他東西。

目標是由比特幣規則設定的,這樣平均每十分鐘就會發現一個小於目標的雜湊值。

這是很多工作。雜湊小於目標的數據的排列證明了這項工作已經完成。因此,工作量證明這個片語。

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