Blockchain

比特幣挖礦難度是什麼意思?

  • March 9, 2022

我是比特幣和區塊鏈技術的初學者,所以在閱讀了比特幣挖礦的難度後,我有一個問題:

困難實際上是什麼意思?

我讀到了

高難度意味著探勘相同數量的塊需要更多的計算能力,使網路更安全地抵禦攻擊

不過,我不是很清楚。

例:當難度為6時,我能從那個數字知道什麼?

假設我給了你一個非常複雜的函式f(),並且我分配給你一個任務,就是找到一個n屬性f(n)很小的輸入。這可能很困難。我可以通過更改“小”的定義來使其變得更加困難。如果我要求你找到一個n這樣的f(n)< 100,那很難。如果我要求你找到一個n這樣的f(n)< 90,那就更難了。

一旦你編譯了一個塊,你就會遇到一個函式f()。該函式本身既取決於您剛剛編譯的塊,也取決於某人為與前一個塊相關的問題找到的解決方案。成功探勘該區塊意味著找到一個n很小f(n)的區塊。任何人都知道解決這個問題的唯一方法是反複試驗。

“小”的定義會定期調整。“小”的定義就是人們所說的“困難”。

我是比特幣的初學者

因此,這個答案將是一個廣泛的概述和簡化。

困難實際上是什麼意思?

要了解比特幣的難度數字,你必須了解它的目的,而不僅僅是它的數學原理。

要了解難度數字的用途,首先需要了解挖礦和時間戳的作用。

比特幣是數字現金,沒有有形硬幣。通過記錄交易來跟踪比特幣資金。交易是對某些金額的控制權的轉移。例如,如果您給某人10000 BTC 購買兩個 Pizzas,那麼該交易所的比特幣部分就是比特幣交易。

顯然,已經花掉的人不能再花掉,這很重要。為了防止這種情況,每個人都必須知道已經發生了哪些交易以及以什麼順序發生。

順序很重要,因此您可以決定兩個支出中的哪一個是有效的。

例如,喬有 10 個比特幣

Monday,  Joe gives Sue the 10 BTC 
Tuesday, Joe gives Bob the 10 BTC

不同於

Monday,  Joe gives Bob the 10 BTC
Tuesday, Joe gives Sue the 10 BTC 

我們需要知道哪些交易被接受,哪些交易是欺詐性的,應該被拒絕。這對 Sue 和 Bob 很重要。這些時間戳(星期一、星期二)使我們能夠做到這一點。這必須在全球範圍內發揮作用,以便亞特蘭大和奧克蘭的節點達成一致。

在比特幣中,是礦工將交易添加到區塊中並將區塊添加到區塊鏈中。區塊鏈就像交易的會計日誌,而區塊就像該日誌中的頁面。

因此,礦工通過給區塊加時間戳(並通過有效地對頁面編號)來對交易進行排序。

添加新區塊也是創造新數量比特幣的方式。您可以將其視為正在創建的新比特幣“硬幣”。這筆錢是作為對礦工的獎勵而創造的。

比特幣的設計者希望每十分鐘編寫一個新頁面。匯率很重要,因為它會影響貨幣的通貨膨脹。費率還必須足夠快,以便收件人可以快速看到他們已收到付款。速率必須足夠慢,以使每個節點都能跟上接收和檢查新頁面(新塊)的速度。

然而,產生一個新區塊可能是一件微不足道的工作,所以貪婪的人可能每秒挖出 1000000 個區塊來獲取所有的挖礦獎勵。他們很快就會帶著巨額資金逃跑。因此,採礦變得困難。

它需要有多困難取決於所有礦工在任何時候都有多少計算能力。如果有更多的礦工擁有更好的電腦,我們需要增加挖礦的難度,使他們平均每 10 分鐘不能產生超過一個區塊。

難度數是目標數的倒數,難度越高對應的目標越小。

礦工建構一個區塊(交易日誌中的一個頁面),然後計算該區塊的雜湊值。此雜湊是一個非常大的數字,必須小於目前目標數字。

大約每兩週,所有比特幣節點(錢包、礦工等)都會根據過去兩週區塊之間的平均時間重新計算難度。如果平均小於10分鐘,難度按比例增加;如果更多,則減少。從那時起,節點拒絕來自礦工的任何雜湊值不小於新目標的塊。

這可以防止雙重支出,並確保富有的礦工無法接管採礦並進行欺詐。

當難度為6時,我能從那個數字中知道什麼?

你可以計算目標。您可以看到新塊的雜湊值小於該目標。

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