Difficulty
難度如何計算?
誰能用簡單的英語解釋一下難度是如何計算的。我有一個非常粗略的理解,它是根據特定時間段內所有比特幣社區的雜湊算力計算得出的。但這是非常模糊的。
我也知道它可以非常迅速地改變。只能增加嗎?有什麼公式可以計算或預測嗎?
感謝您的詳細回答,Meni Rosenfeld。只是為了確保我做對了一切。我一直在總結,它需要生成最後的 2016 塊。然後應用公式。
比特幣難度從 1 開始(並且永遠不會低於該值)。然後對於每找到 2016 個塊,比較塊的時間戳,找出找到 2016 個塊需要多少時間,稱之為 T。我們希望 2016 個塊需要 2 週,所以如果 T 不同,我們相乘難度(2 週/T) - 這樣,如果雜湊率繼續保持原樣,現在需要 2 週時間才能找到 2016 個區塊。
例如,如果只用了 10 天,則意味著難度太低,因此將增加 40%。
難度可能會增加或減少,具體取決於找到 2016 塊的時間是少於還是多於 2 週。一般來說,網路算力下降後難度會降低。
如果修正係數大於 4(或小於 1/4),則改用 4 或 1/4,以防止變化過於突然。
實現中存在一個錯誤,因此計算是基於找到最後一個 2015 塊的時間而不是 2016 年。修復它需要硬分叉,因此暫時推遲。
根據找到最近區塊的時間,可以粗略估計下一次難度變化。沒有人可以可靠地對未來的困難做出長期預測,但任何人都可以根據匯率趨勢、摩爾定律和其他硬體進步自由推測。