在本節中,我們將了解SHA-256如何應用於在區塊鏈中構建塊。在位元幣區塊鏈的背景下進行具體討論,並了解它如何與礦工的角色聯絡起來。minor 實際上正處於構建塊的過程中,這些塊新增到區塊鏈中以構建位元幣區塊鏈的內容。
在下圖中,可以看到此塊由塊編號,資料欄位,與其關聯的加密雜湊和Nonce組成。
在上圖中,生成的雜湊看起來像:00001acbm010gfh1010xxx
。這個雜湊有四個前導零。四個前導零描述塊是否有效。出於實際目的,您將看到此雜湊對應於nonce
,並且塊編號對應於我們的資料。因為Hash有四個前導零,所以它是一個有效的塊。
如果在資料部分進行任何更改,它將提供完全不同的Hash,可以在下面的影象中顯示。
如果新生成的雜湊沒有四個前導零,那麼它將不是有效的塊。為了使塊有效,我們將使用名為Nonce
的欄位來完成。
Nonce
代表加密通訊中的數位只用一次(Number Used Once),使得塊的雜湊符合特定標準。可以生成該標準,該雜湊必須使其前四位數為零。因此,生成的雜湊看起來像00001acbm010gfh1010xxx
。
nonce
基本上是一個亂數,它可以確定如何使這個特定的塊為您提供有效的雜湊值。可以通過手動更改亂數來實現此目的。通常,礦工以Nonce
值1
開始並繼續遞增,直到生成的雜湊符合指定的標準。因此,可能需要多次迭代,直到生成具有四個前導零的所需雜湊。在位元幣系統中生成塊的預期時間是10分鐘。一旦礦工成功地挖掘了該區塊,就會在系統中釋放它,使其成為鏈條中的最後一個區塊。
在Anders Brownworth雜湊程式中,當點選影象中所示的mine按鈕時,它將給出有效的塊。這個塊有一個唯一的nonce,雜湊在開頭有四個零。