比特幣挖礦的難點是什麼?


挖礦難度是一種衡量標準,它告訴我們在比特幣區塊鍊或任何加密貨幣上挖礦一個區塊有多困難。

高難度意味著在驗證添加到鏈中的新塊時需要更大的計算潛力。通過稱為挖礦的過程實現的東西。

比特幣和其他加密貨幣賦予此參數的用途是在散列能力增加的同時保持連續創建的塊的平均值。

挖礦的難度對於加密貨幣很重要,因為高難度有助於保護區塊鏈免受惡意人員的攻擊。

但是,如果我們不了解挖礦的基礎知識,那麼所有這些概念都會有點難以理解。

這就是為什麼我準備了一系列要點來向你介紹這些主題,以便在我們擴展比特幣挖礦難度的定義時,你可以輕鬆理解它。

挖礦是如何工作的?

比特幣網絡有幾個稱為礦工的專門節點,它們擁有能夠解決相當困難的加密貨幣難題所需的硬件。

如果他們能夠實現這一點,那麼他們將有機會向鏈中添加一個新塊,並以BTC 的形式作為回報獲得獎勵。不錯,你會想,但這一切都帶來了困難。

該過程如下:

礦工從內存礦池中選擇一系列等待批准的交易並將它們轉換為哈希值。然後它填充區塊的頭部,在那裡找到所有交易的散列,並通過散列函數傳遞它。這將其與確定整個過程的難度的目標哈希值進行比較。如果找到的哈希值小於目標,則該塊已被驗證,否則進入下一步。在標頭內部有一個稱為隨機數的參數,它具有單一功能:進行修改,以便每次標頭的散列都不同。現在返回第3 步並重複,直到找到正確的隨機數。

如果你想了解有關比特幣挖礦的更多信息,請閱讀此內容。

什麼決定了比特幣的難度?為什麼會增加?

為了保持網絡的完整性,需要修改礦工在大約10 分鐘內找到區塊的難度。這很重要,因為它可以控制新BTC 的發行速度。

為了讓礦工每10 分鐘獲得一次作為獎勵而產生的新比特幣,比特幣協議有兩個工具:

當礦工更容易開採時,增加網絡的難度。當礦工挖礦變得更加困難時,降低網絡的難度。

網絡在特定時間有一個普遍的困難,所有礦工如果希望他們的區塊有效,就必須遇到這個困難。

了解使用工作量證明共識方法的網絡健康狀況的一個重要指標是其哈希率。

該測量值告訴我們礦工擁有多少計算能力,即他們每秒能夠生成多少哈希值。

算力越高,可以說比特幣區塊鏈越安全。雖然它也變得更快。

這就是為什麼網絡需要一種方法來抵消總哈希率的增加,以便新塊的生產保持一致。

之所以探索這一點,是因為從長遠來看,當哈希率增加時,難度也會增加,從而使礦工更難找到滿足先前所見要求的新區塊。

但是,當哈希率因任何原因下跌時,也會發生相反的效果。他們之中有一些是:

挖礦難度太高,礦工難以適應。 BTC 的價格下跌導致許多礦工停止工作。

比特幣挖礦難度K線走勢圖

我們可以在上圖中看到它,它衡量了比特幣網絡的難度。那是在2021 年年中,當比特幣的價格從超過60,000 美元跌至30,000 美元時,困難也突然出現了。

難度是如何計算的?

比特幣網絡難度目標用於確保以每10 分鐘1 個區塊的平均速度挖礦(即添加到比特幣區塊鏈)新的比特幣交易區塊。

對於網絡的每個完整節點,每2,016 個區塊自動重新計算和調整難度目標(視情況而定)。

難度目標的設定是通過一方面比較挖礦2,016 個區塊所花費的時間,另一方面,根據所需的10 分鐘間隔挖礦2,016 個區塊所花費的時間,即, 20,160 分鐘(10 分鐘x 2,016 個塊)。

用於挖礦前2,016 個區塊的時間是根據礦工在每個交易區塊頭中包含的時間戳確定的。

時間戳採用Unix 格式,表示開採區塊的大致創建時間,以自1970 年1 月1 日午夜(UTC) 以來經過的秒數表示。

如果挖礦2,016 個區塊所花費的時間大於所需的20,160 分鐘,則挖礦難度降低,這意味著難度目標增加。

如果挖出2,016 個區塊所花費的時間少於所需的20,160 分鐘,則挖礦難度增加,這意味著難度目標將降低。

另據了解,難度目標設置與比特幣網絡正在處理的交易量或價值無關。

難度的變化可以用下面的公式來描述:

新挖礦難度= 之前挖礦難度*(2016 年最後一個區塊的挖礦時間/ 20,160 分鐘)

