反之,如果找到區塊所需時間過長,難度就會降低,從而提高目標。此目標是會定期重設的數字。若要成功挖出一個區塊,礦工必須找到一個低於此數字的雜湊值。
我們可以在此使用一個簡單的例子。假設我們有「binance」這個詞,並且想要產生一個 SHA256 雜湊,其輸出數值低於某個特定目標;該目標大致對應於其十六進位形式中以一定數量的零開頭的雜湊。
在真實的挖礦中,礦工會嘗試找到一個低於目標數字的雜湊值;該目標是一個以 256 位元格式表示的極大數字。我們可以透過反覆在「binance」後面加上數字 (例如「binance1」、「binance2」、「binance3」) 並進行雜湊運算,直到得到符合簡化標準 (例如開頭以零作為前導) 的雜湊輸出為止來說明這一點。
這應該能讓您了解挖礦的運作方式;不同之處在於,礦工嘗試找到一個落在目標值以下的數字。目標值越低,就越難找到解答,這也是為什麼比特幣會消耗如此大量的算力。礦工會反覆對相同資訊的變體進行雜湊,以找到有效的雜湊值。
比特幣大約每 2016 個區塊 (約每兩週) 調整一次挖礦難度,以維持平均 10 分鐘的出塊時間。此調整取決於挖出前 2016 個區塊所花費的時間。如果區塊挖出速度比預期快,難度就會提高,使挖礦更困難;如果比預期慢,則難度就會降低,使挖礦更容易。
挖礦已成為由配備專業設備的大型礦場主導的工業級活動,反映出網路的競爭性以及不斷提高的難度。