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