調整難度的機制的一個有趣的細節是它不能被調整大於4 的因子。如果網絡的哈希率變化使得需要修正超過4 的因子與相關當前的挖礦難度,將應用最大係數4。

任何其他調整都將在下一個或多個重置點進行,視情況而定。

在這方面值得一提的旁注是,在核心比特幣客戶端的原始實現中包含一個明顯的錯誤,導致2016 區塊難度計算基於,而不是挖礦時間。之前的2,016 個區塊,而是之前的2,015 個區塊.

難度福利

許多人問的一個問題是,為什麼網絡的參與者會試圖增加尋找新區塊的難度?

這是一個為了獲得比特幣而一遍又一遍地重複的動作,如果難度不變,這可能會變得更容易。

但是難度變化有兩個非常重要的好處,它們是:

1. 穩定的新區塊速度

在中本聰撰寫的比特幣白皮書中,他解釋了工作量證明中的困難如何有助於穩定生產添加到鏈中的新塊:

為了補償硬件速度的提高和運行中節點隨時間變化的興趣,工作量證明的難度由指向每小時平均塊數的移動平均值決定。如果它們生成得太快,難度就會增加。

中本聰

比特幣的設計使新區塊平均每10 分鐘出現一次。儘管其他加密貨幣選擇了不同的值,例如萊特幣,它是2.5 分鐘。

問題在於,從長期來看,網絡中的計算能力可能會隨著時間的推移而發生巨大變化,即使在短期內也是如此。

當中本聰挖礦第一個區塊時,網絡上只有一台計算機,可能是台式機或筆記本電腦。

目前,有許多擁有ASIC 設備的挖礦中心,其功率是任何家用計算機的數倍。這些ASIC 礦機是專門設計用於盡可能快地獲取哈希值的機器,從而實現每秒數百萬個哈希值。

為了確保網絡在既定的平均值內產生新塊,軟件有必要自動向上或向下調整目標哈希,分別使挖礦更容易或更困難。

如果你想知道中本聰挖礦創世塊時的難度是什麼,它是1。

2. 提高安全性

加密貨幣網絡中存在的總算力為不良行為者提供了一種機制,如果他們想要完全控制,就需要超過這個值。

當難度增加時,這意味著總算力也增加了。是什麼導致攻擊者現在變得更困難,也更昂貴。

這種類型的攻擊被稱為“51% 攻擊”,對於今天的比特幣來說,這幾乎是不可能的。儘管對於其他較小的加密貨幣不能說同樣的話。

為什麼修改為獲得10分鐘?

這段時間被認為是比特幣的發明者中本聰(中本聰) 故意選擇的,作為網絡速度和所達到的穩定性之間的折衷。

網速

一方面,平均10 分鐘可確保區塊內的比特幣交易得到相對較快的確認。

如果我們想使用這種加密貨幣進行支付,這有利於比特幣的可用性。

網絡穩定性

另一方面,平均10 分鐘可以最大限度地減少同時開採2 個或更多區塊的可能性。

這種情況可能發生在兩個礦工相隔幾秒鐘找到一個有效塊時,然後他們都意識到另一個也已經實現了。

比特幣網絡的規模如此之大,以至於在新開采的區塊傳播到整個網絡之前可能需要很短的時間。

因此,即使另一個已開采的區塊已經被廣播到比特幣網絡,但尚未被最新區塊的礦工接收到,也完全有可能挖礦出一個新區塊。

在這種情況下,比特幣網絡的節點(通常稱為“分叉”)之間將臨時存在兩個不同版本的比特幣區塊鏈,直到節點最終恢復到被認為是比特幣主鏈的單鏈,即包含最大數量的塊,因此顯示了最多的工作量證明。

通過確保新開采的區塊之間平均有足夠的時間(10 分鐘),可以降低發生分叉的風險,但並未完全排除。

概括

挖礦難度是衡量在特定加密貨幣中挖礦區塊的難度的指標。如果難度高,則意味著需要更大的計算能力來驗證區塊鏈中生成的交易。創建區塊越困難,該加密貨幣的安全性就越重要,以保護自己免受尋求控制它的攻擊者的侵害。結論

挖礦難度取決於難度目標,即比特幣網絡的算力能夠平均在10分鐘內解決工作量證明算法的難度。

它根據挖礦前2,016 個區塊所花費的時間,每2,016 個區塊自動調整一次。認為10 分鐘平均出塊間隔是有意選擇的,作為比特幣網絡速度和比特幣網絡穩定性之間的折衷。

資訊來源:由0x資訊編譯自CRIPTOTARIO。版權歸作者Criptotario所有,未經許可,不得轉載

Total
0
Shares
Related Posts