候選區塊
簡而言之,候選區塊是挖礦
節點 (礦工) 試圖挖掘以獲得區塊獎勵的區塊。因此,候選區塊可以被描述為將遭網路驗證或丟棄的暫時區塊。礦工彼此競爭以驗證下一個區塊並將其新增到區塊鏈,但他們必須先創建一個候選區塊才能參與
挖礦比賽。
候選區塊是由礦工從內存池收集和組織多個未確認交易來建立。然後,交易經過雜湊形成一個
雜湊樹結構,最終將產生 Merkle 根 (或根雜湊)。Merkle 根是單一雜湊,代表該樹的所有先前雜湊,因此,代表包含在該特定區塊中的所有交易。
接著,根雜湊 - 與上一個區塊的雜湊和名為
nonce 的隨機數字一起 - 會被放入區塊標題中。然後由礦工對區塊標題進行雜湊,並根據這些組件 (根雜湊、上一個區塊的雜湊和 nonce) 以及其他幾個元素產生輸出內容。產生的輸出內容是區塊雜湊,將作為新生成區塊 (候選區塊) 的唯一標識符。
若要被視為有效,輸出內容 (區塊雜湊) 必須以一定數量的零開始 (小於協定定義的目標值)。這代表挖礦流程以多次嘗試 (試驗和錯誤) 為基礎,因為挖礦節點必須使用不同的 nonce 值執行無數的雜湊函數,直到最終生成有效的區塊雜湊為止。產生的區塊雜湊是證明礦工完成其工作的成果 (因此是
工作證明)。
礦工找到有效區塊雜湊後,他們的候選區塊將被推播到網路的其他節點,進而驗證雜湊的真實性。如果一切順利,候選區塊將被記錄到
區塊鏈。此時,每個驗證節點都會更新其區塊鏈資料副本,以反映最近挖掘的區塊,而礦工將獲得區塊獎勵。