區塊鏈是以數位方式儲存資料的概念。這些資料以塊為單位。這些塊連結在一起並使資料不可變。當資料塊與其他塊連結時,其資料永遠不會再次更改。它可以公開提供給任何想要再次看到它的人,它以新增到區塊鏈的那個序列顯示。沒有人可以在區塊鏈上更改該資訊。
在上一節中,我們已經學習了如何構建塊以及加密雜湊如何與整個過程相關聯。在這裡,您將學習區塊鏈如何將所有這些概念結合使用,以保持完整區塊鏈的完整性。
想象一下如下圖所示的一堆交易資料。
在上面的圖片中,可以看到該塊按時間順序組裝。第一個塊跟隨第二個塊,然後是第三個塊,然後是第四個塊,可以根據需要繼續它。在這裡,有一個塊編號欄位,資料欄位,亂數欄位,雜湊值欄位和前一個欄位。前一個欄位對應於前一個塊的雜湊值欄位。
我們知道區塊鏈中的每個塊都以加密方式係結到下一個塊。在上面的範例中,塊1中的前一個欄位為零,因為塊1沒有先前的雜湊值,因此其值為零。在第二個塊中,會發現前一個欄位中有一個雜湊值,它參照了前一個塊雜湊值。這個過程一直持續到最後一個塊。
現在想象一下,如果任何塊中的資料都被改變了。假設在塊2中已經改變,塊2中的資料現在是不同的,這意味著該塊也獲得了新的簽名。與此新資料集對應的簽名不再連結到其他塊。它只是中斷了第2個塊,因為雜湊不再有效,並且它也會使一直到鏈末尾的每個塊都無效。這向區塊鏈的其他使用者表明塊2中的某些資料已經被改變,並且因為區塊鏈應該是不可變的,它們通過轉回區塊鏈的前一條記錄來拒絕這種改變,所有區塊仍被連結在一起。這是區塊鏈的主要優點。
現在,如果試圖修復它,可以做到的唯一方法就是找出一個可以在上一課中解釋過的亂數。所以只需要一個塊然後嘗試。如果它沒有給出有效的雜湊,那麼嘗試使用兩個,三個,四個,如果它們都不起作用,那麼就簡單地挖掘它。當挖掘一個塊時,系統會發現這是一個有效的雜湊值。它有四個前導零,我們說這是重要的。但正如將注意到的,當嘗試對第二個塊進行雜湊時,此雜湊不會有四個前導零。因此它仍然是一個無效的塊。所以也必須挖掘這個區塊。並且你必須在每個塊一直到鏈的前面這樣做才能解決這裡發生的事情。
理解Hash中四個前導零的重要性
現在我們了解擁有四個前導零的重要性。這四個前導零與難度級別的東西聯絡在一起。難度級別是系結並構建到區塊鏈網路中的,它決定了為塊獲取等效加密雜湊的難度。在這種情況下,該難度級別要求我們的雜湊值小於目標中的雜湊值。
出於這個特定目的,需要一個至少有四個前導零的目標。例如,如果雜湊目標是0000a1b2c3d4e5f6
,則小於或等於此數量的任何雜湊都是有效的塊雜湊。許多雜湊值都滿足這個要求,其中任何一個都是有效的。但是,找到這樣的雜湊是一項艱鉅的任務。雜湊目標越少,找到令人滿意的雜湊就越困難。
隨著新計算機被新增到位元幣網路的更多加密雜湊中,這些難度級別隨著時間的推移而不斷增加。因此,更多的雜湊能力意味著難度水平需要上升。此難度級別每兩周調整一次,以確保實際競爭嘗試解決這些加密問題的計算機大約需要10
分鐘來挖掘新塊。
注意:每
10
分鐘一個塊=每小時6個塊,每天6 x 24
個塊,以及兩週內6 x 24 x 14 = 2016
塊。
例如:如果要找到小於或等於0FFFF
的雜湊值,則有65,536
個選擇。但是,如果要找到小於或等於000FF
的雜湊值,則只有256個選擇。較低的目標數意味著更少的選擇。通常,我們在雜湊中需要更多的前導零,要找到令人滿意的雜湊要困難得多。